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