/**
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