- Timestamp:
- Nov 9, 2018, 11:41:37 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libc/include/os2ddk/fsd.h
r3508 r3950 89 89 struct sffsi 90 90 { 91 ULONG sfi_mode; 92 USHORT sfi_hVPB; 93 USHORT sfi_ctime; 94 USHORT sfi_cdate; 95 USHORT sfi_atime; 96 USHORT sfi_adate; 97 USHORT sfi_mtime; 98 USHORT sfi_mdate; 99 ULONG sfi_size; 100 ULONG sfi_position; 101 USHORT sfi_UID; 102 USHORT sfi_PID; 103 USHORT sfi_PDB; 104 USHORT sfi_selfsfn; 91 #define SFMODE_OPEN_ACCESS 0x00000007 92 #define SFMODE_OPEN_READONLY 0x00000000 /**< OPEN_ACCESS_READONLY. */ 93 #define SFMODE_OPEN_WRITEONLY 0x00000001 /**< OPEN_ACCESS_WRITEONLY. */ 94 #define SFMODE_OPEN_READWRITE 0x00000002 /**< OPEN_ACCESS_READWRITE. */ 95 #define SFMODE_OPEN_EXEC 0x00000003 /**< Not accessible to userland. */ 96 #define SFMODE_MONITOR 0x00000008 97 #define SFMODE_DENY_MASK 0x00000070 98 #define SFMODE_DENY_COMPAT 0x00000000 99 #define SFMODE_DENY_READWRITE 0x00000010 /**< OPEN_SHARE_DENYREADWRITE. */ 100 #define SFMODE_DENY_WRITE 0x00000020 /**< OPEN_SHARE_DENYWRITE. */ 101 #define SFMODE_DENY_READ 0x00000030 /**< OPEN_SHARE_DENYREAD. */ 102 #define SFMODE_DENY_NONE 0x00000040 /**< OPEN_SHARE_DENYNONE. */ 103 #define SFMODE_NO_INHERIT 0x00000080 /**< OPEN_FLAGS_NOINHERIT. */ 104 #define SFMODE_LOCALITY_MASK 0x00000700 105 #define SFMODE_LOCALITY_UNKNOWN 0x00000000 /**< OPEN_FLAGS_NO_LOCALITY. */ 106 #define SFMODE_LOCALITY_SEQUENTIAL 0x00000100 /**< OPEN_FLAGS_SEQUENTIAL. */ 107 #define SFMODE_LOCALITY_RANDOM 0x00000200 /**< OPEN_FLAGS_RANDOM. */ 108 #define SFMODE_LOCALITY_RANDSEQ 0x00000300 /**< OPEN_FLAGS_RANDOMSEQUENTIAL. */ 109 #define SFMODE_NO_CACHE 0x00001000 /**< OPEN_FLAGS_NO_CACHE */ 110 #define SFMODE_FAIL_ON_ERROR 0x00002000 /**< OPEN_FLAGS_FAIL_ON_ERROR. */ 111 #define SFMODE_WRITE_THROUGH 0x00004000 /**< */ 112 #define SFMODE_FCB 0x00008000 /**< According to sg244643 page 185. */ 113 /* 0x00010000 Device stuff? */ 114 /* 0x00020000 Reserved? */ 115 #define SFMODE_NONSPOOLED 0x00040000 /**< OPEN_FLAGS_NONSPOOLED */ 116 /* 0x00080000 Device/console? */ 117 /* 0x00100000 Device/console? */ 118 /* 0x00200000 Reserved? */ 119 /* 0x00400000 Reserved? */ 120 /* 0x00800000 Reserved? */ 121 /* 0x01000000 Reserved? */ 122 /* 0x02000000 Reserved? */ 123 /* 0x04000000 Reserved? */ 124 #define SFMODE_LARGE_FILE 0x08000000 /**< Opened thru DosOpenL. */ 125 #define SFMODE_DENY_LEGACY 0x10000000 /**< OPEN_SHARE_DENYLEGACY. */ 126 #define SFMODE_RAWIO 0x20000000 127 #define SFMODE_PROTECTED 0x40000000 /**< OPEN_FLAGS_PROTECTED_HANDLE. */ 128 #define SFMODE_DASD 0x80000000 /**< Relocated OPEN_FLAGS_DASD - Probably moved due to SFMODE_FCB. */ 129 ULONG sfi_mode; 130 USHORT sfi_hVPB; 131 FTIME sfi_ctime; 132 FDATE sfi_cdate; 133 FTIME sfi_atime; 134 FDATE sfi_adate; 135 FTIME sfi_mtime; 136 FDATE sfi_mdate; 137 ULONG sfi_size; 138 ULONG sfi_position; 139 USHORT sfi_UID; 140 USHORT sfi_PID; 141 USHORT sfi_PDB; 142 USHORT sfi_selfsfn; 105 143 #define ST_SCREAT 0x01 106 144 #define ST_PCREAT 0x02 … … 109 147 #define ST_SREAD 0x10 110 148 #define ST_PREAD 0x20 111 UCHAR sfi_tstamp;149 UCHAR sfi_tstamp; 112 150 #define STYPE_FILE 0x00 113 151 #define STYPE_DEVICE 0x01 114 152 #define STYPE_NMPIPE 0x02 115 153 #define STYPE_FCB 0x04 116 USHORT sfi_type;117 ULONG sfi_pPVDBFil;118 UCHAR sfi_DOSattr;154 USHORT sfi_type; 155 ULONG sfi_pPVDBFil; 156 UCHAR sfi_DOSattr; 119 157 LONGLONG sfi_sizel; 120 158 LONGLONG sfi_positionl; … … 205 243 /** @name The FS_COMMIT \a type parameter. 206 244 * @{ */ 207 #define FS_COMMIT_ONE 0x0001 208 #define FS_COMMIT_ALL 0x0002 245 #define FS_COMMIT_ONE 0x0001 /**< DosBufReset called on a specific handle. */ 246 #define FS_COMMIT_ALL 0x0002 /**< DosBufReset called with -1 to flush all handles. */ 209 247 /** @} */ 210 248 … … 229 267 #define FF_GETPOS 0x0001 230 268 /** @} */ 269 270 /** Indicate that returning non-8.3 filenames is okay (passed in fAttribs). */ 271 #define FF_ATTR_LONG_FILENAME 0x0040 231 272 232 273 … … 285 326 /** @} */ 286 327 328 287 329 /** @name The FS_OPENCREATE \a *pfgenflag parameter. 288 330 * @{ */ 289 331 #define FOC_NEEDEAS 0x0001 290 332 /** @} */ 333 334 /** @name Additional FS_OPENCREATE fOpenMode flags. 335 * @{ */ 336 #define OPEN_FLAGS_LARGEFILE 0x08000000 /**< Set if DosOpenL was called. */ 337 /** @} */ 338 291 339 292 340 /** @name The FS_OPENPAGEFILE \a *pfFlags parameter. … … 302 350 #define PI_RETRIEVE 0x0000 303 351 #define PI_SET 0x0001 352 #define PI_WRITE_THRU 0x0010 304 353 /** @} */ 305 354 … … 318 367 /** @} */ 319 368 369 370 /** @name FI_LVL_XXX - File information levels (FS_FILEINFO, FS_PATHINFO) 371 * 372 * @todo Determine whether 13, 14, 15, 16, 17 or 18 is ever let thru to the IFS 373 * in any of the places where these constants are used... 374 * 375 * @{ */ 376 /** Aka. FIL_STANDARD. 377 * FILESTATUS for FS_PATHINFO and FS_FILEINFO. */ 378 #define FI_LVL_STANDARD 1 379 /** Aka. FIL_STANDARDL. 380 * FILESTATUS3L for FS_PATHINFO and FS_FILEINFO. */ 381 #define FI_LVL_STANDARD_64 11 382 383 /** Aka. FIL_QUERYEASIZE. 384 * FILESTATUS2 for FS_PATHINFO and FS_FILEINFO. */ 385 #define FI_LVL_STANDARD_EASIZE 2 386 /** Aka. FIL_QUERYEASIZEL. 387 * FILESTATUS4L for FS_PATHINFO and FS_FILEINFO. */ 388 #define FI_LVL_STANDARD_EASIZE_64 12 389 390 /** Aka. FIL_QUERYEASFROMLIST. 391 * EAOP w/ GEA selection list for FS_PATHINFO and FS_FILEINFO. */ 392 #define FI_LVL_EAS_FROM_LIST 3 393 #define FI_LVL_EAS_FROM_LIST_64 13 /**< FIL_QUERYEASFROMLISTL - Does not work for FS_PATHINFO/QUERY. */ 394 395 /** Aka. FIL_QUERYALLEAS. 396 * EAOP w/ GEA selection list ignored by FS_PATHINFO and FS_FILEINFO, 397 * fail if no EAs found. 398 * @note May be used differently by FS_FINDFIRST and friends... */ 399 #define FI_LVL_EAS_FULL 4 400 401 /** No ring-3 alias. 402 * EAOP w/ GEA selection list ignored by FS_PATHINFO and FS_FILEINFO, 403 * empty EA list and NO_ERROR if no EAs found. 404 * @note Overlaps userland FIL_QUERYFULLNAME. Used in kernel land for 405 * implementing DosEnumAttributes and DosProtectedEnumAttributes. */ 406 #define FI_LVL_EAS_FULL_5 5 407 408 /** No ring-3 alias. 409 * FS_PATHINFO expects a path buffer that should be verified for syntax validity. */ 410 #define FI_LVL_VERIFY_PATH 6 411 412 /** No ring-3 alias. 413 * FS_PATHINFO expects a path buffer should be case corrected. 414 * @note Requires the FSA_LVL7 to be set in FS_ATTRIBUTES. */ 415 #define FI_LVL_CASE_CORRECT_PATH 7 416 417 /** Ring-3 accessible alias for FI_LVL_EAS_FULL_5. */ 418 #define FI_LVL_EAS_FULL_8 8 /**< User land accessible FI_LVL_EAS_FULL_5. */ 419 /** @} */ 420 421 320 422 #pragma pack() 321 423
Note:
See TracChangeset
for help on using the changeset viewer.