Convert #defines to proper enums and remove duplicate symbols. Signed-off-by: Pekka Enberg <[EMAIL PROTECTED]> ---
asn1.c | 72 +++-- cifspdu.h | 798 ++++++++++++++++++++++++++++++++------------------------------ 2 files changed, 464 insertions(+), 406 deletions(-) Index: 2.6/fs/cifs/asn1.c =================================================================== --- 2.6.orig/fs/cifs/asn1.c 2005-01-15 15:07:18.115524784 +0200 +++ 2.6/fs/cifs/asn1.c 2005-01-15 15:07:20.647139920 +0200 @@ -34,46 +34,54 @@ *****************************************************************************/ /* Class */ -#define ASN1_UNI 0 /* Universal */ -#define ASN1_APL 1 /* Application */ -#define ASN1_CTX 2 /* Context */ -#define ASN1_PRV 3 /* Private */ +enum { + ASN1_UNI = 0, /* Universal */ + ASN1_APL = 1, /* Application */ + ASN1_CTX = 2, /* Context */ + ASN1_PRV = 3 /* Private */ +}; /* Tag */ -#define ASN1_EOC 0 /* End Of Contents or N/A */ -#define ASN1_BOL 1 /* Boolean */ -#define ASN1_INT 2 /* Integer */ -#define ASN1_BTS 3 /* Bit String */ -#define ASN1_OTS 4 /* Octet String */ -#define ASN1_NUL 5 /* Null */ -#define ASN1_OJI 6 /* Object Identifier */ -#define ASN1_OJD 7 /* Object Description */ -#define ASN1_EXT 8 /* External */ -#define ASN1_SEQ 16 /* Sequence */ -#define ASN1_SET 17 /* Set */ -#define ASN1_NUMSTR 18 /* Numerical String */ -#define ASN1_PRNSTR 19 /* Printable String */ -#define ASN1_TEXSTR 20 /* Teletext String */ -#define ASN1_VIDSTR 21 /* Video String */ -#define ASN1_IA5STR 22 /* IA5 String */ -#define ASN1_UNITIM 23 /* Universal Time */ -#define ASN1_GENTIM 24 /* General Time */ -#define ASN1_GRASTR 25 /* Graphical String */ -#define ASN1_VISSTR 26 /* Visible String */ -#define ASN1_GENSTR 27 /* General String */ +enum { + ASN1_EOC = 0, /* End Of Contents or N/A */ + ASN1_BOL = 1, /* Boolean */ + ASN1_INT = 2, /* Integer */ + ASN1_BTS = 3, /* Bit String */ + ASN1_OTS = 4, /* Octet String */ + ASN1_NUL = 5, /* Null */ + ASN1_OJI = 6, /* Object Identifier */ + ASN1_OJD = 7, /* Object Description */ + ASN1_EXT = 8, /* External */ + ASN1_SEQ = 16, /* Sequence */ + ASN1_SET = 17, /* Set */ + ASN1_NUMSTR = 18, /* Numerical String */ + ASN1_PRNSTR = 19, /* Printable String */ + ASN1_TEXSTR = 20, /* Teletext String */ + ASN1_VIDSTR = 21, /* Video String */ + ASN1_IA5STR = 22, /* IA5 String */ + ASN1_UNITIM = 23, /* Universal Time */ + ASN1_GENTIM = 24, /* General Time */ + ASN1_GRASTR = 25, /* Graphical String */ + ASN1_VISSTR = 26, /* Visible String */ + ASN1_GENSTR = 27 /* General String */ +}; /* Primitive / Constructed methods*/ -#define ASN1_PRI 0 /* Primitive */ -#define ASN1_CON 1 /* Constructed */ +enum { + ASN1_PRI = 0, /* Primitive */ + ASN1_CON = 1 /* Constructed */ +}; /* * Error codes. */ -#define ASN1_ERR_NOERROR 0 -#define ASN1_ERR_DEC_EMPTY 2 -#define ASN1_ERR_DEC_EOC_MISMATCH 3 -#define ASN1_ERR_DEC_LENGTH_MISMATCH 4 -#define ASN1_ERR_DEC_BADVALUE 5 +enum { + ASN1_ERR_NOERROR = 0, + ASN1_ERR_DEC_EMPTY = 2, + ASN1_ERR_DEC_EOC_MISMATCH = 3, + ASN1_ERR_DEC_LENGTH_MISMATCH = 4, + ASN1_ERR_DEC_BADVALUE = 5 +}; #define SPNEGO_OID_LEN 7 #define NTLMSSP_OID_LEN 10 Index: 2.6/fs/cifs/cifspdu.h =================================================================== --- 2.6.orig/fs/cifs/cifspdu.h 2005-01-12 23:46:16.000000000 +0200 +++ 2.6/fs/cifs/cifspdu.h 2005-01-15 15:11:07.013726968 +0200 @@ -28,61 +28,62 @@ #define BAD_PROT CIFS_PROT+1 /* SMB command codes */ -/* Some commands have minimal (wct=0,bcc=0), or uninteresting, responses - (ie which include no useful data other than the SMB error code itself). - Knowing this helps avoid response buffer allocations and copy in some cases */ -#define SMB_COM_CREATE_DIRECTORY 0x00 /* trivial response */ -#define SMB_COM_DELETE_DIRECTORY 0x01 /* trivial response */ -#define SMB_COM_CLOSE 0x04 /* triv req/rsp, timestamp ignored */ -#define SMB_COM_DELETE 0x06 /* trivial response */ -#define SMB_COM_RENAME 0x07 /* trivial response */ -#define SMB_COM_LOCKING_ANDX 0x24 /* trivial response */ -#define SMB_COM_COPY 0x29 /* trivial rsp, fail filename ignrd*/ -#define SMB_COM_READ_ANDX 0x2E -#define SMB_COM_WRITE_ANDX 0x2F -#define SMB_COM_TRANSACTION2 0x32 -#define SMB_COM_TRANSACTION2_SECONDARY 0x33 -#define SMB_COM_FIND_CLOSE2 0x34 /* trivial response */ -#define SMB_COM_TREE_DISCONNECT 0x71 /* trivial response */ -#define SMB_COM_NEGOTIATE 0x72 -#define SMB_COM_SESSION_SETUP_ANDX 0x73 -#define SMB_COM_LOGOFF_ANDX 0x74 /* trivial response */ -#define SMB_COM_TREE_CONNECT_ANDX 0x75 -#define SMB_COM_NT_TRANSACT 0xA0 -#define SMB_COM_NT_TRANSACT_SECONDARY 0xA1 -#define SMB_COM_NT_CREATE_ANDX 0xA2 -#define SMB_COM_NT_RENAME 0xA5 /* trivial response */ +/* Some commands have minimal (wct=0,bcc=0), or uninteresting, responses (ie + * which include no useful data other than the SMB error code itself). Knowing + * this helps avoid response buffer allocations and copy in some cases + */ +enum { + SMB_COM_CREATE_DIRECTORY = 0x00, /* trivial response */ + SMB_COM_DELETE_DIRECTORY = 0x01, /* trivial response */ + SMB_COM_CLOSE = 0x04, /* triv req/rsp, timestamp ignored */ + SMB_COM_DELETE = 0x06, /* trivial response */ + SMB_COM_RENAME = 0x07, /* trivial response */ + SMB_COM_LOCKING_ANDX = 0x24, /* trivial response */ + SMB_COM_COPY = 0x29, /* trivial rsp, fail filename ignrd*/ + SMB_COM_READ_ANDX = 0x2E, + SMB_COM_WRITE_ANDX = 0x2F, + SMB_COM_TRANSACTION2 = 0x32, + SMB_COM_TRANSACTION2_SECONDARY = 0x33, + SMB_COM_FIND_CLOSE2 = 0x34, /* trivial response */ + SMB_COM_TREE_DISCONNECT = 0x71, /* trivial response */ + SMB_COM_NEGOTIATE = 0x72, + SMB_COM_SESSION_SETUP_ANDX = 0x73, + SMB_COM_LOGOFF_ANDX = 0x74, /* trivial response */ + SMB_COM_TREE_CONNECT_ANDX = 0x75, + SMB_COM_NT_TRANSACT = 0xA0, + SMB_COM_NT_TRANSACT_SECONDARY = 0xA1, + SMB_COM_NT_CREATE_ANDX = 0xA2, + SMB_COM_NT_RENAME = 0xA5 /* trivial response */ +}; /* Transact2 subcommand codes */ -#define TRANS2_OPEN 0x00 -#define TRANS2_FIND_FIRST 0x01 -#define TRANS2_FIND_NEXT 0x02 -#define TRANS2_QUERY_FS_INFORMATION 0x03 -#define TRANS2_QUERY_PATH_INFORMATION 0x05 -#define TRANS2_SET_PATH_INFORMATION 0x06 -#define TRANS2_QUERY_FILE_INFORMATION 0x07 -#define TRANS2_SET_FILE_INFORMATION 0x08 -#define TRANS2_GET_DFS_REFERRAL 0x10 -#define TRANS2_REPORT_DFS_INCOSISTENCY 0x11 +enum { + TRANS2_OPEN = 0x00, + TRANS2_FIND_FIRST = 0x01, + TRANS2_FIND_NEXT = 0x02, + TRANS2_QUERY_FS_INFORMATION = 0x03, + TRANS2_QUERY_PATH_INFORMATION = 0x05, + TRANS2_SET_PATH_INFORMATION = 0x06, + TRANS2_QUERY_FILE_INFORMATION = 0x07, + TRANS2_SET_FILE_INFORMATION = 0x08, + TRANS2_GET_DFS_REFERRAL = 0x10, + TRANS2_REPORT_DFS_INCOSISTENCY = 0x11 +}; /* NT Transact subcommand codes */ -#define NT_TRANSACT_CREATE 0x01 -#define NT_TRANSACT_IOCTL 0x02 -#define NT_TRANSACT_SET_SECURITY_DESC 0x03 -#define NT_TRANSACT_NOTIFY_CHANGE 0x04 -#define NT_TRANSACT_RENAME 0x05 -#define NT_TRANSACT_QUERY_SECURITY_DESC 0x06 -#define NT_TRANSACT_GET_USER_QUOTA 0x07 -#define NT_TRANSACT_SET_USER_QUOTA 0x08 +enum { + NT_TRANSACT_CREATE = 0x01, + NT_TRANSACT_IOCTL = 0x02, + NT_TRANSACT_SET_SECURITY_DESC = 0x03, + NT_TRANSACT_NOTIFY_CHANGE = 0x04, + NT_TRANSACT_RENAME = 0x05, + NT_TRANSACT_QUERY_SECURITY_DESC = 0x06, + NT_TRANSACT_GET_USER_QUOTA = 0x07, + NT_TRANSACT_SET_USER_QUOTA = 0x08 +}; #define MAX_CIFS_HDR_SIZE 256 /* chained NTCreateXReadX will probably be biggest */ -/* internal cifs vfs structures */ -/***************************************************************** - * All constants go here - ***************************************************************** - */ - /* * Starting value for maximum SMB size negotiation */ @@ -111,31 +112,37 @@ /* * Flags on SMB open */ -#define SMBOPEN_WRITE_THROUGH 0x4000 -#define SMBOPEN_DENY_ALL 0x0010 -#define SMBOPEN_DENY_WRITE 0x0020 -#define SMBOPEN_DENY_READ 0x0030 -#define SMBOPEN_DENY_NONE 0x0040 -#define SMBOPEN_READ 0x0000 -#define SMBOPEN_WRITE 0x0001 -#define SMBOPEN_READWRITE 0x0002 -#define SMBOPEN_EXECUTE 0x0003 - -#define SMBOPEN_OCREATE 0x0010 -#define SMBOPEN_OTRUNC 0x0002 -#define SMBOPEN_OAPPEND 0x0001 +enum { + SMBOPEN_WRITE_THROUGH = 0x4000, + SMBOPEN_DENY_ALL = 0x0010, + SMBOPEN_DENY_WRITE = 0x0020, + SMBOPEN_DENY_READ = 0x0030, + SMBOPEN_DENY_NONE = 0x0040, + SMBOPEN_READ = 0x0000, + SMBOPEN_WRITE = 0x0001, + SMBOPEN_READWRITE = 0x0002, + SMBOPEN_EXECUTE = 0x0003 +}; + +enum { + SMBOPEN_OCREATE = 0x0010, + SMBOPEN_OTRUNC = 0x0002, + SMBOPEN_OAPPEND = 0x0001 +}; /* * SMB flag definitions */ -#define SMBFLG_EXTD_LOCK 0x01 /* server supports lock-read write-unlock primitives */ -#define SMBFLG_RCV_POSTED 0x02 /* obsolete */ -#define SMBFLG_RSVD 0x04 -#define SMBFLG_CASELESS 0x08 /* all pathnames treated as caseless (off implies case sensitive file handling requested) */ -#define SMBFLG_CANONICAL_PATH_FORMAT 0x10 /* obsolete */ -#define SMBFLG_OLD_OPLOCK 0x20 /* obsolete */ -#define SMBFLG_OLD_OPLOCK_NOTIFY 0x40 /* obsolete */ -#define SMBFLG_RESPONSE 0x80 /* this PDU is a response from server */ +enum { + SMBFLG_EXTD_LOCK = 0x01, /* server supports lock-read write-unlock primitives */ + SMBFLG_RCV_POSTED = 0x02, /* obsolete */ + SMBFLG_RSVD = 0x04, + SMBFLG_CASELESS = 0x08, /* all pathnames treated as caseless (off implies case sensitive file handling requested) */ + SMBFLG_CANONICAL_PATH_FORMAT = 0x10, /* obsolete */ + SMBFLG_OLD_OPLOCK = 0x20, /* obsolete */ + SMBFLG_OLD_OPLOCK_NOTIFY = 0x40, /* obsolete */ + SMBFLG_RESPONSE = 0x80 /* this PDU is a response from server */ +}; /* * SMB flag2 definitions @@ -159,41 +166,43 @@ * file and can have any suitable combination of the following values: */ -#define FILE_READ_DATA 0x00000001 /* Data can be read from the file */ -#define FILE_WRITE_DATA 0x00000002 /* Data can be written to the file */ -#define FILE_APPEND_DATA 0x00000004 /* Data can be appended to the file */ -#define FILE_READ_EA 0x00000008 /* Extended attributes associated */ - /* with the file can be read */ -#define FILE_WRITE_EA 0x00000010 /* Extended attributes associated */ - /* with the file can be written */ -#define FILE_EXECUTE 0x00000020 /*Data can be read into memory from */ - /* the file using system paging I/O */ -#define FILE_DELETE_CHILD 0x00000040 -#define FILE_READ_ATTRIBUTES 0x00000080 /* Attributes associated with the */ - /* file can be read */ -#define FILE_WRITE_ATTRIBUTES 0x00000100 /* Attributes associated with the */ - /* file can be written */ -#define DELETE 0x00010000 /* The file can be deleted */ -#define READ_CONTROL 0x00020000 /* The access control list and */ - /* ownership associated with the */ - /* file can be read */ -#define WRITE_DAC 0x00040000 /* The access control list and */ - /* ownership associated with the */ - /* file can be written. */ -#define WRITE_OWNER 0x00080000 /* Ownership information associated */ - /* with the file can be written */ -#define SYNCHRONIZE 0x00100000 /* The file handle can waited on to */ - /* synchronize with the completion */ - /* of an input/output request */ -#define GENERIC_ALL 0x10000000 -#define GENERIC_EXECUTE 0x20000000 -#define GENERIC_WRITE 0x40000000 -#define GENERIC_READ 0x80000000 +enum { + FILE_READ_DATA = 0x00000001, /* Data can be read from the file */ + FILE_WRITE_DATA = 0x00000002, /* Data can be written to the file */ + FILE_APPEND_DATA = 0x00000004, /* Data can be appended to the file */ + FILE_READ_EA = 0x00000008, /* Extended attributes associated */ + /* with the file can be read */ + FILE_WRITE_EA = 0x00000010, /* Extended attributes associated */ + /* with the file can be written */ + FILE_EXECUTE = 0x00000020, /* Data can be read into memory from */ + /* the file using system paging I/O */ + FILE_DELETE_CHILD = 0x00000040, + FILE_READ_ATTRIBUTES = 0x00000080, /* Attributes associated with the */ + /* file can be read */ + FILE_WRITE_ATTRIBUTES = 0x00000100, /* Attributes associated with the */ + /* file can be written */ + DELETE = 0x00010000, /* The file can be deleted */ + READ_CONTROL = 0x00020000, /* The access control list and */ + /* ownership associated with the */ + /* file can be read */ + WRITE_DAC = 0x00040000, /* The access control list and */ + /* ownership associated with the */ + /* file can be written. */ + WRITE_OWNER = 0x00080000, /* Ownership information associated */ + /* with the file can be written */ + SYNCHRONIZE = 0x00100000, /* The file handle can waited on to */ + /* synchronize with the completion */ + /* of an input/output request */ + GENERIC_ALL = 0x10000000, + GENERIC_EXECUTE = 0x20000000, + GENERIC_WRITE = 0x40000000, + GENERIC_READ = 0x80000000 /* In summary - Relevant file */ /* access flags from CIFS are */ /* file_read_data, file_write_data */ /* file_execute, file_read_attributes */ /* write_dac, and delete. */ +}; /* * Invalid readdir handle @@ -211,75 +220,91 @@ #define ASCII_NULL 0x00 /* - * Server type values (returned on EnumServer API + * Server type values (returned on EnumServer API) */ -#define CIFS_SV_TYPE_DC 0x00000008 -#define CIFS_SV_TYPE_BACKDC 0x00000010 +enum { + CIFS_SV_TYPE_DC = 0x00000008, + CIFS_SV_TYPE_BACKDC = 0x00000010 +}; /* - * Alias type flags (From EnumAlias API call + * Alias type flags (From EnumAlias API call) */ -#define CIFS_ALIAS_TYPE_FILE 0x0001 -#define CIFS_SHARE_TYPE_FILE 0x0000 +enum { + CIFS_ALIAS_TYPE_FILE = 0x0001, + CIFS_SHARE_TYPE_FILE = 0x0000 +}; /* * File Attribute flags */ -#define ATTR_READONLY 0x0001 -#define ATTR_HIDDEN 0x0002 -#define ATTR_SYSTEM 0x0004 -#define ATTR_VOLUME 0x0008 -#define ATTR_DIRECTORY 0x0010 -#define ATTR_ARCHIVE 0x0020 -#define ATTR_DEVICE 0x0040 -#define ATTR_NORMAL 0x0080 -#define ATTR_TEMPORARY 0x0100 -#define ATTR_SPARSE 0x0200 -#define ATTR_REPARSE 0x0400 -#define ATTR_COMPRESSED 0x0800 -#define ATTR_OFFLINE 0x1000 /* ie file not immediately available - offline storage */ -#define ATTR_NOT_CONTENT_INDEXED 0x2000 -#define ATTR_ENCRYPTED 0x4000 -#define ATTR_POSIX_SEMANTICS 0x01000000 -#define ATTR_BACKUP_SEMANTICS 0x02000000 -#define ATTR_DELETE_ON_CLOSE 0x04000000 -#define ATTR_SEQUENTIAL_SCAN 0x08000000 -#define ATTR_RANDOM_ACCESS 0x10000000 -#define ATTR_NO_BUFFERING 0x20000000 -#define ATTR_WRITE_THROUGH 0x80000000 +enum { + ATTR_READONLY = 0x0001, + ATTR_HIDDEN = 0x0002, + ATTR_SYSTEM = 0x0004, + ATTR_VOLUME = 0x0008, + ATTR_DIRECTORY = 0x0010, + ATTR_ARCHIVE = 0x0020, + ATTR_DEVICE = 0x0040, + ATTR_NORMAL = 0x0080, + ATTR_TEMPORARY = 0x0100, + ATTR_SPARSE = 0x0200, + ATTR_REPARSE = 0x0400, + ATTR_COMPRESSED = 0x0800, + ATTR_OFFLINE = 0x1000, /* ie file not immediately available - offline storage */ + ATTR_NOT_CONTENT_INDEXED = 0x2000, + ATTR_ENCRYPTED = 0x4000, + ATTR_POSIX_SEMANTICS = 0x01000000, + ATTR_BACKUP_SEMANTICS = 0x02000000, + ATTR_DELETE_ON_CLOSE = 0x04000000, + ATTR_SEQUENTIAL_SCAN = 0x08000000, + ATTR_RANDOM_ACCESS = 0x10000000, + ATTR_NO_BUFFERING = 0x20000000, + ATTR_WRITE_THROUGH = 0x80000000 +}; /* ShareAccess flags */ -#define FILE_NO_SHARE 0x00000000 -#define FILE_SHARE_READ 0x00000001 -#define FILE_SHARE_WRITE 0x00000002 -#define FILE_SHARE_DELETE 0x00000004 -#define FILE_SHARE_ALL 0x00000007 +enum { + FILE_NO_SHARE = 0x00000000, + FILE_SHARE_READ = 0x00000001, + FILE_SHARE_WRITE = 0x00000002, + FILE_SHARE_DELETE = 0x00000004, + FILE_SHARE_ALL = 0x00000007 +}; /* CreateDisposition flags */ -#define FILE_SUPERSEDE 0x00000000 -#define FILE_OPEN 0x00000001 -#define FILE_CREATE 0x00000002 -#define FILE_OPEN_IF 0x00000003 -#define FILE_OVERWRITE 0x00000004 -#define FILE_OVERWRITE_IF 0x00000005 +enum { + FILE_SUPERSEDE = 0x00000000, + FILE_OPEN = 0x00000001, + FILE_CREATE = 0x00000002, + FILE_OPEN_IF = 0x00000003, + FILE_OVERWRITE = 0x00000004, + FILE_OVERWRITE_IF = 0x00000005 +}; /* CreateOptions */ -#define CREATE_NOT_FILE 0x00000001 /* if set must not be file */ -#define CREATE_WRITE_THROUGH 0x00000002 -#define CREATE_NOT_DIR 0x00000040 /* if set must not be directory */ -#define CREATE_RANDOM_ACCESS 0x00000800 -#define CREATE_DELETE_ON_CLOSE 0x00001000 -#define OPEN_REPARSE_POINT 0x00200000 +enum { + CREATE_NOT_FILE = 0x00000001, /* if set must not be file */ + CREATE_WRITE_THROUGH = 0x00000002, + CREATE_NOT_DIR = 0x00000040, /* if set must not be directory */ + CREATE_RANDOM_ACCESS = 0x00000800, + CREATE_DELETE_ON_CLOSE = 0x00001000, + OPEN_REPARSE_POINT = 0x00200000 +}; /* ImpersonationLevel flags */ -#define SECURITY_ANONYMOUS 0 -#define SECURITY_IDENTIFICATION 1 -#define SECURITY_IMPERSONATION 2 -#define SECURITY_DELEGATION 3 +enum { + SECURITY_ANONYMOUS = 0, + SECURITY_IDENTIFICATION = 1, + SECURITY_IMPERSONATION = 2, + SECURITY_DELEGATION = 3, +}; /* SecurityFlags */ -#define SECURITY_CONTEXT_TRACKING 0x01 -#define SECURITY_EFFECTIVE_ONLY 0x02 +enum { + SECURITY_CONTEXT_TRACKING = 0x01, + SECURITY_EFFECTIVE_ONLY = 0x02 +}; /* * Default PID value, used in all SMBs where the PID is not important @@ -290,8 +315,10 @@ * We use the same routine for Copy and Move SMBs. This flag is used to * distinguish */ -#define CIFS_COPY_OP 1 -#define CIFS_RENAME_OP 2 +enum { + CIFS_COPY_OP = 1, + CIFS_RENAME_OP = 2 +}; #define GETU16(var) (*((__u16 *)var)) /* BB check for endian issues */ #define GETU32(var) (*((__u32 *)var)) /* BB check for endian issues */ @@ -408,31 +435,35 @@ } NEGOTIATE_RSP; /* SecurityMode bits */ -#define SECMODE_USER 0x01 /* off indicates share level security */ -#define SECMODE_PW_ENCRYPT 0x02 -#define SECMODE_SIGN_ENABLED 0x04 /* SMB security signatures enabled */ -#define SECMODE_SIGN_REQUIRED 0x08 /* SMB security signatures required */ +enum { + SECMODE_USER = 0x01, /* off indicates share level security */ + SECMODE_PW_ENCRYPT = 0x02, + SECMODE_SIGN_ENABLED = 0x04, /* SMB security signatures enabled */ + SECMODE_SIGN_REQUIRED = 0x08 /* SMB security signatures required */ +}; /* Negotiate response Capabilities */ -#define CAP_RAW_MODE 0x00000001 -#define CAP_MPX_MODE 0x00000002 -#define CAP_UNICODE 0x00000004 -#define CAP_LARGE_FILES 0x00000008 -#define CAP_NT_SMBS 0x00000010 /* implies CAP_NT_FIND */ -#define CAP_RPC_REMOTE_APIS 0x00000020 -#define CAP_STATUS32 0x00000040 -#define CAP_LEVEL_II_OPLOCKS 0x00000080 -#define CAP_LOCK_AND_READ 0x00000100 -#define CAP_NT_FIND 0x00000200 -#define CAP_DFS 0x00001000 -#define CAP_INFOLEVEL_PASSTHRU 0x00002000 -#define CAP_LARGE_READ_X 0x00004000 -#define CAP_LARGE_WRITE_X 0x00008000 -#define CAP_UNIX 0x00800000 -#define CAP_RESERVED 0x02000000 -#define CAP_BULK_TRANSFER 0x20000000 -#define CAP_COMPRESSED_DATA 0x40000000 -#define CAP_EXTENDED_SECURITY 0x80000000 +enum { + CAP_RAW_MODE = 0x00000001, + CAP_MPX_MODE = 0x00000002, + CAP_UNICODE = 0x00000004, + CAP_LARGE_FILES = 0x00000008, + CAP_NT_SMBS = 0x00000010, /* implies CAP_NT_FIND */ + CAP_RPC_REMOTE_APIS = 0x00000020, + CAP_STATUS32 = 0x00000040, + CAP_LEVEL_II_OPLOCKS = 0x00000080, + CAP_LOCK_AND_READ = 0x00000100, + CAP_NT_FIND = 0x00000200, + CAP_DFS = 0x00001000, + CAP_INFOLEVEL_PASSTHRU = 0x00002000, + CAP_LARGE_READ_X = 0x00004000, + CAP_LARGE_WRITE_X = 0x00008000, + CAP_UNIX = 0x00800000, + CAP_RESERVED = 0x02000000, + CAP_BULK_TRANSFER = 0x20000000, + CAP_COMPRESSED_DATA = 0x40000000, + CAP_EXTENDED_SECURITY = 0x80000000 +}; typedef union smb_com_session_setup_andx { struct { /* request format */ @@ -523,16 +554,6 @@ #define CIFS_NETWORK_OPSYS "CIFS VFS Client for Linux" -/* Capabilities bits (for NTLM SessSetup request) */ -#define CAP_UNICODE 0x00000004 -#define CAP_LARGE_FILES 0x00000008 -#define CAP_NT_SMBS 0x00000010 -#define CAP_STATUS32 0x00000040 -#define CAP_LEVEL_II_OPLOCKS 0x00000080 -#define CAP_NT_FIND 0x00000200 /* reserved should be zero (presumably because NT_SMBs implies the same thing) */ -#define CAP_BULK_TRANSFER 0x20000000 -#define CAP_EXTENDED_SECURITY 0x80000000 - /* Action bits */ #define GUEST_LOGIN 1 @@ -561,11 +582,16 @@ } TCONX_RSP; /* tree connect Flags */ -#define DISCONNECT_TID 0x0001 -#define TCON_EXTENDED_SECINFO 0x0008 +enum { + DISCONNECT_TID = 0x0001, + TCON_EXTENDED_SECINFO = 0x0008 +}; + /* OptionalSupport bits */ -#define SMB_SUPPORT_SEARCH_BITS 0x0001 /* must have bits (exclusive searches suppt. */ -#define SMB_SHARE_IS_IN_DFS 0x0002 +enum { + SMB_SUPPORT_SEARCH_BITS = 0x0001, /* must have bits (exclusive searches suppt. */ + SMB_SHARE_IS_IN_DFS = 0x0002 +}; typedef struct smb_com_logoff_andx_req { @@ -614,9 +640,11 @@ } FINDCLOSE_REQ; /* OpenFlags */ -#define REQ_OPLOCK 0x00000002 -#define REQ_BATCHOPLOCK 0x00000004 -#define REQ_OPENDIRONLY 0x00000008 +enum { + REQ_OPLOCK = 0x00000002, + REQ_BATCHOPLOCK = 0x00000004, + REQ_OPENDIRONLY = 0x00000008 +}; typedef struct smb_com_open_req { /* also handles create */ struct smb_hdr hdr; /* wct = 24 */ @@ -640,10 +668,12 @@ } OPEN_REQ; /* open response: oplock levels */ -#define OPLOCK_NONE 0 -#define OPLOCK_EXCLUSIVE 1 -#define OPLOCK_BATCH 2 -#define OPLOCK_READ 3 /* level 2 oplock */ +enum { + OPLOCK_NONE = 0, + OPLOCK_EXCLUSIVE = 1, + OPLOCK_BATCH = 2, + OPLOCK_READ = 3 /* level 2 oplock */ +}; /* open response for CreateAction shifted left */ #define CIFS_CREATE_ACTION 0x20000 /* file created */ @@ -740,11 +770,13 @@ __le32 LengthLow; } LOCKING_ANDX_RANGE; -#define LOCKING_ANDX_SHARED_LOCK 0x01 -#define LOCKING_ANDX_OPLOCK_RELEASE 0x02 -#define LOCKING_ANDX_CHANGE_LOCKTYPE 0x04 -#define LOCKING_ANDX_CANCEL_LOCK 0x08 -#define LOCKING_ANDX_LARGE_FILES 0x10 /* always on for us */ +enum { + LOCKING_ANDX_SHARED_LOCK = 0x01, + LOCKING_ANDX_OPLOCK_RELEASE = 0x02, + LOCKING_ANDX_CHANGE_LOCKTYPE = 0x04, + LOCKING_ANDX_CANCEL_LOCK = 0x08, + LOCKING_ANDX_LARGE_FILES = 0x10 /* always on for us */ +}; typedef struct smb_com_lock_req { struct smb_hdr hdr; /* wct = 8 */ @@ -779,13 +811,15 @@ /* followed by NewFileName */ } RENAME_REQ; - /* copy request flags */ -#define COPY_MUST_BE_FILE 0x0001 -#define COPY_MUST_BE_DIR 0x0002 -#define COPY_TARGET_MODE_ASCII 0x0004 /* if not set, binary */ -#define COPY_SOURCE_MODE_ASCII 0x0008 /* if not set, binary */ -#define COPY_VERIFY_WRITES 0x0010 -#define COPY_TREE 0x0020 +/* copy request flags */ +enum { + COPY_MUST_BE_FILE = 0x0001, + COPY_MUST_BE_DIR = 0x0002, + COPY_TARGET_MODE_ASCII = 0x0004, /* if not set, binary */ + COPY_SOURCE_MODE_ASCII = 0x0008, /* if not set, binary */ + COPY_VERIFY_WRITES = 0x0010, + COPY_TREE = 0x0020 +}; typedef struct smb_com_copy_req { struct smb_hdr hdr; /* wct = 3 */ @@ -807,9 +841,11 @@ unsigned char ErrorFileName[1]; /* only present if error in copy */ } COPY_RSP; -#define CREATE_HARD_LINK 0x103 -#define MOVEFILE_COPY_ALLOWED 0x0002 -#define MOVEFILE_REPLACE_EXISTING 0x0001 +enum { + CREATE_HARD_LINK = 0x103, + MOVEFILE_COPY_ALLOWED = 0x0002, + MOVEFILE_REPLACE_EXISTING = 0x0001 +}; typedef struct smb_com_nt_rename_req { /* A5 - also used for create hardlink */ struct smb_hdr hdr; /* wct = 4 */ @@ -949,29 +985,34 @@ __u16 ByteCount; /* __u8 Pad[3]; */ } TRANSACT_CHANGE_NOTIFY_RSP; + /* Completion Filter flags for Notify */ -#define FILE_NOTIFY_CHANGE_FILE_NAME 0x00000001 -#define FILE_NOTIFY_CHANGE_DIR_NAME 0x00000002 -#define FILE_NOTIFY_CHANGE_NAME 0x00000003 -#define FILE_NOTIFY_CHANGE_ATTRIBUTES 0x00000004 -#define FILE_NOTIFY_CHANGE_SIZE 0x00000008 -#define FILE_NOTIFY_CHANGE_LAST_WRITE 0x00000010 -#define FILE_NOTIFY_CHANGE_LAST_ACCESS 0x00000020 -#define FILE_NOTIFY_CHANGE_CREATION 0x00000040 -#define FILE_NOTIFY_CHANGE_EA 0x00000080 -#define FILE_NOTIFY_CHANGE_SECURITY 0x00000100 -#define FILE_NOTIFY_CHANGE_STREAM_NAME 0x00000200 -#define FILE_NOTIFY_CHANGE_STREAM_SIZE 0x00000400 -#define FILE_NOTIFY_CHANGE_STREAM_WRITE 0x00000800 - -#define FILE_ACTION_ADDED 0x00000001 -#define FILE_ACTION_REMOVED 0x00000002 -#define FILE_ACTION_MODIFIED 0x00000003 -#define FILE_ACTION_RENAMED_OLD_NAME 0x00000004 -#define FILE_ACTION_RENAMED_NEW_NAME 0x00000005 -#define FILE_ACTION_ADDED_STREAM 0x00000006 -#define FILE_ACTION_REMOVED_STREAM 0x00000007 -#define FILE_ACTION_MODIFIED_STREAM 0x00000008 +enum { + FILE_NOTIFY_CHANGE_FILE_NAME = 0x00000001, + FILE_NOTIFY_CHANGE_DIR_NAME = 0x00000002, + FILE_NOTIFY_CHANGE_NAME = 0x00000003, + FILE_NOTIFY_CHANGE_ATTRIBUTES = 0x00000004, + FILE_NOTIFY_CHANGE_SIZE = 0x00000008, + FILE_NOTIFY_CHANGE_LAST_WRITE = 0x00000010, + FILE_NOTIFY_CHANGE_LAST_ACCESS = 0x00000020, + FILE_NOTIFY_CHANGE_CREATION = 0x00000040, + FILE_NOTIFY_CHANGE_EA = 0x00000080, + FILE_NOTIFY_CHANGE_SECURITY = 0x00000100, + FILE_NOTIFY_CHANGE_STREAM_NAME = 0x00000200, + FILE_NOTIFY_CHANGE_STREAM_SIZE = 0x00000400, + FILE_NOTIFY_CHANGE_STREAM_WRITE = 0x00000800 +}; + +enum { + FILE_ACTION_ADDED = 0x00000001, + FILE_ACTION_REMOVED = 0x00000002, + FILE_ACTION_MODIFIED = 0x00000003, + FILE_ACTION_RENAMED_OLD_NAME = 0x00000004, + FILE_ACTION_RENAMED_NEW_NAME = 0x00000005, + FILE_ACTION_ADDED_STREAM = 0x00000006, + FILE_ACTION_REMOVED_STREAM = 0x00000007, + FILE_ACTION_MODIFIED_STREAM = 0x00000008 +}; /* response contains array of the following structures */ struct file_notify_information { @@ -1003,9 +1044,11 @@ }; /* quota sub commands */ -#define QUOTA_LIST_CONTINUE 0 -#define QUOTA_LIST_START 0x100 -#define QUOTA_FOR_SID 0x101 +enum { + QUOTA_LIST_CONTINUE = 0, + QUOTA_LIST_START = 0x100, + QUOTA_FOR_SID = 0x101 +}; struct trans2_req { /* struct smb_hdr hdr precedes. Set wct = 14+ */ @@ -1058,61 +1101,66 @@ }; /* PathInfo/FileInfo infolevels */ -#define SMB_INFO_STANDARD 1 -#define SMB_SET_FILE_EA 2 -#define SMB_QUERY_FILE_EA_SIZE 2 -#define SMB_INFO_QUERY_EAS_FROM_LIST 3 -#define SMB_INFO_QUERY_ALL_EAS 4 -#define SMB_INFO_IS_NAME_VALID 6 -#define SMB_QUERY_FILE_BASIC_INFO 0x101 -#define SMB_QUERY_FILE_STANDARD_INFO 0x102 -#define SMB_QUERY_FILE_EA_INFO 0x103 -#define SMB_QUERY_FILE_NAME_INFO 0x104 -#define SMB_QUERY_FILE_ALLOCATION_INFO 0x105 -#define SMB_QUERY_FILE_END_OF_FILEINFO 0x106 -#define SMB_QUERY_FILE_ALL_INFO 0x107 -#define SMB_QUERY_ALT_NAME_INFO 0x108 -#define SMB_QUERY_FILE_STREAM_INFO 0x109 -#define SMB_QUERY_FILE_COMPRESSION_INFO 0x10B -#define SMB_QUERY_FILE_UNIX_BASIC 0x200 -#define SMB_QUERY_FILE_UNIX_LINK 0x201 -#define SMB_QUERY_POSIX_ACL 0x204 -#define SMB_QUERY_XATTR 0x205 -#define SMB_QUERY_FILE_INTERNAL_INFO 0x3ee -#define SMB_QUERY_FILE_ACCESS_INFO 0x3f0 -#define SMB_QUERY_FILE_NAME_INFO2 0x3f1 /* 0x30 bytes */ -#define SMB_QUERY_FILE_POSITION_INFO 0x3f6 -#define SMB_QUERY_FILE_MODE_INFO 0x3f8 -#define SMB_QUERY_FILE_ALGN_INFO 0x3f9 - - -#define SMB_SET_FILE_BASIC_INFO 0x101 -#define SMB_SET_FILE_DISPOSITION_INFO 0x102 -#define SMB_SET_FILE_ALLOCATION_INFO 0x103 -#define SMB_SET_FILE_END_OF_FILE_INFO 0x104 -#define SMB_SET_FILE_UNIX_BASIC 0x200 -#define SMB_SET_FILE_UNIX_LINK 0x201 -#define SMB_SET_FILE_UNIX_HLINK 0x203 -#define SMB_SET_POSIX_ACL 0x204 -#define SMB_SET_XATTR 0x205 -#define SMB_SET_FILE_BASIC_INFO2 0x3ec -#define SMB_SET_FILE_RENAME_INFORMATION 0x3f2 /* BB check if qpathinfo level too */ -#define SMB_FILE_ALL_INFO2 0x3fa -#define SMB_SET_FILE_ALLOCATION_INFO2 0x3fb -#define SMB_SET_FILE_END_OF_FILE_INFO2 0x3fc -#define SMB_FILE_MOVE_CLUSTER_INFO 0x407 -#define SMB_FILE_QUOTA_INFO 0x408 -#define SMB_FILE_REPARSEPOINT_INFO 0x409 -#define SMB_FILE_MAXIMUM_INFO 0x40d +enum { + SMB_INFO_STANDARD = 1, + SMB_SET_FILE_EA = 2, + SMB_QUERY_FILE_EA_SIZE = 2, + SMB_INFO_QUERY_EAS_FROM_LIST = 3, + SMB_INFO_QUERY_ALL_EAS = 4, + SMB_INFO_IS_NAME_VALID = 6, + SMB_QUERY_FILE_BASIC_INFO = 0x101, + SMB_QUERY_FILE_STANDARD_INFO = 0x102, + SMB_QUERY_FILE_EA_INFO = 0x103, + SMB_QUERY_FILE_NAME_INFO = 0x104, + SMB_QUERY_FILE_ALLOCATION_INFO = 0x105, + SMB_QUERY_FILE_END_OF_FILEINFO = 0x106, + SMB_QUERY_FILE_ALL_INFO = 0x107, + SMB_QUERY_ALT_NAME_INFO = 0x108, + SMB_QUERY_FILE_STREAM_INFO = 0x109, + SMB_QUERY_FILE_COMPRESSION_INFO = 0x10B, + SMB_QUERY_FILE_UNIX_BASIC = 0x200, + SMB_QUERY_FILE_UNIX_LINK = 0x201, + SMB_QUERY_POSIX_ACL = 0x204, + SMB_QUERY_XATTR = 0x205, + SMB_QUERY_FILE_INTERNAL_INFO = 0x3ee, + SMB_QUERY_FILE_ACCESS_INFO = 0x3f0, + SMB_QUERY_FILE_NAME_INFO2 = 0x3f1, /* = 0x30 bytes */ + SMB_QUERY_FILE_POSITION_INFO = 0x3f6, + SMB_QUERY_FILE_MODE_INFO = 0x3f8, + SMB_QUERY_FILE_ALGN_INFO = 0x3f9 +}; + +enum { + SMB_SET_FILE_BASIC_INFO = 0x101, + SMB_SET_FILE_DISPOSITION_INFO = 0x102, + SMB_SET_FILE_ALLOCATION_INFO = 0x103, + SMB_SET_FILE_END_OF_FILE_INFO = 0x104, + SMB_SET_FILE_UNIX_BASIC = 0x200, + SMB_SET_FILE_UNIX_LINK = 0x201, + SMB_SET_FILE_UNIX_HLINK = 0x203, + SMB_SET_POSIX_ACL = 0x204, + SMB_SET_XATTR = 0x205, + SMB_SET_FILE_BASIC_INFO2 = 0x3ec, + SMB_SET_FILE_RENAME_INFORMATION = 0x3f2, /* BB check if qpathinfo level too */ + SMB_FILE_ALL_INFO2 = 0x3fa, + SMB_SET_FILE_ALLOCATION_INFO2 = 0x3fb, + SMB_SET_FILE_END_OF_FILE_INFO2 = 0x3fc, + SMB_FILE_MOVE_CLUSTER_INFO = 0x407, + SMB_FILE_QUOTA_INFO = 0x408, + SMB_FILE_REPARSEPOINT_INFO = 0x409, + SMB_FILE_MAXIMUM_INFO = 0x40d +}; /* Find File infolevels */ -#define SMB_FIND_FILE_DIRECTORY_INFO 0x101 -#define SMB_FIND_FILE_FULL_DIRECTORY_INFO 0x102 -#define SMB_FIND_FILE_NAMES_INFO 0x103 -#define SMB_FIND_FILE_BOTH_DIRECTORY_INFO 0x104 -#define SMB_FIND_FILE_ID_FULL_DIR_INFO 0x105 -#define SMB_FIND_FILE_ID_BOTH_DIR_INFO 0x106 -#define SMB_FIND_FILE_UNIX 0x202 +enum { + SMB_FIND_FILE_DIRECTORY_INFO = 0x101, + SMB_FIND_FILE_FULL_DIRECTORY_INFO = 0x102, + SMB_FIND_FILE_NAMES_INFO = 0x103, + SMB_FIND_FILE_BOTH_DIRECTORY_INFO = 0x104, + SMB_FIND_FILE_ID_FULL_DIR_INFO = 0x105, + SMB_FIND_FILE_ID_BOTH_DIR_INFO = 0x106, + SMB_FIND_FILE_UNIX = 0x202 +}; typedef struct smb_com_transaction2_qpi_req { struct smb_hdr hdr; /* wct = 14+ */ @@ -1223,11 +1271,13 @@ /* * Flags on T2 FINDFIRST and FINDNEXT */ -#define CIFS_SEARCH_CLOSE_ALWAYS 0x0001 -#define CIFS_SEARCH_CLOSE_AT_END 0x0002 -#define CIFS_SEARCH_RETURN_RESUME 0x0004 -#define CIFS_SEARCH_CONTINUE_FROM_LAST 0x0008 -#define CIFS_SEARCH_BACKUP_SEARCH 0x0010 +enum { + CIFS_SEARCH_CLOSE_ALWAYS = 0x0001, + CIFS_SEARCH_CLOSE_AT_END = 0x0002, + CIFS_SEARCH_RETURN_RESUME = 0x0004, + CIFS_SEARCH_CONTINUE_FROM_LAST = 0x0008, + CIFS_SEARCH_BACKUP_SEARCH = 0x0010 +}; /* * Size of the resume key on FINDFIRST and FINDNEXT calls @@ -1318,17 +1368,19 @@ } T2_FNEXT_RSP_PARMS; /* QFSInfo Levels */ -#define SMB_INFO_ALLOCATION 1 -#define SMB_INFO_VOLUME 2 -#define SMB_QUERY_FS_VOLUME_INFO 0x102 -#define SMB_QUERY_FS_SIZE_INFO 0x103 -#define SMB_QUERY_FS_DEVICE_INFO 0x104 -#define SMB_QUERY_FS_ATTRIBUTE_INFO 0x105 -#define SMB_QUERY_CIFS_UNIX_INFO 0x200 -#define SMB_QUERY_LABEL_INFO 0x3ea -#define SMB_QUERY_FS_QUOTA_INFO 0x3ee -#define SMB_QUERY_FS_FULL_SIZE_INFO 0x3ef -#define SMB_QUERY_OBJECTID_INFO 0x3f0 +enum { + SMB_INFO_ALLOCATION = 1, + SMB_INFO_VOLUME = 2, + SMB_QUERY_FS_VOLUME_INFO = 0x102, + SMB_QUERY_FS_SIZE_INFO = 0x103, + SMB_QUERY_FS_DEVICE_INFO = 0x104, + SMB_QUERY_FS_ATTRIBUTE_INFO = 0x105, + SMB_QUERY_CIFS_UNIX_INFO = 0x200, + SMB_QUERY_LABEL_INFO = 0x3ea, + SMB_QUERY_FS_QUOTA_INFO = 0x3ee, + SMB_QUERY_FS_FULL_SIZE_INFO = 0x3ef, + SMB_QUERY_OBJECTID_INFO = 0x3f0 +}; typedef struct smb_com_transaction2_qfsi_req { struct smb_hdr hdr; /* wct = 14+ */ @@ -1410,8 +1462,10 @@ } TRANSACTION2_GET_DFS_REFER_RSP; /* DFS Flags */ -#define DFSREF_REFERRAL_SERVER 0x0001 -#define DFSREF_STORAGE_SERVER 0x0002 +enum { + DFSREF_REFERRAL_SERVER = 0x0001, + DFSREF_STORAGE_SERVER = 0x0002 +}; /* IOCTL information */ /* List of ioctl function codes that look to be of interest to remote clients like this. */ @@ -1419,30 +1473,34 @@ /* Some of the following such as the encryption/compression ones would be */ /* invoked from tools via a specialized hook into the VFS rather than via the */ /* standard vfs entry points */ -#define FSCTL_REQUEST_OPLOCK_LEVEL_1 0x00090000 -#define FSCTL_REQUEST_OPLOCK_LEVEL_2 0x00090004 -#define FSCTL_REQUEST_BATCH_OPLOCK 0x00090008 -#define FSCTL_LOCK_VOLUME 0x00090018 -#define FSCTL_UNLOCK_VOLUME 0x0009001C -#define FSCTL_GET_COMPRESSION 0x0009003C -#define FSCTL_SET_COMPRESSION 0x0009C040 -#define FSCTL_REQUEST_FILTER_OPLOCK 0x0009008C -#define FSCTL_FILESYS_GET_STATISTICS 0x00090090 -#define FSCTL_SET_REPARSE_POINT 0x000900A4 -#define FSCTL_GET_REPARSE_POINT 0x000900A8 -#define FSCTL_DELETE_REPARSE_POINT 0x000900AC -#define FSCTL_SET_SPARSE 0x000900C4 -#define FSCTL_SET_ZERO_DATA 0x000900C8 -#define FSCTL_SET_ENCRYPTION 0x000900D7 -#define FSCTL_ENCRYPTION_FSCTL_IO 0x000900DB -#define FSCTL_WRITE_RAW_ENCRYPTED 0x000900DF -#define FSCTL_READ_RAW_ENCRYPTED 0x000900E3 -#define FSCTL_SIS_COPYFILE 0x00090100 -#define FSCTL_SIS_LINK_FILES 0x0009C104 - -#define IO_REPARSE_TAG_MOUNT_POINT 0xA0000003 -#define IO_REPARSE_TAG_HSM 0xC0000004 -#define IO_REPARSE_TAG_SIS 0x80000007 +enum { + FSCTL_REQUEST_OPLOCK_LEVEL_1 = 0x00090000, + FSCTL_REQUEST_OPLOCK_LEVEL_2 = 0x00090004, + FSCTL_REQUEST_BATCH_OPLOCK = 0x00090008, + FSCTL_LOCK_VOLUME = 0x00090018, + FSCTL_UNLOCK_VOLUME = 0x0009001C, + FSCTL_GET_COMPRESSION = 0x0009003C, + FSCTL_SET_COMPRESSION = 0x0009C040, + FSCTL_REQUEST_FILTER_OPLOCK = 0x0009008C, + FSCTL_FILESYS_GET_STATISTICS = 0x00090090, + FSCTL_SET_REPARSE_POINT = 0x000900A4, + FSCTL_GET_REPARSE_POINT = 0x000900A8, + FSCTL_DELETE_REPARSE_POINT = 0x000900AC, + FSCTL_SET_SPARSE = 0x000900C4, + FSCTL_SET_ZERO_DATA = 0x000900C8, + FSCTL_SET_ENCRYPTION = 0x000900D7, + FSCTL_ENCRYPTION_FSCTL_IO = 0x000900DB, + FSCTL_WRITE_RAW_ENCRYPTED = 0x000900DF, + FSCTL_READ_RAW_ENCRYPTED = 0x000900E3, + FSCTL_SIS_COPYFILE = 0x00090100, + FSCTL_SIS_LINK_FILES = 0x0009C104 +}; + +enum { + IO_REPARSE_TAG_MOUNT_POINT = 0xA0000003, + IO_REPARSE_TAG_HSM = 0xC0000004, + IO_REPARSE_TAG_SIS = 0x80000007 +}; /* ************************************************************************ @@ -1501,29 +1559,33 @@ __le64 Capability; } FILE_SYSTEM_UNIX_INFO; /* Unix extensions info, level 0x200 */ /* Linux/Unix extensions capability flags */ -#define CIFS_UNIX_FCNTL_CAP 0x00000001 /* support for fcntl locks */ -#define CIFS_UNIX_POSIX_ACL_CAP 0x00000002 -#define CIFS_UNIX_XATTR_CAP 0x00000004 /*support for new namespace*/ +enum { + CIFS_UNIX_FCNTL_CAP = 0x00000001, /* support for fcntl locks */ + CIFS_UNIX_POSIX_ACL_CAP = 0x00000002, + CIFS_UNIX_XATTR_CAP = 0x00000004 /*support for new namespace*/ +}; /* DeviceType Flags */ -#define FILE_DEVICE_CD_ROM 0x00000002 -#define FILE_DEVICE_CD_ROM_FILE_SYSTEM 0x00000003 -#define FILE_DEVICE_DFS 0x00000006 -#define FILE_DEVICE_DISK 0x00000007 -#define FILE_DEVICE_DISK_FILE_SYSTEM 0x00000008 -#define FILE_DEVICE_FILE_SYSTEM 0x00000009 -#define FILE_DEVICE_NAMED_PIPE 0x00000011 -#define FILE_DEVICE_NETWORK 0x00000012 -#define FILE_DEVICE_NETWORK_FILE_SYSTEM 0x00000014 -#define FILE_DEVICE_NULL 0x00000015 -#define FILE_DEVICE_PARALLEL_PORT 0x00000016 -#define FILE_DEVICE_PRINTER 0x00000018 -#define FILE_DEVICE_SERIAL_PORT 0x0000001b -#define FILE_DEVICE_STREAMS 0x0000001e -#define FILE_DEVICE_TAPE 0x0000001f -#define FILE_DEVICE_TAPE_FILE_SYSTEM 0x00000020 -#define FILE_DEVICE_VIRTUAL_DISK 0x00000024 -#define FILE_DEVICE_NETWORK_REDIRECTOR 0x00000028 +enum { + FILE_DEVICE_CD_ROM = 0x00000002, + FILE_DEVICE_CD_ROM_FILE_SYSTEM = 0x00000003, + FILE_DEVICE_DFS = 0x00000006, + FILE_DEVICE_DISK = 0x00000007, + FILE_DEVICE_DISK_FILE_SYSTEM = 0x00000008, + FILE_DEVICE_FILE_SYSTEM = 0x00000009, + FILE_DEVICE_NAMED_PIPE = 0x00000011, + FILE_DEVICE_NETWORK = 0x00000012, + FILE_DEVICE_NETWORK_FILE_SYSTEM = 0x00000014, + FILE_DEVICE_NULL = 0x00000015, + FILE_DEVICE_PARALLEL_PORT = 0x00000016, + FILE_DEVICE_PRINTER = 0x00000018, + FILE_DEVICE_SERIAL_PORT = 0x0000001b, + FILE_DEVICE_STREAMS = 0x0000001e, + FILE_DEVICE_TAPE = 0x0000001f, + FILE_DEVICE_TAPE_FILE_SYSTEM = 0x00000020, + FILE_DEVICE_VIRTUAL_DISK = 0x00000024, + FILE_DEVICE_NETWORK_REDIRECTOR = 0x00000028 +}; typedef struct { __le32 DeviceType; @@ -1565,13 +1627,16 @@ } FILE_ALL_INFO; /* level 0x107 QPathInfo */ /* defines for enumerating possible values of the Unix type field below */ -#define UNIX_FILE 0 -#define UNIX_DIR 1 -#define UNIX_SYMLINK 2 -#define UNIX_CHARDEV 3 -#define UNIX_BLOCKDEV 4 -#define UNIX_FIFO 5 -#define UNIX_SOCKET 6 +enum { + UNIX_FILE = 0, + UNIX_DIR = 1, + UNIX_SYMLINK = 2, + UNIX_CHARDEV = 3, + UNIX_BLOCKDEV = 4, + UNIX_FIFO = 5, + UNIX_SOCKET = 6 +}; + typedef struct { __le64 EndOfFile; __le64 NumOfBytes; @@ -1660,21 +1725,6 @@ struct cifs_posix_ace default_ace_arraay[] */ }; /* level 0x204 */ -/* types of access control entries already defined in posix_acl.h */ -/* #define CIFS_POSIX_ACL_USER_OBJ 0x01 -#define CIFS_POSIX_ACL_USER 0x02 -#define CIFS_POSIX_ACL_GROUP_OBJ 0x04 -#define CIFS_POSIX_ACL_GROUP 0x08 -#define CIFS_POSIX_ACL_MASK 0x10 -#define CIFS_POSIX_ACL_OTHER 0x20 */ - -/* types of perms */ -/* #define CIFS_POSIX_ACL_EXECUTE 0x01 -#define CIFS_POSIX_ACL_WRITE 0x02 -#define CIFS_POSIX_ACL_READ 0x04 */ - -/* end of POSIX ACL definitions */ - struct file_internal_info { __u64 UniqueId; /* inode number */ }; /* level 0x3ee */ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/