1 /* 2 * $Id: win95dos.h,v 1.1.1.2 2002/03/28 00:03:28 andrew_belov Exp $ 3 * --------------------------------------------------------------------------- 4 * Windows 95 DOS gateway definitions. They must be included only if the DOS16 5 * operating mode is used. 6 * 7 */ 8 9 #define CCHMAXPATH_W95 260 /* Maximum long pathname length */ 10 #ifdef MAXPATH 11 #define CCHMAXPATH_DOS MAXPATH /* Maximum DOS pathname length */ 12 #else 13 #define CCHMAXPATH_DOS 80 14 #endif 15 16 /* W95 API functions */ 17 18 #define W95_RESETDRIVE 0x710D 19 #define W95_MKDIR 0x7139 20 #define W95_RMDIR 0x713A 21 #define W95_CHDIR 0x713B 22 #define W95_UNLINK 0x7141 23 #define W95_CHMOD 0x7143 24 #define W95_CWD 0x7147 25 #define W95_FINDFIRST 0x714E 26 #define W95_FINDNEXT 0x714F 27 #define W95_RENAME 0x7156 28 #define W95_TRUENAME 0x7160 29 #define W95_OPEN 0x716C 30 #define W95_GET_VOLUME_INFO 0x71A0 31 #define W95_FINDCLOSE 0x71A1 32 33 /* New subfunctions to control DTA/DTC */ 34 35 #define W95_GET_DTA 0x5704 36 #define W95_SET_DTA 0x5705 37 #define W95_GET_DTC 0x5706 38 #define W95_SET_DTC 0x5707 39 40 /* W95_RESETDRIVE equates */ 41 42 #define W95_FLUSH_BUFFERS 0 43 #define W95_FLUSH_CACHE 1 44 #define W95_REMOUNT 2 45 46 /* W95_CHMOD Subfunction codes */ 47 48 #define W95_GETATTR 0 49 #define W95_SETATTR 1 50 51 /* W95_TRUENAME Subfunction codes */ 52 53 #define W95_CANONICALIZE 0 54 #define W95_GET_SHORTNAME 1 55 #define W95_GET_LONGNAME 2 56 57 /* W95 Wildcard expansion flags */ 58 59 #define W95_WILDCARDS_DISABLED 0 60 #define W95_WILDCARDS_ENABLED 1 61 62 /* Findfirst/findnext formats */ 63 64 #define W95_DT_64BIT 0 65 #define W95_DT_DOS 1 66 #define W95_TRANSLATE_SHORT 0 /* Substitute "_"'s for unconvertable 67 Unicode characters */ 68 #define W95_TRANSLATE_LONG 1 69 70 /* Longname open actions */ 71 72 #define W95_A_EXCL 1 73 #define W95_A_TRUNC 2 74 #define W95_A_CREAT 0x10 75 76 /* W95 findfirst/findnext specialized structure (no 64-bit entries) */ 77 78 struct W95_FFBLK 79 { 80 unsigned long ff_attrib; 81 unsigned long ff_ctime; /* Creation */ 82 unsigned long reserved1; 83 unsigned long ff_atime; /* Last access */ 84 unsigned long reserved2; 85 unsigned long ff_ftime; /* Last modification (as in DOS) */ 86 unsigned long reserved3; 87 unsigned long ff_fsize_m; /* MSDW (not used right now) */ 88 unsigned long ff_fsize; /* LSDW */ 89 char ff_reserved[8]; 90 char ff_longname[CCHMAXPATH_W95]; 91 char ff_name[14]; 92 }; 93 94