summaryrefslogblamecommitdiffstats
path: root/private/utils/ntbackup/inc/osinfo.h
blob: 90a244fd0766322bc82a2b88848505fc50170656 (plain) (tree)




























































































































































                                                                             
/**
Copyright(c) Maynard Electronics, Inc. 1984-89


     Name:         osinfo.h

     Date Updated: $./FDT$ $./FTM$

     Description:  This file contains the OS info structures for all of
          the file systems.

     Location:     


	$Log:   J:/LOGFILES/OSINFO.H_V  $
 * 
 *    Rev 1.15   01 Oct 1993 12:43:16   DON
 * Changed the typedef struct for SMS_OS_INFO
 * 
 *    Rev 1.14   21 Jul 1993 10:27:20   DON
 * Forgot the volume name requires an extra byte for the ':'
 * 
 *    Rev 1.13   16 Jul 1993 08:51:18   DON
 * Removed #ifdef's for SMS
 * 
 *    Rev 1.12   17 May 1993 12:21:30   DON
 * Second checkin for Creator Path updates.  Only MAC isn't working
 * 
 *    Rev 1.11   29 Oct 1992 16:55:24   BARRY
 * Added linkOnly BOOLEAN to NTFS osinfo.
 * 
 *    Rev 1.10   14 Aug 1992 11:42:34   BARRY
 * Changes for MTF 4.0.
 * 
 *    Rev 1.9   23 Jul 1992 10:08:40   STEVEN
 * added short filename to osinfo
 * 
 *    Rev 1.8   08 Jul 1992 15:22:46   BARRY
 * Updated SMS OS info for encapsulated 4.0 support.
 * 
 *    Rev 1.7   28 Feb 1992 13:04:42   STEVEN
 * step one for varible length paths
 * 
 *    Rev 1.6   06 Feb 1992 09:36:22   BARRY
 * Don't need to always include SMSCONST.H and always define SMS os info.
 * 
 *    Rev 1.5   29 Jan 1992 13:44:38   BARRY
 * Added volume name to SMS os info.
 * 
 *    Rev 1.4   12 Dec 1991 16:14:26   BARRY
 * Update SMS OS info structure.
 * 
 *    Rev 1.3   13 Nov 1991 15:29:30   BARRY
 * SMS OS info changes.
 * 
 *    Rev 1.2   31 Oct 1991 16:29:32   BARRY
 * TRICYCLE: Added SMS OS info and LoriB's changes to OS/2 OS info for ACL.
 * 
 *    Rev 1.1   14 Aug 1991 14:20:52   DAVIDH
 * Added proDosInfo to AFP file and directory structure.
 * 
 *    Rev 1.0   09 May 1991 13:31:16   HUNTER
 * Initial revision.

**/
/* $end$ */

#ifndef osinfo_h
#define osinfo_h

typedef struct NOV_FILE_OS_INFO {
     UINT32    ownerID;            /* File owner, default = 0         */
     UINT32    fileAttribs;        /* All attribs in one long word    */
     UINT32    lastModifierID;     /* Bindery ID of last file writer  */
     UINT32    archiverID;         /* Bindery ID of backup operator   */
     UINT16    inheritedRights;    /* Inherited rights, default=ffff  */
} NOV_FILE_OS_INFO, *NOV_FILE_OS_INFO_PTR;


typedef struct NOV_DIR_OS_INFO {
     UINT32    owner_id;           /* Dir owner, default = 0          */
     UINT32    dirAttribs;         /* All attribs in one long word    */
     UINT32    maxSpace;           /* Max dir space, default = 0      */
     UINT16    inheritedRights;    /* Inherited rights, default=ffff  */
} NOV_DIR_OS_INFO, *NOV_DIR_OS_INFO_PTR;


typedef struct AFP_FILE_OS_INFO {
     UINT8     finder[32];         /* Finder info, default=all zeros  */
     CHAR      longName[32];       /* Mac name (Pascal-style string)  */
     UINT32    ownerID;            /* Bindery ID of file owner        */
     UINT32    fileAttribs;        /* All attribs in one long word    */
     CHAR      proDosInfo[6];      /* ProDos info, default=all zeros  */
     UINT32    lastModifierID;     /* Bindery ID of last file writer  */
     UINT32    archiverID;         /* Bindery ID of backup operator   */
     UINT16    inheritedRights;    /* Inherited rights, default=ffff  */
} AFP_FILE_OS_INFO, *AFP_FILE_OS_INFO_PTR;


typedef struct AFP_DIR_OS_INFO {
     UINT8     finder[32];         /* Finder info, default=all zeros  */
     UINT32    ownerID;            /* Bindery ID of directory owner   */
     UINT16    longPath;           /* Mac path                        */
     UINT16    longPathLength;     /* Length of Mac path              */
     CHAR      proDosInfo[6];      /* ProDos info, default=all zeros  */
     UINT32    maxSpace;           /* Max dir space, default = 0      */
     UINT32    dirAttribs;         /* All attribs in one long word    */
     UINT16    inheritedRights;    /* Inherited rights, default=ffff  */
} AFP_DIR_OS_INFO, *AFP_DIR_OS_INFO_PTR;


/* OS2's File system info */
typedef struct OS2_FILE_OS_INFO {
     UINT16    fileAttributes;     /* OS/2 attributes                 */
     UINT32    allocSize;          /* Disk space allocated for file   */
     UINT16    longName;           /* HPFS or other long name         */
     UINT16    longNameLength;     /* Length of above                 */
}OS2_FILE_OS_INFO, *OS2_FILE_OS_INFO_PTR;


typedef struct OS2_DIR_OS_INFO {
     UINT16    dirAttributes;      /* OS/2 attributes                 */
     UINT16    path;               /* HPFS or other long path         */
     UINT16    pathLength;         /* length of above                 */
} OS2_DIR_OS_INFO, *OS2_DIR_OS_INFO_PTR;


/*
 * Info for SMS FDBs and DDBs.
 */
typedef struct _SMS_OS_INFO *SMS_OS_INFO_PTR;
typedef struct _SMS_OS_INFO {
     UINT32    attrib;             /* SMS attributes (can't be mapped)     */
     BOOLEAN   modified;           /* Is the object's modified bit set?    */
     UINT32    creator_name_space; /* SMS value for the creator name space */
                                   /* Novell's imposed max volume length   */
     CHAR      volume[ 17 ];       /* (the extra character is for the ':') */
} SMS_OS_INFO;


/* NT's File system info */
typedef struct NT_FILE_OS_INFO {
     UINT32    file_attributes;
     UINT16    short_name_offset;
     UINT16    short_name_size;
     BOOLEAN   linkOnly;
}NT_FILE_OS_INFO, *NT_FILE_OS_INFO_PTR;


typedef struct NT_DIR_OS_INFO {
     UINT32    dir_attributes ;
} NT_DIR_OS_INFO, *NT_DIR_OS_INFO_PTR;


#endif