diff options
Diffstat (limited to 'usr/src/uts/common/smbsrv/cifs.h')
-rw-r--r-- | usr/src/uts/common/smbsrv/cifs.h | 1217 |
1 files changed, 0 insertions, 1217 deletions
diff --git a/usr/src/uts/common/smbsrv/cifs.h b/usr/src/uts/common/smbsrv/cifs.h deleted file mode 100644 index 2f6339c04d..0000000000 --- a/usr/src/uts/common/smbsrv/cifs.h +++ /dev/null @@ -1,1217 +0,0 @@ -/* - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License (the "License"). - * You may not use this file except in compliance with the License. - * - * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * When distributing Covered Code, include this CDDL HEADER in each - * file and include the License file at usr/src/OPENSOLARIS.LICENSE. - * If applicable, add the following below this CDDL HEADER, with the - * fields enclosed by brackets "[]" replaced with your own identifying - * information: Portions Copyright [yyyy] [name of copyright owner] - * - * CDDL HEADER END - */ -/* - * Copyright 2009 Sun Microsystems, Inc. All rights reserved. - * Use is subject to license terms. - */ - -#ifndef _SMBSRV_CIFS_H -#define _SMBSRV_CIFS_H - - -/* - * This file provides definitions for the CIFS interface. The Macintosh - * Extensions for CIFS are defined in mac_cifs.h. - */ - -/* - * Macintosh Extensions for CIFS - */ -#include <smbsrv/mac_cifs.h> - -/* - * NT Installable File System (IFS) interface. - */ -#include <smbsrv/ntifs.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/* Share types */ -#ifndef _SHARE_TYPES_DEFINED_ -#define _SHARE_TYPES_DEFINED_ -#define STYPE_DISKTREE 0x00000000 -#define STYPE_PRINTQ 0x00000001 -#define STYPE_DEVICE 0x00000002 -#define STYPE_IPC 0x00000003 -#define STYPE_MASK 0x0000000F -#define STYPE_DFS 0x00000064 -#define STYPE_HIDDEN 0x80000000 -#define STYPE_SPECIAL 0x80000000 -#endif /* _SHARE_TYPES_DEFINED_ */ - -#define STYPE_ISDSK(S) (((S) & STYPE_MASK) == STYPE_DISKTREE) -#define STYPE_ISPRN(S) (((S) & STYPE_MASK) == STYPE_PRINTQ) -#define STYPE_ISDEV(S) (((S) & STYPE_MASK) == STYPE_DEVICE) -#define STYPE_ISIPC(S) (((S) & STYPE_MASK) == STYPE_IPC) - -/* - * NtCreateAndX and NtTransactCreate creation flags: defined in CIFS - * section 4.2.2 - * - * Creation Flag Name Value Description - * ========================== ====== ================================== - * NT_CREATE_REQUEST_OPLOCK 0x02 Level I oplock requested - * NT_CREATE_REQUEST_OPBATCH 0x04 Batch oplock requested - * NT_CREATE_OPEN_TARGET_DIR 0x08 Target for open is a directory - */ -#define NT_CREATE_FLAG_REQUEST_OPLOCK 0x02 -#define NT_CREATE_FLAG_REQUEST_OPBATCH 0x04 -#define NT_CREATE_FLAG_OPEN_TARGET_DIR 0x08 - - -/* - * Define the filter flags for NtNotifyChangeDirectoryFile - */ -#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_NOTIFY_VALID_MASK 0x00000fff - - -/* - * Define the file action type codes for NtNotifyChangeDirectoryFile - */ -#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 - - -/* Lock type flags */ -#define LOCKING_ANDX_NORMAL_LOCK 0x00 -#define LOCKING_ANDX_SHARED_LOCK 0x01 -#define LOCKING_ANDX_OPLOCK_RELEASE 0x02 -#define LOCKING_ANDX_CHANGE_LOCK_TYPE 0x04 -#define LOCKING_ANDX_CANCEL_LOCK 0x08 -#define LOCKING_ANDX_LARGE_FILES 0x10 - -#define SMB_COM_CREATE_DIRECTORY 0x00 -#define SMB_COM_DELETE_DIRECTORY 0x01 -#define SMB_COM_OPEN 0x02 -#define SMB_COM_CREATE 0x03 -#define SMB_COM_CLOSE 0x04 -#define SMB_COM_FLUSH 0x05 -#define SMB_COM_DELETE 0x06 -#define SMB_COM_RENAME 0x07 -#define SMB_COM_QUERY_INFORMATION 0x08 -#define SMB_COM_SET_INFORMATION 0x09 -#define SMB_COM_READ 0x0A -#define SMB_COM_WRITE 0x0B -#define SMB_COM_LOCK_BYTE_RANGE 0x0C -#define SMB_COM_UNLOCK_BYTE_RANGE 0x0D -#define SMB_COM_CREATE_TEMPORARY 0x0E -#define SMB_COM_CREATE_NEW 0x0F -#define SMB_COM_CHECK_DIRECTORY 0x10 -#define SMB_COM_PROCESS_EXIT 0x11 -#define SMB_COM_SEEK 0x12 -#define SMB_COM_LOCK_AND_READ 0x13 -#define SMB_COM_WRITE_AND_UNLOCK 0x14 - -#define SMB_COM_READ_RAW 0x1A -#define SMB_COM_READ_MPX 0x1B -#define SMB_COM_READ_MPX_SECONDARY 0x1C -#define SMB_COM_WRITE_RAW 0x1D -#define SMB_COM_WRITE_MPX 0x1E -#define SMB_COM_WRITE_MPX_SECONDARY 0x1F -#define SMB_COM_WRITE_COMPLETE 0x20 - -#define SMB_COM_SET_INFORMATION2 0x22 -#define SMB_COM_QUERY_INFORMATION2 0x23 -#define SMB_COM_LOCKING_ANDX 0x24 -#define SMB_COM_TRANSACTION 0x25 -#define SMB_COM_TRANSACTION_SECONDARY 0x26 -#define SMB_COM_IOCTL 0x27 -#define SMB_COM_IOCTL_SECONDARY 0x28 -#define SMB_COM_COPY 0x29 -#define SMB_COM_MOVE 0x2A -#define SMB_COM_ECHO 0x2B -#define SMB_COM_WRITE_AND_CLOSE 0x2C -#define SMB_COM_OPEN_ANDX 0x2D -#define SMB_COM_READ_ANDX 0x2E -#define SMB_COM_WRITE_ANDX 0x2F - -#define SMB_COM_CLOSE_AND_TREE_DISC 0x31 -#define SMB_COM_TRANSACTION2 0x32 -#define SMB_COM_TRANSACTION2_SECONDARY 0x33 -#define SMB_COM_FIND_CLOSE2 0x34 -#define SMB_COM_FIND_NOTIFY_CLOSE 0x35 - -#define SMB_COM_TREE_CONNECT 0x70 -#define SMB_COM_TREE_DISCONNECT 0x71 -#define SMB_COM_NEGOTIATE 0x72 -#define SMB_COM_SESSION_SETUP_ANDX 0x73 -#define SMB_COM_LOGOFF_ANDX 0x74 -#define SMB_COM_TREE_CONNECT_ANDX 0x75 - -#define SMB_COM_QUERY_INFORMATION_DISK 0x80 -#define SMB_COM_SEARCH 0x81 -#define SMB_COM_FIND 0x82 -#define SMB_COM_FIND_UNIQUE 0x83 -#define SMB_COM_FIND_CLOSE 0x84 - -#define SMB_COM_NT_TRANSACT 0xA0 -#define SMB_COM_NT_TRANSACT_SECONDARY 0xA1 -#define SMB_COM_NT_CREATE_ANDX 0xA2 -#define SMB_COM_NT_CANCEL 0xA4 - -#define SMB_COM_OPEN_PRINT_FILE 0xC0 -#define SMB_COM_WRITE_PRINT_FILE 0xC1 -#define SMB_COM_CLOSE_PRINT_FILE 0xC2 -#define SMB_COM_GET_PRINT_QUEUE 0xC3 - - -/* - * Flags field of the SMB header. The names in parenthesis represent - * alternative names for the flags. - * - * SMB_FLAGS_LOCK_AND_READ_OK If the server supports LockAndRead and - * (SMB_FLAGS_LOCKS_SUBDIALECT) WriteAndUnlock, it sets this bit in the - * Negotiate response. - * - * SMB_FLAGS_SEND_NO_ACK When on, the client guarantees that there - * (SMB_FLAGS_RCV_BUF_POSTED) is a receive buffer posted such that a - * "Send-No-Ack" can be used by the server - * to respond to the client's request. - * - * SMB_FLAGS_CASE_INSENSITIVE This is part of the Flags field of every - * SMB header. If this bit is set, then all - * pathnames in the SMB should be treated as - * case-insensitive. Otherwise pathnames are - * case-sensitive. - * - * SMB_FLAGS_CANONICALIZED_PATHS When on in SessionSetupX, this indicates - * that all paths sent to the server are - * already in OS/2 canonicalized format. - * - * OS/2 canonical format means that file/directory names are in upper case, - * are valid characters, . and .. have been removed and single backslashes - * are used as separators. - * - * SMB_FLAGS_OPLOCK When set in an open file request SMBs - * (Open, Create, OpenX, etc.) this bit - * indicates a request for an oplock on the - * file. When set in the response, this bit - * indicates that the oplock was granted. - * - * SMB_FLAGS_OPLOCK_NOTIFY_ANY When on, this bit indicates that the server - * should notify the client on any request - * that could cause the file to be changed. - * If not set, the server only notifies the - * client on other open requests on the file. - * This bit is only relevant when - * SMB_FLAGS_OPLOCK is set. - * - * SMB_FLAGS_SERVER_TO_REDIR This bit indicates that the SMB is being - * (SMB_FLAGS_REPLY) sent from server to (client) redirector. - */ -#define SMB_FLAGS_LOCK_AND_READ_OK 0x01 -#define SMB_FLAGS_SEND_NO_ACK 0x02 -#define SMB_FLAGS_RESERVED 0x04 -#define SMB_FLAGS_CASE_INSENSITIVE 0x08 -#define SMB_FLAGS_CANONICALIZED_PATHS 0x10 -#define SMB_FLAGS_OPLOCK 0x20 -#define SMB_FLAGS_OPLOCK_NOTIFY_ANY 0x40 -#define SMB_FLAGS_REPLY 0x80 - - -/* - * Flags2 field of the SMB header. - */ -#define SMB_FLAGS2_KNOWS_LONG_NAMES 0x0001 -#define SMB_FLAGS2_KNOWS_EAS 0x0002 -#define SMB_FLAGS2_SMB_SECURITY_SIGNATURE 0x0004 -#define SMB_FLAGS2_IS_LONG_NAME 0x0040 -#define SMB_FLAGS2_REPARSE_PATH 0x0400 -#define SMB_FLAGS2_EXT_SEC 0x0800 -#define SMB_FLAGS2_DFS 0x1000 -#define SMB_FLAGS2_PAGING_IO 0x2000 -#define SMB_FLAGS2_NT_STATUS 0x4000 -#define SMB_FLAGS2_UNICODE 0x8000 - -#define DIALECT_UNKNOWN 0 -#define PC_NETWORK_PROGRAM_1_0 1 /* The original MSNET SMB protocol */ -#define PCLAN1_0 2 /* Some versions of the original MSNET */ -#define MICROSOFT_NETWORKS_1_03 3 /* This is used for the MS-NET 1.03 */ -#define MICROSOFT_NETWORKS_3_0 4 /* This is the DOS LANMAN 1.0 specific */ -#define LANMAN1_0 5 /* This is the first version of the full */ -#define LM1_2X002 6 /* This is the first version of the full */ -#define DOS_LM1_2X002 7 /* This is the dos equivalent of the */ -#define DOS_LANMAN2_1 8 /* DOS LANMAN2.1 */ -#define LANMAN2_1 9 /* OS/2 LANMAN2.1 */ -#define Windows_for_Workgroups_3_1a 10 /* Windows for Workgroups Version 1.0 */ -#define NT_LM_0_12 11 /* The SMB protocol designed for NT */ - -/* - * SMB_TREE_CONNECT_ANDX OptionalSupport flags - * - * SMB_SUPPORT_SEARCH_BITS The server supports SearchAttributes. - * SMB_SHARE_IS_IN_DFS The share is managed by DFS. - * SMB_CSC_MASK Offline-caching mask - see CSC values. - * SMB_UNIQUE_FILE_NAME The server uses long names and does not support - * short names. This indicates to clients that - * they may perform directory name-space caching. - * SMB_EXTENDED_SIGNATURES The server will use signing key protection. - * - * SMB_CSC_CACHE_MANUAL_REINT Clients are allowed to cache files for offline - * use as requested by users but automatic - * file-by-file reintegration is not allowed. - * SMB_CSC_CACHE_AUTO_REINT Clients are allowed to automatically cache - * files for offline use and file-by-file - * reintegration is allowed. - * SMB_CSC_CACHE_VDO Clients are allowed to automatically cache files - * for offline use, file-by-file reintegration is - * allowed and clients are permitted to work from - * their local cache even while offline. - * SMB_CSC_CACHE_NONE Client-side caching is disabled for this share. - * - * SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUM - * The server will filter directory entries based - * on the access permissions of the client. - */ -#define SMB_SUPPORT_SEARCH_BITS 0x0001 -#define SMB_SHARE_IS_IN_DFS 0x0002 -#define SMB_CSC_MASK 0x000C -#define SMB_UNIQUE_FILE_NAME 0x0010 -#define SMB_EXTENDED_SIGNATURES 0x0020 - -#define SMB_CSC_CACHE_MANUAL_REINT 0x0000 -#define SMB_CSC_CACHE_AUTO_REINT 0x0004 -#define SMB_CSC_CACHE_VDO 0x0008 -#define SMB_CSC_CACHE_NONE 0x000C - -#define SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUM 0x0800 - -/* - * The subcommand codes, placed in SETUP[0], for named pipe operations are: - * SubCommand Code Value Description - * =================== ===== ========================================= - */ - -#define CallNamedPipe 0x54 /* open/write/read/close pipe */ -#define WaitNamedPipe 0x53 /* wait for pipe to be nonbusy */ -#define PeekNmPipe 0x23 /* read but don't remove data */ -#define QNmPHandState 0x21 /* query pipe handle modes */ -#define SetNmPHandState 0x01 /* set pipe handle modes */ -#define QNmPipeInfo 0x22 /* query pipe attributes */ -#define TransactNmPipe 0x26 /* write/read operation on pipe */ -#define RawReadNmPipe 0x11 /* read pipe in "raw" (non message mode) */ -#define RawWriteNmPipe 0x31 /* write pipe "raw" (non message mode) */ - - - -/* - * Setup[0] Transaction2 Value Description - * Subcommand Code - * ========================== ===== ============================= - */ - -#define TRANS2_OPEN2 0x00 /* Create file, extended attributes */ -#define TRANS2_FIND_FIRST2 0x01 /* Begin search for files */ -#define TRANS2_FIND_NEXT2 0x02 /* Resume search for files */ -#define TRANS2_QUERY_FS_INFORMATION 0x03 /* Get file system information */ -#define _TRANS2_RESV_0x04 0x04 /* Reserved */ -#define TRANS2_QUERY_PATH_INFORMATION 0x05 /* Get info, named file or dir */ -#define TRANS2_SET_PATH_INFORMATION 0x06 /* Set info, named file or dir */ -#define TRANS2_QUERY_FILE_INFORMATION 0x07 /* Get info, handle */ -#define TRANS2_SET_FILE_INFORMATION 0x08 /* Set info, handle */ -#define TRANS2_FSCTL 0x09 /* Not implemented by NT server */ -#define TRANS2_IOCTL2 0x0A /* Not implemented by NT server */ -#define TRANS2_FIND_NOTIFY_FIRST 0x0B /* Not implemented by NT server */ -#define TRANS2_FIND_NOTIFY_NEXT 0x0C /* Not implemented by NT server */ -#define TRANS2_CREATE_DIRECTORY 0x0D /* Create dir, extended attributes */ -#define TRANS2_SESSION_SETUP 0x0E /* Session setup, extended security */ -#define TRANS2_GET_DFS_REFERRAL 0x10 /* Get a Dfs referral */ -#define TRANS2_REPORT_DFS_INCONSISTENCY 0x11 /* Report a Dfs inconsistency */ - -/* - * Access Mode Encoding (CIFS/1.0 1996 Section 3.8). - * - * The desired access mode passed in SmbOpen and SmbOpenAndX has the following - * mapping: - * - * 1111 11 - * 5432 1098 7654 3210 - * rWrC rLLL rSSS rAAA - * - * where: - * - * W - Write through mode. No read ahead or write behind allowed on - * this file or device. When protocol is returned, data is expected - * to be on the disk or device. - * - * S - Sharing mode: - * 0 - Compatibility mode (as in core open) - * 1 - Deny read/write/execute (exclusive) - * 2 - Deny write - * 3 - Deny read/execute - * 4 - Deny none - * - * A - Access mode - * 0 - Open for reading - * 1 - Open for writing - * 2 - Open for reading and writing - * 3 - Open for execute - * - * rSSSrAAA = 11111111 (hex FF) indicates FCB open (as in core protocol) - * - * C - Cache mode - * 0 - Normal file - * 1 - Do not cache this file - * - * L - Locality of reference - * 0 - Locality of reference is unknown - * 1 - Mainly sequential access - * 2 - Mainly random access - * 3 - Random access with some locality - * 4 to 7 - Currently undefined - */ - - -#define SMB_DA_SHARE_MASK 0x70 -#define SMB_DA_ACCESS_MASK 0x07 -#define SMB_DA_FCB_MASK (UCHAR)0xFF - -#define SMB_DA_ACCESS_READ 0x00 -#define SMB_DA_ACCESS_WRITE 0x01 -#define SMB_DA_ACCESS_READ_WRITE 0x02 -#define SMB_DA_ACCESS_EXECUTE 0x03 - -#define SMB_DA_SHARE_COMPATIBILITY 0x00 -#define SMB_DA_SHARE_EXCLUSIVE 0x10 -#define SMB_DA_SHARE_DENY_WRITE 0x20 -#define SMB_DA_SHARE_DENY_READ 0x30 -#define SMB_DA_SHARE_DENY_NONE 0x40 - -#define SMB_DA_FCB (UCHAR)0xFF - -#define SMB_CACHE_NORMAL 0x0000 -#define SMB_DO_NOT_CACHE 0x1000 - -#define SMB_LR_UNKNOWN 0x0000 -#define SMB_LR_SEQUENTIAL 0x0100 -#define SMB_LR_RANDOM 0x0200 -#define SMB_LR_RANDOM_WITH_LOCALITY 0x0300 -#define SMB_LR_MASK 0x0F00 - -#define SMB_DA_WRITE_THROUGH 0x4000 - -/* - * Macros used for share reservation rule checking - */ - -#define SMB_DENY_READ(share_access) ((share_access & FILE_SHARE_READ) == 0) - -#define SMB_DENY_WRITE(share_access) ((share_access & FILE_SHARE_WRITE) == 0) - -#define SMB_DENY_DELETE(share_access) ((share_access & FILE_SHARE_DELETE) == 0) - -#define SMB_DENY_RW(share_access) \ - ((share_access & (FILE_SHARE_READ | FILE_SHARE_WRITE)) == 0) - -#define SMB_DENY_ALL(share_access) (share_access == 0) - -#define SMB_DENY_NONE(share_access) (share_access == FILE_SHARE_ALL) - -/* - * The SMB open function determines what action should be taken depending - * on the existence or lack thereof of files used in the operation. It - * has the following mapping: - * - * 1111 1 - * 5432 1098 7654 3210 - * rrrr rrrr rrrC rrOO - * - * where: - * - * O - Open (action to be taken if the target file exists) - * 0 - Fail - * 1 - Open or Append file - * 2 - Truncate file - * - * C - Create (action to be taken if the target file does not exist) - * 0 - Fail - * 1 - Create file - */ - -#define SMB_OFUN_OPEN_MASK 0x3 -#define SMB_OFUN_CREATE_MASK 0x10 - -#define SMB_OFUN_OPEN_FAIL 0 -#define SMB_OFUN_OPEN_APPEND 1 -#define SMB_OFUN_OPEN_OPEN 1 -#define SMB_OFUN_OPEN_TRUNCATE 2 - -#define SMB_OFUN_CREATE_FAIL 0x00 -#define SMB_OFUN_CREATE_CREATE 0x10 - -/* - * The Action field of OpenAndX has the following format: - * - * 1111 11 - * 5432 1098 7654 3210 - * Lrrr rrrr rrrr rrOO - * - * where: - * - * L - Opportunistic lock. 1 if lock granted, else 0. - * - * O - Open action: - * 1 - The file existed and was opened - * 2 - The file did not exist but was created - * 3 - The file existed and was truncated - */ - -#define SMB_OACT_LOCK 0x8000 -#define SMB_OACT_OPENED 0x01 -#define SMB_OACT_CREATED 0x02 -#define SMB_OACT_TRUNCATED 0x03 - -#define SMB_OACT_OPLOCK 0x8000 - -#define SMB_FTYPE_DISK 0 -#define SMB_FTYPE_BYTE_PIPE 1 -#define SMB_FTYPE_MESG_PIPE 2 -#define SMB_FTYPE_PRINTER 3 -#define SMB_FTYPE_UNKNOWN 0xFFFF - -#define SMB_DEVST_BLOCKING 0x8000 -#define SMB_DEVST_ENDPOINT 0x4000 -#define SMB_DEVST_TYPE_MASK 0x0C00 -#define SMB_DEVST_TYPE_BYTE_PIPE 0x0000 -#define SMB_DEVST_TYPE_MESG_PIPE 0x0400 -#define SMB_DEVST_RMODE_MASK 0x0300 -#define SMB_DEVST_RMODE_BYTES 0x0000 -#define SMB_DEVST_RMODE_MESGS 0x0100 -#define SMB_DEVST_ICOUNT_MASK 0x00FF /* not used */ - -#define SMB_FTYPE_IS_DISK(F) ((F) == SMB_FTYPE_DISK) -#define SMB_FTYPE_IS_PIPE(F) \ - (((F) == SMB_FTYPE_BYTE_PIPE) || ((F) == SMB_FTYPE_MESG_PIPE)) -#define SMB_FTYPE_IS_PRINTER(F) ((F) == SMB_FTYPE_PRINTER) - -/* - * TRANS2_FIND - */ -#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_DIRECTORY_INFO 0x105 -#define SMB_FIND_FILE_ID_BOTH_DIRECTORY_INFO 0x106 -#define SMB_MAC_FIND_BOTH_HFS_INFO MAC_FIND_BOTH_HFS_INFO - - -/* - * Flags for TRANS2_FIND_FIRST2 and TRANS2_FIND_NEXT2 - * (NTDDK cifs.h). - * - * If SMB_FIND_RETURN_RESUME_KEYS was set in the request parameters, - * each entry is preceded by a four-byte resume key. - */ -#define SMB_FIND_CLOSE_AFTER_REQUEST 0x01 -#define SMB_FIND_CLOSE_AT_EOS 0x02 -#define SMB_FIND_RETURN_RESUME_KEYS 0x04 -#define SMB_FIND_CONTINUE_FROM_LAST 0x08 -#define SMB_FIND_WITH_BACKUP_INTENT 0x10 - - -/* - * TRANS2_QUERY_FS_INFORMATION - */ -#define SMB_INFO_ALLOCATION 1 -#define SMB_INFO_VOLUME 2 -#define SMB_QUERY_FS_LABEL_INFO 0x101 -#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_FS_QUOTA_INFO 0x106 /* unused? */ -#define SMB_QUERY_FS_CONTROL_INFO 0x107 -#define SMB_MAC_QUERY_FS_INFO MAC_QUERY_FS_INFO - - -/* - * Internal use only. - * Define information levels to represent the following requests: - * smb_query_information - * smb_query_information2 - * smb_set_information - * smb_set_information2 - */ -#define SMB_QUERY_INFORMATION 0x3001 -#define SMB_QUERY_INFORMATION2 0x3002 -#define SMB_SET_INFORMATION 0x3001 -#define SMB_SET_INFORMATION2 0x3002 - -/* TRANS2_QUERY_{PATH,FILE}_INFORMATION */ -#define SMB_INFO_STANDARD 1 /* query, set */ -#define SMB_INFO_QUERY_EA_SIZE 2 /* query */ -#define SMB_INFO_SET_EAS 2 /* set */ -#define SMB_INFO_QUERY_EAS_FROM_LIST 3 /* query */ -#define SMB_INFO_QUERY_ALL_EAS 4 /* query */ -#define SMB_INFO_QUERY_FULL_NAME 5 /* unused */ -#define SMB_INFO_IS_NAME_VALID 6 /* query */ - -#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 /* unused */ -#define SMB_QUERY_FILE_END_OF_FILE_INFO 0x106 /* unused */ -#define SMB_QUERY_FILE_ALL_INFO 0x107 -#define SMB_QUERY_FILE_ALT_NAME_INFO 0x108 -#define SMB_QUERY_FILE_STREAM_INFO 0x109 -#define SMB_QUERY_FILE_COMPRESSION_INFO 0x10B - -#define SMB_MAC_SET_FINDER_INFO MAC_SET_FINDER_INFO -#define SMB_MAC_DT_ADD_APPL MAC_DT_ADD_APPL -#define SMB_MAC_DT_REMOVE_APPL MAC_DT_REMOVE_APPL -#define SMB_MAC_DT_GET_APPL MAC_DT_GET_APPL -#define SMB_MAC_DT_GET_ICON MAC_DT_GET_ICON -#define SMB_MAC_DT_GET_ICON_INFO MAC_DT_GET_ICON_INFO -#define SMB_MAC_DT_ADD_ICON MAC_DT_ADD_ICON - -#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 - - -/* NT passthrough levels - see ntifs.h FILE_INFORMATION_CLASS */ -#define SMB_FILE_BASIC_INFORMATION 1004 -#define SMB_FILE_STANDARD_INFORMATION 1005 -#define SMB_FILE_INTERNAL_INFORMATION 1006 -#define SMB_FILE_EA_INFORMATION 1007 -#define SMB_FILE_ACCESS_INFORMATION 1008 -#define SMB_FILE_NAME_INFORMATION 1009 -#define SMB_FILE_DISPOSITION_INFORMATION 1013 -#define SMB_FILE_ALL_INFORMATION 1018 -#define SMB_FILE_ALLOCATION_INFORMATION 1019 -#define SMB_FILE_END_OF_FILE_INFORMATION 1020 -#define SMB_FILE_ALT_NAME_INFORMATION 1021 -#define SMB_FILE_STREAM_INFORMATION 1022 -#define SMB_FILE_COMPRESSION_INFORMATION 1028 -#define SMB_FILE_ATTR_TAG_INFORMATION 1035 - -/* - * The following bits may be set in the SecurityMode field of the - * SMB_COM_NEGOTIATE response. - * - * Notes: - * NEGOTIATE_SECURITY_SHARE_LEVEL is a montana2 invention. - * - * The NTDDK cifs.h definitions are: - * #define NEGOTIATE_USER_SECURITY 0x01 - * #define NEGOTIATE_ENCRYPT_PASSWORDS 0x02 - * #define NEGOTIATE_SECURITY_SIGNATURES_ENABLED 0x04 - * #define NEGOTIATE_SECURITY_SIGNATURES_REQUIRED 0x08 - */ -#define NEGOTIATE_SECURITY_SHARE_LEVEL 0x00 -#define NEGOTIATE_SECURITY_USER_LEVEL 0x01 -#define NEGOTIATE_SECURITY_CHALLENGE_RESPONSE 0x02 -#define NEGOTIATE_SECURITY_SIGNATURES_ENABLED 0x04 -#define NEGOTIATE_SECURITY_SIGNATURES_REQUIRED 0x08 - - -/* - * Negotiated Capabilities (CIFS/1.0 section 4.1.1) - * - * Capabilities allow the server to tell the client what it supports. - * Undefined bits MUST be set to zero by servers, and MUST be ignored - * by clients. The bit definitions are: - * - * Capability Name Encoding Meaning - * ==================== ======== ================================== - * CAP_RAW_MODE 0x0001 The server supports SMB_COM_READ_RAW and - * SMB_COM_WRITE_RAW (obsolescent) - * CAP_MPX_MODE 0x0002 The server supports SMB_COM_READ_MPX and - * SMB_COM_WRITE_MPX (obsolescent) - * CAP_UNICODE 0x0004 The server supports Unicode strings - * CAP_LARGE_FILES 0x0008 The server supports large files with 64 - * bit offsets - * CAP_NT_SMBS 0x0010 The server supports the SMBs particular - * to the NT LM 0.12 dialect. - * Implies CAP_NT_FIND. - * CAP_RPC_REMOTE_APIS 0x0020 The server supports remote admin API - * requests via DCE RPC - * CAP_STATUS32 0x0040 The server can respond with 32 bit - * status codes in Status.Status - * CAP_LEVEL_II_OPLOCKS 0x0080 The server supports level 2 oplocks - * CAP_LOCK_AND_READ 0x0100 The server supports the - * SMB_COM_LOCK_AND_READ SMB - * CAP_NT_FIND 0x0200 - * CAP_BULK_TRANSFER 0x0400 - * CAP_COMPRESSED_BULK 0x0800 - * CAP_DFS 0x1000 The server is DFS aware - * CAP_LARGE_READX 0x4000 The server supports large - * SMB_COM_READ_ANDX - * CAP_LARGE_WRITEX 0x8000 The server supports large - * SMB_COM_WRITE_ANDX - * CAP_RESERVED 0x02000000 Reserved for future use. - * CAP_EXTENDED_SECURITY 0x80000000 The server supports extended security - * exchanges. - * - * Extended security exchanges provides a means of supporting arbitrary - * authentication protocols within CIFS. Security blobs are opaque to the - * CIFS protocol; they are messages in some authentication protocol that - * has been agreed upon by client and server by some out of band mechanism, - * for which CIFS merely functions as a transport. When - * CAP_EXTENDED_SECURITY is negotiated, the server includes a first - * security blob in its response; subsequent security blobs are exchanged - * in SMB_COM_SESSION_SETUP_ANDX requests and responses until the - * authentication protocol terminates. - */ -#define CAP_RAW_MODE 0x0001 -#define CAP_MPX_MODE 0x0002 -#define CAP_UNICODE 0x0004 -#define CAP_LARGE_FILES 0x0008 -#define CAP_NT_SMBS 0x0010 -#define CAP_RPC_REMOTE_APIS 0x0020 -#define CAP_STATUS32 0x0040 -#define CAP_LEVEL_II_OPLOCKS 0x0080 -#define CAP_LOCK_AND_READ 0x0100 -#define CAP_NT_FIND 0x0200 -#define CAP_BULK_TRANSFER 0x0400 -#define CAP_COMPRESSED_BULK 0x0800 -#define CAP_DFS 0x1000 -#define CAP_LARGE_READX 0x4000 -#define CAP_LARGE_WRITEX 0x8000 -#define CAP_RESERVED 0x02000000 -#define CAP_EXTENDED_SECURITY 0x80000000 - - -/* - * Different device types according to NT - */ -#define FILE_DEVICE_BEEP 0x00000001 -#define FILE_DEVICE_CD_ROM 0x00000002 -#define FILE_DEVICE_CD_ROM_FILE_SYSTEM 0x00000003 -#define FILE_DEVICE_CONTROLLER 0x00000004 -#define FILE_DEVICE_DATALINK 0x00000005 -#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_INPORT_PORT 0x0000000a -#define FILE_DEVICE_KEYBOARD 0x0000000b -#define FILE_DEVICE_MAILSLOT 0x0000000c -#define FILE_DEVICE_MIDI_IN 0x0000000d -#define FILE_DEVICE_MIDI_OUT 0x0000000e -#define FILE_DEVICE_MOUSE 0x0000000f -#define FILE_DEVICE_MULTI_UNC_PROVIDER 0x00000010 -#define FILE_DEVICE_NAMED_PIPE 0x00000011 -#define FILE_DEVICE_NETWORK 0x00000012 -#define FILE_DEVICE_NETWORK_BROWSER 0x00000013 -#define FILE_DEVICE_NETWORK_FILE_SYSTEM 0x00000014 -#define FILE_DEVICE_NULL 0x00000015 -#define FILE_DEVICE_PARALLEL_PORT 0x00000016 -#define FILE_DEVICE_PHYSICAL_NETCARD 0x00000017 -#define FILE_DEVICE_PRINTER 0x00000018 -#define FILE_DEVICE_SCANNER 0x00000019 -#define FILE_DEVICE_SERIAL_MOUSE_PORT 0x0000001a -#define FILE_DEVICE_SERIAL_PORT 0x0000001b -#define FILE_DEVICE_SCREEN 0x0000001c -#define FILE_DEVICE_SOUND 0x0000001d -#define FILE_DEVICE_STREAMS 0x0000001e -#define FILE_DEVICE_TAPE 0x0000001f -#define FILE_DEVICE_TAPE_FILE_SYSTEM 0x00000020 -#define FILE_DEVICE_TRANSPORT 0x00000021 -#define FILE_DEVICE_UNKNOWN 0x00000022 -#define FILE_DEVICE_VIDEO 0x00000023 -#define FILE_DEVICE_VIRTUAL_DISK 0x00000024 -#define FILE_DEVICE_WAVE_IN 0x00000025 -#define FILE_DEVICE_WAVE_OUT 0x00000026 -#define FILE_DEVICE_8042_PORT 0x00000027 -#define FILE_DEVICE_NETWORK_REDIRECTOR 0x00000028 -#define FILE_DEVICE_BATTERY 0x00000029 -#define FILE_DEVICE_BUS_EXTENDER 0x0000002a -#define FILE_DEVICE_MODEM 0x0000002b -#define FILE_DEVICE_VDM 0x0000002c - -/* - * Some of these device types are not currently accessible over the network - * and may never be accessible over the network. Some may change to be - * - * accessible over the network. The values for device types that may never - * be accessible over the network may be redefined to be just reserved at - * some date in the future. - * - * Characteristics is the sum of any of the following: - */ - -#define FILE_REMOVABLE_MEDIA 0x00000001 -#define FILE_READ_ONLY_DEVICE 0x00000002 -#define FILE_FLOPPY_DISKETTE 0x00000004 -#define FILE_WRITE_ONE_MEDIA 0x00000008 -#define FILE_REMOTE_DEVICE 0x00000010 -#define FILE_DEVICE_IS_MOUNTED 0x00000020 -#define FILE_VIRTUAL_VOLUME 0x00000040 - -/* - * CREATE_ANDX ShareAccess Flags - */ - -#define FILE_SHARE_NONE 0x00000000 -#define FILE_SHARE_READ 0x00000001 -#define FILE_SHARE_WRITE 0x00000002 -#define FILE_SHARE_DELETE 0x00000004 -#define FILE_SHARE_ALL 0x00000007 -#define FILE_SHARE_VALID_FLAGS 0x00000007 - - -/* - * CREATE_ANDX CreateDisposition flags - * - * FILE_SUPERSEDE If the file already exists it should be superseded - * by the specified file. If the file does not already - * exist then it should be created. - * - * FILE_CREATE If the file already exists the operation should fail. - * If the file does not already exist then it should be - * created. (aka CREATE_NEW) - * - * FILE_OPEN If the file already exists then it should be opened. - * If the file does not already exist then the operation - * should fail. (aka OPEN_EXISTING) - * - * FILE_OPEN_IF If the file already exists then it should be opened. - * If the file does not already exist then it should be - * created. (aka OPEN_ALWAYS) - * - * FILE_OVERWRITE If the file already exists, it should be opened and - * overwritten. If the file does not already exist then - * the operation should fail. (aka TRUNCATE_EXISTING) - * - * FILE_OVERWRITE_IF If the file already exists, it should be opened and - * overwritten. If the file does not already exist then - * it should be created. (aka CREATE_ALWAYS) - */ -#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 -#define FILE_MAXIMUM_DISPOSITION 0x00000005 - -/* - * CREATE_ANDX Impersonation levels - */ - -#define SECURITY_ANONYMOUS 0x00000001 -#define SECURITY_IDENTIFICATION 0x00000002 -#define SECURITY_IMPERSONATION 0x00000003 -#define SECURITY_DELEGATION 0x00000004 - -/* - * CREATE_ANDX SecurityFlags - */ - -#define SECURITY_CONTEXT_TRACKING 0x00000001 -#define SECURITY_EFFECTIVE_ONLY 0x00000002 - -/* - * Server types - */ -#define SV_WORKSTATION 0x00000001 /* All workstations */ -#define SV_SERVER 0x00000002 /* All servers */ -#define SV_SQLSERVER 0x00000004 /* running with SQL server */ -#define SV_DOMAIN_CTRL 0x00000008 /* Primary domain controller */ -#define SV_DOMAIN_BAKCTRL 0x00000010 /* Backup domain controller */ -#define SV_TIME_SOURCE 0x00000020 /* running timesource service */ -#define SV_AFP 0x00000040 /* Apple File Protocol */ -#define SV_NOVELL 0x00000080 /* Novell servers */ -#define SV_DOMAIN_MEMBER 0x00000100 /* Domain Member */ -#define SV_PRINTQ_SERVER 0x00000200 /* Server sharing print queue */ -#define SV_DIALIN_SERVER 0x00000400 /* Server running dialin */ -#define SV_XENIX_SERVER 0x00000800 /* Xenix server */ -#define SV_NT 0x00001000 /* NT server */ -#define SV_WFW 0x00002000 /* Server running Windows for */ -#define SV_SERVER_NT 0x00008000 /* Windows NT non DC server */ -#define SV_POTENTIAL_BROWSER 0x00010000 /* can run browser service */ -#define SV_BACKUP_BROWSER 0x00020000 /* Backup browser server */ -#define SV_MASTER_BROWSER 0x00040000 /* Master browser server */ -#define SV_DOMAIN_MASTER 0x00080000 /* Domain Master Browser */ -#define SV_OSF 0x00100000 /* OSF operating system */ -#define SV_VMS 0x00200000 /* VMS operating system */ -#define SV_WINDOWS_95_PLUS 0x00400000 /* Windows 95 or better */ - -#define SV_LOCAL_LIST_ONLY 0x40000000 /* Enumerate only "local" */ -#define SV_TYPE_DOMAIN_ENUM 0x80000000 /* Enumerate Domains */ - -#define MY_SERVER_TYPE (SV_SERVER | SV_NT | SV_SERVER_NT) - - -#define PRQ_ACTIVE 0 /* Active */ -#define PRQ_PAUSE 1 /* Paused */ -#define PRQ_ERROR 2 /* Error Occurred */ -#define PRQ_PENDING 3 /* Deletion pending */ - -#define PRJ_QS_QUEUED 0 /* Active */ -#define PRJ_QS_PAUSED 1 /* Paused */ -#define PRJ_QS_SPOOLING 2 /* Paused */ -#define PRJ_QS_PRINTING 3 /* Paused */ - - -#define SHARE_ACCESS_READ 0x01 /* read & execute from resource */ -#define SHARE_ACCESS_WRITE 0x02 /* write data to resource */ -#define SHARE_ACCESS_CREATE 0x04 /* create an instance of */ -#define SHARE_ACCESS_EXEC 0x08 /* execute from resource */ -#define SHARE_ACCESS_DELETE 0x10 /* Permission to delete the resource */ -#define SHARE_ACCESS_ATTRIB 0x20 /* Permission to modify the resource */ -#define SHARE_ACCESS_PERM 0x40 /* Permission to change permissions */ -#define SHARE_ACCESS_ALL 0x7F /* All of the above permissions */ - - -/* - * SMB_COM_NT_TRANSACTION sub-command codes (CIFS/1.0 section 5.3) - * - * SubCommand Code Value Description - * =============================== ===== ================================= - * NT_TRANSACT_CREATE 1 File open/create - * NT_TRANSACT_IOCTL 2 Device IOCTL - * NT_TRANSACT_SET_SECURITY_DESC 3 Set security descriptor - * NT_TRANSACT_NOTIFY_CHANGE 4 Start directory watch - * NT_TRANSACT_RENAME 5 Reserved (handle-based rename) - * NT_TRANSACT_QUERY_SECURITY_DESC 6 Retrieve security descriptor - * NT_TRANSACT_QUERY_QUOTA 7 Retrieve quota information - * NT_TRANSACT_SET_QUOTA 8 Set quota information - */ -#define NT_TRANSACT_MIN_FUNCTION 1 - -#define NT_TRANSACT_CREATE 1 -#define NT_TRANSACT_IOCTL 2 -#define NT_TRANSACT_SET_SECURITY_DESC 3 -#define NT_TRANSACT_NOTIFY_CHANGE 4 -#define NT_TRANSACT_RENAME 5 -#define NT_TRANSACT_QUERY_SECURITY_DESC 6 -#define NT_TRANSACT_QUERY_QUOTA 7 -#define NT_TRANSACT_SET_QUOTA 8 - -#define NT_TRANSACT_MAX_FUNCTION 8 - - -/* - * Pipe states - */ -#define SMB_PIPE_READMODE_BYTE 0x0000 -#define SMB_PIPE_READMODE_MESSAGE 0x0100 -#define SMB_PIPE_TYPE_BYTE 0x0000 -#define SMB_PIPE_TYPE_MESSAGE 0x0400 -#define SMB_PIPE_END_CLIENT 0x0000 -#define SMB_PIPE_END_SERVER 0x4000 -#define SMB_PIPE_WAIT 0x0000 -#define SMB_PIPE_NOWAIT 0x8000 -#define SMB_PIPE_UNLIMITED_INSTANCES 0x00FF - -/* - * smb_com_seek request - */ -#define SMB_SEEK_SET 0 /* set file offset to specified offset */ -#define SMB_SEEK_CUR 1 /* set file offset to current plus specified offset */ -#define SMB_SEEK_END 2 /* set file offset to EOF plus specified offset */ - -/* - * API Numbers for Transact based RAP (Remote Administration Protocol) calls - */ -#define API_WshareEnum 0 -#define API_WshareGetInfo 1 -#define API_WshareSetInfo 2 -#define API_WshareAdd 3 -#define API_WshareDel 4 -#define API_NetShareCheck 5 -#define API_WsessionEnum 6 -#define API_WsessionGetInfo 7 -#define API_WsessionDel 8 -#define API_WconnectionEnum 9 -#define API_WfileEnum 10 -#define API_WfileGetInfo 11 -#define API_WfileClose 12 -#define API_WserverGetInfo 13 -#define API_WserverSetInfo 14 -#define API_WserverDiskEnum 15 -#define API_WserverAdminCommand 16 -#define API_NetAuditOpen 17 -#define API_WauditClear 18 -#define API_NetErrorLogOpen 19 -#define API_WerrorLogClear 20 -#define API_NetCharDevEnum 21 -#define API_NetCharDevGetInfo 22 -#define API_WCharDevControl 23 -#define API_NetCharDevQEnum 24 -#define API_NetCharDevQGetInfo 25 -#define API_WCharDevQSetInfo 26 -#define API_WCharDevQPurge 27 -#define API_WCharDevQPurgeSelf 28 -#define API_WMessageNameEnum 29 -#define API_WMessageNameGetInfo 30 -#define API_WMessageNameAdd 31 -#define API_WMessageNameDel 32 -#define API_WMessageNameFwd 33 -#define API_WMessageNameUnFwd 34 -#define API_WMessageBufferSend 35 -#define API_WMessageFileSend 36 -#define API_WMessageLogFileSet 37 -#define API_WMessageLogFileGet 38 -#define API_WServiceEnum 39 -#define API_WServiceInstall 40 -#define API_WServiceControl 41 -#define API_WAccessEnum 42 -#define API_WAccessGetInfo 43 -#define API_WAccessSetInfo 44 -#define API_WAccessAdd 45 -#define API_WAccessDel 46 -#define API_WGroupEnum 47 -#define API_WGroupAdd 48 -#define API_WGroupDel 49 -#define API_WGroupAddUser 50 -#define API_WGroupDelUser 51 -#define API_WGroupGetUsers 52 -#define API_WUserEnum 53 -#define API_WUserAdd 54 -#define API_WUserDel 55 -#define API_WUserGetInfo 56 -#define API_WUserSetInfo 57 -#define API_WUserPasswordSet 58 -#define API_WUserGetGroups 59 -#define API_DeadTableEntry 60 -#define API_WWkstaSetUID 62 -#define API_WWkstaGetInfo 63 -#define API_WWkstaSetInfo 64 -#define API_WUseEnum 65 -#define API_WUseAdd 66 -#define API_WUseDel 67 -#define API_WUseGetInfo 68 -#define API_WPrintQEnum 69 -#define API_WPrintQGetInfo 70 -#define API_WPrintQSetInfo 71 -#define API_WPrintQAdd 72 -#define API_WPrintQDel 73 -#define API_WPrintQPause 74 -#define API_WPrintQContinue 75 -#define API_WPrintJobEnum 76 -#define API_WPrintJobGetInfo 77 -#define API_WPrintJobSetInfo_OLD 78 -#define API_WPrintJobDel 81 -#define API_WPrintJobPause 82 -#define API_WPrintJobContinue 83 -#define API_WPrintDestEnum 84 -#define API_WPrintDestGetInfo 85 -#define API_WPrintDestControl 86 -#define API_WProfileSave 87 -#define API_WProfileLoad 88 -#define API_WStatisticsGet 89 -#define API_WStatisticsClear 90 -#define API_NetRemoteTOD 91 -#define API_WNetBiosEnum 92 -#define API_WNetBiosGetInfo 93 -#define API_NetServerEnum 94 -#define API_I_NetServerEnum 95 -#define API_WServiceGetInfo 96 -#define API_WPrintQPurge 103 -#define API_NetServerEnum2 104 -#define API_WAccessGetUserPerms 105 -#define API_WGroupGetInfo 106 -#define API_WGroupSetInfo 107 -#define API_WGroupSetUsers 108 -#define API_WUserSetGroups 109 -#define API_WUserModalsGet 110 -#define API_WUserModalsSet 111 -#define API_WFileEnum2 112 -#define API_WUserAdd2 113 -#define API_WUserSetInfo2 114 -#define API_WUserPasswordSet2 115 -#define API_I_NetServerEnum2 116 -#define API_WConfigGet2 117 -#define API_WConfigGetAll2 118 -#define API_WGetDCName 119 -#define API_NetHandleGetInfo 120 -#define API_NetHandleSetInfo 121 -#define API_WStatisticsGet2 122 -#define API_WBuildGetInfo 123 -#define API_WFileGetInfo2 124 -#define API_WFileClose2 125 -#define API_WNetServerReqChallenge 126 -#define API_WNetServerAuthenticate 127 -#define API_WNetServerPasswordSet 128 -#define API_WNetAccountDeltas 129 -#define API_WNetAccountSync 130 -#define API_WUserEnum2 131 -#define API_WWkstaUserLogon 132 -#define API_WWkstaUserLogoff 133 -#define API_WLogonEnum 134 -#define API_WErrorLogRead 135 -#define API_WI_NetPathType 136 -#define API_WI_NetPathCanonicalize 137 -#define API_WI_NetPathCompare 138 -#define API_WI_NetNameValidate 139 -#define API_WI_NetNameCanonicalize 140 -#define API_WI_NetNameCompare 141 -#define API_WAuditRead 142 -#define API_WPrintDestAdd 143 -#define API_WPrintDestSetInfo 144 -#define API_WPrintDestDel 145 -#define API_WUserValidate2 146 -#define API_WPrintJobSetInfo 147 -#define API_TI_NetServerDiskEnum 148 -#define API_TI_NetServerDiskGetInfo 149 -#define API_TI_FTVerifyMirror 150 -#define API_TI_FTAbortVerify 151 -#define API_TI_FTGetInfo 152 -#define API_TI_FTSetInfo 153 -#define API_TI_FTLockDisk 154 -#define API_TI_FTFixError 155 -#define API_TI_FTAbortFix 156 -#define API_TI_FTDiagnoseError 157 -#define API_TI_FTGetDriveStats 158 -#define API_TI_FTErrorGetInfo 160 -#define API_NetAccessCheck 163 -#define API_NetAlertRaise 164 -#define API_NetAlertStart 165 -#define API_NetAlertStop 166 -#define API_NetAuditWrite 167 -#define API_NetIRemoteAPI 168 -#define API_NetServiceStatus 169 -#define API_I_NetServerRegister 170 -#define API_I_NetServerDeregister 171 -#define API_I_NetSessionEntryMake 172 -#define API_I_NetSessionEntryClear 173 -#define API_I_NetSessionEntryGetInfo 174 -#define API_I_NetSessionEntrySetInfo 175 -#define API_I_NetConnectionEntryMake 176 -#define API_I_NetConnectionEntryClear 177 -#define API_I_NetConnectionEntrySetInfo 178 -#define API_I_NetConnectionEntryGetInfo 179 -#define API_I_NetFileEntryMake 180 -#define API_I_NetFileEntryClear 181 -#define API_I_NetFileEntrySetInfo 182 -#define API_I_NetFileEntryGetInfo 183 -#define API_AltSrvMessageBufferSend 184 -#define API_AltSrvMessageFileSend 185 -#define API_wI_NetRplWkstaEnum 186 -#define API_wI_NetRplWkstaGetInfo 187 -#define API_wI_NetRplWkstaSetInfo 188 -#define API_wI_NetRplWkstaAdd 189 -#define API_wI_NetRplWkstaDel 190 -#define API_wI_NetRplProfileEnum 191 -#define API_wI_NetRplProfileGetInfo 192 -#define API_wI_NetRplProfileSetInfo 193 -#define API_wI_NetRplProfileAdd 194 -#define API_wI_NetRplProfileDel 195 -#define API_wI_NetRplProfileClone 196 -#define API_wI_NetRplBaseProfileEnum 197 -#define API_WIServerSetInfo 201 -#define API_WPrintDriverEnum 205 -#define API_WPrintQProcessorEnum 206 -#define API_WPrintPortEnum 207 -#define API_WNetWriteUpdateLog 208 -#define API_WNetAccountUpdate 209 -#define API_WNetAccountConfirmUpdate 210 -#define API_WConfigSet 211 -#define API_WAccountsReplicate 212 -#define API_SamOEMChgPasswordUser2_P 214 -#define API_NetServerEnum3 215 -#define API_WprintDriverGetInfo 250 -#define API_WprintDriverSetInfo 251 -#define API_WaliasAdd 252 -#define API_WaliasDel 253 -#define API_WaliasGetInfo 254 -#define API_WaliasSetInfo 255 -#define API_WaliasEnum 256 -#define API_WuserGetLogonAsn 257 -#define API_WuserSetLogonAsn 258 -#define API_WuserGetAppSel 259 -#define API_WuserSetAppSel 260 -#define API_WappAdd 261 -#define API_WappDel 262 -#define API_WappGetInfo 263 -#define API_WappSetInfo 264 -#define API_WappEnum 265 -#define API_WUserDCDBInit 266 -#define API_WDASDAdd 267 -#define API_WDASDDel 268 -#define API_WDASDGetInfo 269 -#define API_WDASDSetInfo 270 -#define API_WDASDEnum 271 -#define API_WDASDCheck 272 -#define API_WDASDCtl 273 -#define API_WuserRemoteLogonCheck 274 -#define API_WUserPasswordSet3 275 -#define API_WCreateRIPLMachine 276 -#define API_WDeleteRIPLMachine 277 -#define API_WGetRIPLMachineInfo 278 -#define API_WSetRIPLMachineInfo 279 -#define API_WEnumRIPLMachine 280 -#define API_WI_ShareAdd 281 -#define API_WI_AliasEnum 282 -#define API_WaccessApply 283 -#define API_WPrt16Query 284 -#define API_WPrt16Set 285 -#define API_WUserDel100 286 -#define API_WUserRemoteLogonCheck2 287 -#define API_WRemoteTODSet 294 -#define API_WprintJobMoveAll 295 -#define API_W16AppParmAdd 296 -#define API_W16AppParmDel 297 -#define API_W16AppParmGet 298 -#define API_W16AppParmSet 299 -#define API_W16RIPLMachineCreate 300 -#define API_W16RIPLMachineGetInfo 301 -#define API_W16RIPLMachineSetInfo 302 -#define API_W16RIPLMachineEnum 303 -#define API_W16RIPLMachineListParmEnum 304 -#define API_W16RIPLMachClassGetInfo 305 -#define API_W16RIPLMachClassEnum 306 -#define API_W16RIPLMachClassCreate 307 -#define API_W16RIPLMachClassSetInfo 308 -#define API_W16RIPLMachClassDelete 309 -#define API_W16RIPLMachClassLPEnum 310 -#define API_W16RIPLMachineDelete 311 -#define API_W16WSLevelGetInfo 312 -#define API_WserverNameAdd 313 -#define API_WserverNameDel 314 -#define API_WserverNameEnum 315 -#define API_I_WDASDEnum 316 -#define API_I_WDASDEnumTerminate 317 -#define API_I_WDASDSetInfo2 318 -#define MAX_RAP_API 318 - -#ifdef __cplusplus -} -#endif - -#endif /* _SMBSRV_CIFS_H */ |