Leaked source code of windows server 2003
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.
|
|
/* dosdef.h - This file duplicates few important dos defines of use to
* DEM. * * As these defines are not going to change at all, its better to give * DEM a separate copy and not share h and inc files between DOSKRNL and * DEM. * * Sudeepb 05-Apr-1991 Created */
#include <doswow.h>
#include <curdir.h>
/** DEFINES **/
/** File Attributes **/
#define ATTR_NORMAL 0x0
#define ATTR_READ_ONLY 0x1
#define ATTR_HIDDEN 0x2
#define ATTR_SYSTEM 0x4
#define ATTR_VOLUME_ID 0x8
#define ATTR_DIRECTORY 0x10
#define ATTR_ARCHIVE 0x20
#define ATTR_DEVICE 0x40
#define ATTR_ALL (ATTR_HIDDEN | ATTR_SYSTEM | ATTR_DIRECTORY)
#define ATTR_IGNORE (ATTR_READ_ONLY | ATTR_ARCHIVE | ATTR_DEVICE)
#define DOS_ATTR_MASK 0x0037 // ATTR_DEVICE isn't used on 32 bit side.
// ATTR_VOL maps to FILE_ATTRIBUTES_NORMAL.
/** File Modes **/
#define ACCESS_MASK 0x0F
#define OPEN_FOR_READ 0x00
#define OPEN_FOR_WRITE 0x01
#define OPEN_FOR_BOTH 0x02
#define EXEC_OPEN 0x03 /* access code of 3 indicates that
open was made from exec */
#define SHARING_MASK 0x70
#define SHARING_COMPAT 0x00
#define SHARING_DENY_BOTH 0x10
#define SHARING_DENY_WRITE 0x20
#define SHARING_DENY_READ 0x30
#define SHARING_DENY_NONE 0x40
#define SHARING_NET_FCB 0x70
#define SHARING_NO_INHERIT 0x80
/* Volume Info **/
#define DOS_VOLUME_NAME_SIZE 11
#define NT_VOLUME_NAME_SIZE 255
#define FILESYS_NAME_SIZE 8
/* IOCTLs **/
#define IOCTL_CHANGEABLE 8
#define IOCTL_DeviceLocOrRem 9
#define IOCTL_GET_DRIVE_MAP 0xE
/** TYPEDEFS **/
/** SRCHDTA defines the DTA format for FIND_FIRST/NEXT operations **/ #pragma pack(1)
typedef struct _SRCHDTA { /* DTA */ PVOID pFFindEntry; // 21 bytes reserved area begins
ULONG FFindId; BYTE bReserved[13]; // 21 bytes reserved area ends
UCHAR uchFileAttr; USHORT usTimeLastWrite; USHORT usDateLastWrite; USHORT usLowSize; USHORT usHighSize; CHAR achFileName[13]; } SRCHDTA;
#pragma pack()
typedef SRCHDTA UNALIGNED *PSRCHDTA;
/** SRCHBUF - defines DOS SEARCHBUF data structure which is used in
* FCBFINDFIRST/NEXT operations. */
#pragma pack(1)
typedef struct _DIRENT { CHAR FileName[8]; CHAR FileExt[3]; UCHAR uchAttributes; PVOID pFFindEntry; // DOS Reserved Area
ULONG FFindId; // DOS Reserved Area
USHORT usDummy; // DOS Reserved Area
USHORT usTime; USHORT usDate; USHORT usReserved2; // Cluster Number in actual DOS
ULONG ulFileSize; } DIRENT;
#pragma pack()
typedef DIRENT *PDIRENT;
#pragma pack(1)
typedef struct _SRCHBUF { UCHAR uchDriveNumber; CHAR FileName[8]; CHAR FileExt[3]; USHORT usCurBlkNumber; USHORT usRecordSize; ULONG ulFileSize; DIRENT DirEnt; } SRCHBUF;
#pragma pack()
typedef SRCHBUF *PSRCHBUF;
/** VOLINFO - GetSetMediaID data structure */
#pragma pack(1)
typedef struct _VOLINFO { USHORT usInfoLevel; ULONG ulSerialNumber; CHAR VolumeID[DOS_VOLUME_NAME_SIZE]; CHAR FileSystemType[FILESYS_NAME_SIZE]; } VOLINFO;
#pragma pack()
typedef VOLINFO *PVOLINFO;
/** CDS LIST - CurrDirStructure (Moved to DOSWOW.H) */
|