Changeset 3950 for trunk


Ignore:
Timestamp:
Nov 9, 2018, 11:41:37 PM (7 years ago)
Author:
bird
Message:

os2ddk/fsd.h: Various updates.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libc/include/os2ddk/fsd.h

    r3508 r3950  
    8989struct sffsi
    9090{
    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;
    105143#define ST_SCREAT               0x01
    106144#define ST_PCREAT               0x02
     
    109147#define ST_SREAD                0x10
    110148#define ST_PREAD                0x20
    111     UCHAR   sfi_tstamp;
     149    UCHAR       sfi_tstamp;
    112150#define STYPE_FILE              0x00
    113151#define STYPE_DEVICE            0x01
    114152#define STYPE_NMPIPE            0x02
    115153#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;
    119157    LONGLONG    sfi_sizel;
    120158    LONGLONG    sfi_positionl;
     
    205243/** @name The FS_COMMIT \a type parameter.
    206244 * @{ */
    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. */
    209247/** @} */
    210248
     
    229267#define FF_GETPOS               0x0001
    230268/** @} */
     269
     270/** Indicate that returning non-8.3 filenames is okay (passed in fAttribs). */
     271#define FF_ATTR_LONG_FILENAME   0x0040
    231272
    232273
     
    285326/** @} */
    286327
     328
    287329/** @name The FS_OPENCREATE \a *pfgenflag parameter.
    288330 * @{ */
    289331#define FOC_NEEDEAS             0x0001
    290332/** @} */
     333
     334/** @name Additional FS_OPENCREATE fOpenMode flags.
     335 * @{ */
     336#define OPEN_FLAGS_LARGEFILE    0x08000000  /**< Set if DosOpenL was called. */
     337/** @} */
     338
    291339
    292340/** @name The FS_OPENPAGEFILE \a *pfFlags parameter.
     
    302350#define PI_RETRIEVE             0x0000
    303351#define PI_SET                  0x0001
     352#define PI_WRITE_THRU           0x0010
    304353/** @} */
    305354
     
    318367/** @} */
    319368
     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
    320422#pragma pack()
    321423
Note: See TracChangeset for help on using the changeset viewer.