mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
149 lines
4.0 KiB
149 lines
4.0 KiB
/** :IH1: Copyright (C) Maynard Electronics, Inc 1984-89
|
|
|
|
:Name: afpcblk.h
|
|
|
|
:Description: This file contains the definition of the Novell
|
|
file and directory control blocks.
|
|
|
|
:Units: Novell < 2.15 File System
|
|
|
|
|
|
$Log: N:/LOGFILES/AFPDBLK.H_V $
|
|
*
|
|
* Rev 1.2 05 Jan 1993 17:41:44 CHUCKB
|
|
* Added some defines per code review.
|
|
*
|
|
* Rev 1.1 28 Aug 1992 16:10:28 BARRY
|
|
* No longer need nov386.h.
|
|
*
|
|
* Rev 1.0 09 May 1991 13:31:00 HUNTER
|
|
* Initial revision.
|
|
|
|
|
|
|
|
**/
|
|
|
|
#ifndef afpdblk_h
|
|
#define afpdblk_h
|
|
|
|
/* miximum Novell string lengths */
|
|
#define AFP_MAX_FSIZE 33
|
|
#define AFP_MAX_FLENGTH 32
|
|
|
|
#define AFP_MAX_SHORT_NAME 16
|
|
#define AFP_MAX_SHORT_PATH 255
|
|
|
|
#define AFP_NET_HAND_SIZE 6
|
|
|
|
#define AFP_READ_ONLY 1
|
|
#define AFP_HIDDEN 2
|
|
#define AFP_SYSTEM 4
|
|
#define AFP_EXECUTE 8
|
|
#define AFP_SUBDIR 0x10
|
|
#define AFP_ARCHIVE 0x20
|
|
#define AFP_SHARE 0x80
|
|
#define AFP_TRANS 0x10
|
|
#define AFP_INDEX 0x20
|
|
#define AFP_IN_USE 0x8000
|
|
#define AFP_EMPTY_DIR 0x8000
|
|
|
|
/* Bit values for the AFP set info bit map */
|
|
#define AFP_SET_ATTRIBUTES 0x0001 /* Set DOS and extended attrs */
|
|
#define AFP_SET_CREATE_DATE 0x0002 /* Set creation date */
|
|
#define AFP_SET_ACCESS_DATE 0x0004 /* Set last access date */
|
|
#define AFP_SET_MODIFY_DATE 0x0008 /* Set modify date and time */
|
|
#define AFP_SET_BACKUP_DATE 0x0010 /* Set archive date and time */
|
|
#define AFP_SET_ALL_INFO 0xffff /* Set all fields */
|
|
|
|
#define CONVERT_DOS_ATTRIB( atrib ) ((UINT32)(attrib) << 16 )
|
|
|
|
/* defines used for FSYS_HAND reserved space */
|
|
#define BIND_CLOSED 0x80
|
|
#define BIND_FILE1 0x01 /* NET$BIND or NET$OBJ */
|
|
#define BIND_FILE2 0x02 /* NET$BVAL or NET$VAL */
|
|
#define BIND_FILE3 0x04 /* NET$PROP */
|
|
#define BIND_ALL_286 0x03
|
|
#define BIND_ALL_386 0x07
|
|
|
|
|
|
typedef struct AFPNOV_COMMON {
|
|
UINT32 search_id ; /* */
|
|
UINT32 entry_id ; /* request */
|
|
CHAR filespec[AFP_MAX_FSIZE];
|
|
|
|
|
|
UINT16 attrib ;
|
|
UINT16 create_date ;
|
|
UINT16 access_date ; /* empty for directories */
|
|
UINT16 modify_date ;
|
|
UINT16 modify_time ;
|
|
UINT16 backup_date ;
|
|
UINT16 backup_time ;
|
|
UINT8 finder_info[32] ;
|
|
UINT8 long_name[AFP_MAX_FSIZE - 1] ;
|
|
UINT32 owner_id ;
|
|
CHAR short_name[15] ;
|
|
|
|
BOOLEAN os_info_complete ;
|
|
UINT16 tape_attribs ;
|
|
|
|
} AFPNOV_COMMON ;
|
|
|
|
typedef struct AFP_FDB {
|
|
UINT8 blk_type ; /* block id = FDB_ID */
|
|
COM_DBLK fs_reserved ;
|
|
|
|
AFPNOV_COMMON com ;
|
|
|
|
UINT32 data_fork_size ;
|
|
UINT32 data_fork_offset;
|
|
UINT32 res_fork_size ;
|
|
UINT32 res_fork_offset ;
|
|
|
|
UINT16 os_name ; /* for backup will be short name */
|
|
|
|
NOVELL_386_FILE info_386 ;
|
|
|
|
} AFP_FDB, *AFP_FDB_PTR ;
|
|
|
|
|
|
typedef struct AFP_DDB {
|
|
UINT8 blk_type ; /* block id = DDB_ID */
|
|
COM_DBLK fs_reserved ;
|
|
|
|
AFPNOV_COMMON com ;
|
|
|
|
UINT16 data_size ;
|
|
UINT32 creat_date ;
|
|
UINT8 max_rights ;
|
|
UINT32 trust_fork_size ;
|
|
UINT32 trust_fork_offset;
|
|
|
|
INT16 path_leng ;
|
|
UINT16 path ; /* short path names \FRED\SUE */
|
|
|
|
UINT16 long_path; /* long name for backup :FRED:SUE */
|
|
INT16 long_path_leng ;
|
|
|
|
UINT16 os_path; /* short name for backup */
|
|
INT16 os_path_leng ;
|
|
|
|
UINT8 trust_fork_format ;
|
|
NOVELL_386_DIR info_386 ;
|
|
|
|
} AFP_DDB, *AFP_DDB_PTR;
|
|
|
|
/*
|
|
Minimal DDB
|
|
*/
|
|
typedef struct AFP_MIN_DDB {
|
|
Q_ELEM q ;
|
|
UINT32 search_id ;
|
|
UINT32 entry_id ;
|
|
CHAR filespec[ AFP_MAX_FSIZE ] ; /* search path */
|
|
CHAR_PTR path; /* path made of short names */
|
|
CHAR_PTR long_path; /* path made from long names */
|
|
} AFP_MIN_DDB, *AFP_MIN_DDB_PTR;
|
|
|
|
#endif
|
|
|