Source File
	const.go
Belonging Package
	github.com/hirochachacha/go-smb2/internal/smb2
// ref: MS-SMB2package smb2const (MAGIC = "\xfeSMB"MAGIC2 = "\xfdSMB")// ----------------------------------------------------------------------------// SMB2 Packet Header//// Commandconst (SMB2_NEGOTIATE = iotaSMB2_SESSION_SETUPSMB2_LOGOFFSMB2_TREE_CONNECTSMB2_TREE_DISCONNECTSMB2_CREATESMB2_CLOSESMB2_FLUSHSMB2_READSMB2_WRITESMB2_LOCKSMB2_IOCTLSMB2_CANCELSMB2_ECHOSMB2_QUERY_DIRECTORYSMB2_CHANGE_NOTIFYSMB2_QUERY_INFOSMB2_SET_INFOSMB2_OPLOCK_BREAK)// Flagsconst (SMB2_FLAGS_SERVER_TO_REDIR = 1 << iotaSMB2_FLAGS_ASYNC_COMMANDSMB2_FLAGS_RELATED_OPERATIONSSMB2_FLAGS_SIGNEDSMB2_FLAGS_PRIORITY_MASK = 0x70SMB2_FLAGS_DFS_OPERATIONS = 0x10000000SMB2_FLAGS_REPLAY_OPERATIONS = 0x20000000)// ----------------------------------------------------------------------------// SMB2 TRANSFORM_HEADER//// From SMB3// EncryptionAlgorithmconst (SMB2_ENCRYPTION_AES128_CCM = 1 << iota)// From SMB311// Flagsconst (Encrypted = 1 << iota)// ----------------------------------------------------------------------------// SMB2 Error Response//// ErrorIdconst (SMB2_ERROR_ID_DEFAULT = 0x0)// Flagsconst (SYMLINK_FLAG_RELATIVE = 0x1)// ----------------------------------------------------------------------------// SMB2 NEGOTIATE Request and Response//// SecurityModeconst (SMB2_NEGOTIATE_SIGNING_ENABLED = 1 << iotaSMB2_NEGOTIATE_SIGNING_REQUIRED)// Capabilitiesconst (SMB2_GLOBAL_CAP_DFS = 1 << iotaSMB2_GLOBAL_CAP_LEASINGSMB2_GLOBAL_CAP_LARGE_MTUSMB2_GLOBAL_CAP_MULTI_CHANNELSMB2_GLOBAL_CAP_PERSISTENT_HANDLESSMB2_GLOBAL_CAP_DIRECTORY_LEASINGSMB2_GLOBAL_CAP_ENCRYPTION)// Dialectsconst (UnknownSMB = 0x0SMB2 = 0x2FFSMB202 = 0x202SMB210 = 0x210SMB300 = 0x300SMB302 = 0x302SMB311 = 0x311)//// SecurityModeconst (// SMB2_NEGOTIATE_SIGNING_ENABLED = 1 << iota// SMB2_NEGOTIATE_SIGNING_REQUIRED)// DialectRevisionconst (// SMB2 = 0x2FF// SMB202 = 0x202// SMB210 = 0x210// SMB300 = 0x300// SMB302 = 0x302// SMB311 = 0x311)// Capabilitiesconst (// SMB2_GLOBAL_CAP_DFS = 1 << iota// SMB2_GLOBAL_CAP_LEASING// SMB2_GLOBAL_CAP_LARGE_MTU// SMB2_GLOBAL_CAP_MULTI_CHANNEL// SMB2_GLOBAL_CAP_PERSISTENT_HANDLES// SMB2_GLOBAL_CAP_DIRECTORY_LEASING// SMB2_GLOBAL_CAP_ENCRYPTION)// ----------------------------------------------------------------------------// SMB2 NEGOTIATE Contexts//// From SMB311// ContextTypeconst (SMB2_PREAUTH_INTEGRITY_CAPABILITIES = 1 << iotaSMB2_ENCRYPTION_CAPABILITIES)// HashAlgorithmsconst (SHA512 = 0x1)// Ciphersconst (AES128CCM = 1 << iotaAES128GCM)// ----------------------------------------------------------------------------// SMB2 SESSION_SETUP Request and Response//// Flagsconst (SMB2_SESSION_FLAG_BINDING = 0x1)// SecurityModeconst (// SMB2_NEGOTIATE_SIGNING_ENABLED = 1 << iota// SMB2_NEGOTIATE_SIGNING_REQUIRED)// Capabilitiesconst (// SMB2_GLOBAL_CAP_DFS = 1 << iota// SMB2_GLOBAL_CAP_UNUSED1// SMB2_GLOBAL_CAP_UNUSED2// SMB2_GLOBAL_CAP_UNUSED3)//// SessionFlagsconst (SMB2_SESSION_FLAG_IS_GUEST = 1 << iotaSMB2_SESSION_FLAG_IS_NULLSMB2_SESSION_FLAG_ENCRYPT_DATA)// ----------------------------------------------------------------------------// SMB2 LOGOFF Request and Response////// ----------------------------------------------------------------------------// SMB2 TREE_CONNECT Request and Response//// From SMB311// Flagsconst (SMB2_TREE_CONNECT_FLAG_CLUSTER_RECONNECT = 0x1)//// ShareTypeconst (SMB2_SHARE_TYPE_DISK = 1 + iotaSMB2_SHARE_TYPE_PIPESMB2_SHARE_TYPE_PRINT)// ShareFlagsconst (SMB2_SHAREFLAG_MANUAL_CACHING = 0x0SMB2_SHAREFLAG_AUTO_CACHING = 0x10SMB2_SHAREFLAG_VDO_CACHING = 0x20SMB2_SHAREFLAG_NO_CACHING = 0x30SMB2_SHAREFLAG_DFS = 0x1SMB2_SHAREFLAG_DFS_ROOT = 0x2SMB2_SHAREFLAG_RESTRICT_EXCLUSIVE_OPENS = 0x100SMB2_SHAREFLAG_FORCE_SHARED_DELETE = 0x200SMB2_SHAREFLAG_ALLOW_NAMESPACE_CACHING = 0x400SMB2_SHAREFLAG_ACCESS_BASED_DIRECTORY_ENUM = 0x800SMB2_SHAREFLAG_FORCE_LEVELII_OPLOCK = 0x1000SMB2_SHAREFLAG_ENABLE_HASH_V1 = 0x2000SMB2_SHAREFLAG_ENABLE_HASH_V2 = 0x4000SMB2_SHAREFLAG_ENCRYPT_DATA = 0x8000)// Capabilitiesconst (SMB2_SHARE_CAP_DFS = 0x8 << iotaSMB2_SHARE_CAP_CONTINUOUS_AVAILABILITYSMB2_SHARE_CAP_SCALEOUTSMB2_SHARE_CAP_CLUSTERSMB2_SHARE_CAP_ASYMMETRIC)// ----------------------------------------------------------------------------// SMB2 TREE_DISCONNECT Request and Response////// ----------------------------------------------------------------------------// SMB2 CREATE Request and Response//// RequestedOplockLevelconst (SMB2_OPLOCK_LEVEL_NONE = 0x0SMB2_OPLOCK_LEVEL_II = 0x1SMB2_OPLOCK_LEVEL_EXCLUSIVE = 0x8SMB2_OPLOCK_LEVEL_BATCH = 0x9SMB2_OPLOCK_LEVEL_LEASE = 0xff)// ImpersonationLevelconst (Anonymous = iotaIdentificationImpersonationDelegate)// DesiredAccessconst (// for file, pipe, printerFILE_READ_DATA = 1 << iotaFILE_WRITE_DATAFILE_APPEND_DATAFILE_READ_EAFILE_WRITE_EAFILE_EXECUTEFILE_DELETE_CHILDFILE_READ_ATTRIBUTESFILE_WRITE_ATTRIBUTES// for directoryFILE_LIST_DIRECTORY = 1 << iotaFILE_ADD_FILEFILE_ADD_SUBDIRECTORY_ // FILE_READ_EA_ // FILE_WRITE_EAFILE_TRAVERSE_ // FILE_DELETE_CHILD_ // FILE_READ_ATTRIBUTES_ // FILE_WRITE_ATTRIBUTES// commonDELETE = 0x10000READ_CONTROL = 0x20000WRITE_DAC = 0x40000WRITE_OWNER = 0x80000SYNCHRONIZE = 0x100000ACCESS_SYSTEM_SECURITY = 0x1000000MAXIMUM_ALLOWED = 0x2000000GENERIC_ALL = 0x10000000GENERIC_EXECUTE = 0x20000000GENERIC_WRITE = 0x40000000GENERIC_READ = 0x80000000)// FileAttributes (from MS-FSCC)const (// FILE_ATTRIBUTE_ARCHIVE = 0x20// FILE_ATTRIBUTE_COMPRESSED = 0x800// FILE_ATTRIBUTE_DIRECTORY = 0x10// FILE_ATTRIBUTE_ENCRYPTED = 0x4000// FILE_ATTRIBUTE_HIDDEN = 0x2// FILE_ATTRIBUTE_NORMAL = 0x80// FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x2000// FILE_ATTRIBUTE_OFFLINE = 0x1000// FILE_ATTRIBUTE_READONLY = 0x1// FILE_ATTRIBUTE_REPARSE_POINT = 0x400// FILE_ATTRIBUTE_SPARSE_FILE = 0x200// FILE_ATTRIBUTE_SYSTEM = 0x4// FILE_ATTRIBUTE_TEMPORARY = 0x100// FILE_ATTRIBUTE_INTEGRITY_STREAM = 0x8000// FILE_ATTRIBUTE_NO_SCRUB_DATA = 0x20000)// ShareAccessconst (FILE_SHARE_READ = 1 << iotaFILE_SHARE_WRITEFILE_SHARE_DELETE)// CreateDispositionconst (FILE_SUPERSEDE = iotaFILE_OPENFILE_CREATEFILE_OPEN_IFFILE_OVERWRITEFILE_OVERWRITE_IF)// CreateOptionsconst (FILE_DIRECTORY_FILE = 1 << iotaFILE_WRITE_THROUGHFILE_SEQUENTIAL_ONLYFILE_NO_INTERMEDIATE_BUFFERINGFILE_SYNCHRONOUS_IO_ALERTFILE_SYNCHRONOUS_IO_NONALERTFILE_NON_DIRECTORY_FILE_FILE_COMPLETE_IF_OPLOCKEDFILE_NO_EA_KNOWLEDGEFILE_OPEN_REMOTE_INSTANCEFILE_RANDOM_ACCESSFILE_DELETE_ON_CLOSEFILE_OPEN_BY_FILE_IDFILE_OPEN_FOR_BACKUP_INTENTFILE_NO_COMPRESSIONFILE_OPEN_REQUIRING_OPLOCKFILE_DISALLOW_EXCLUSIVE__FILE_RESERVE_OPFILTERFILE_OPEN_REPARSE_POINTFILE_OPEN_NO_RECALLFILE_OPEN_FOR_FREE_SPACE_QUERY)//// OplockLevelconst (// SMB2_OPLOCK_LEVEL_NONE = 0x0// SMB2_OPLOCK_LEVEL_II = 0x1// SMB2_OPLOCK_LEVEL_EXCLUSIVE = 0x8// SMB2_OPLOCK_LEVEL_BATCH = 0x9// SMB2_OPLOCK_LEVEL_LEASE = 0xff)// Flagsconst (SMB2_CREATE_FLAG_REPARSEPOINT = 1 << iota)// CreateActionconst (// FILE_SUPERSEDE = iota// FILE_OPEN// FILE_CREATE// FILE_OPEN_IF// FILE_OVERWRITE)// FileAttributes (from MS-FSCC)const (// FILE_ATTRIBUTE_ARCHIVE = 0x20// FILE_ATTRIBUTE_COMPRESSED = 0x800// FILE_ATTRIBUTE_DIRECTORY = 0x10// FILE_ATTRIBUTE_ENCRYPTED = 0x4000// FILE_ATTRIBUTE_HIDDEN = 0x2// FILE_ATTRIBUTE_NORMAL = 0x80// FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x2000// FILE_ATTRIBUTE_OFFLINE = 0x1000// FILE_ATTRIBUTE_READONLY = 0x1// FILE_ATTRIBUTE_REPARSE_POINT = 0x400// FILE_ATTRIBUTE_SPARSE_FILE = 0x200// FILE_ATTRIBUTE_SYSTEM = 0x4// FILE_ATTRIBUTE_TEMPORARY = 0x100// FILE_ATTRIBUTE_INTEGRITY_STREAM = 0x8000// FILE_ATTRIBUTE_NO_SCRUB_DATA = 0x20000)// ----------------------------------------------------------------------------// SMB2 CLOSE Request and Response//// Flagsconst (SMB2_CLOSE_FLAG_POSTQUERY_ATTRIB = 1 << iota)//// Flagsconst (// SMB2_CLOSE_FLAG_POSTQUERY_ATTRIB = 1 << iota)// FileAttributes (from MS-FSCC)const (// FILE_ATTRIBUTE_ARCHIVE = 0x20// FILE_ATTRIBUTE_COMPRESSED = 0x800// FILE_ATTRIBUTE_DIRECTORY = 0x10// FILE_ATTRIBUTE_ENCRYPTED = 0x4000// FILE_ATTRIBUTE_HIDDEN = 0x2// FILE_ATTRIBUTE_NORMAL = 0x80// FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x2000// FILE_ATTRIBUTE_OFFLINE = 0x1000// FILE_ATTRIBUTE_READONLY = 0x1// FILE_ATTRIBUTE_REPARSE_POINT = 0x400// FILE_ATTRIBUTE_SPARSE_FILE = 0x200// FILE_ATTRIBUTE_SYSTEM = 0x4// FILE_ATTRIBUTE_TEMPORARY = 0x100// FILE_ATTRIBUTE_INTEGRITY_STREAM = 0x8000// FILE_ATTRIBUTE_NO_SCRUB_DATA = 0x20000)// ----------------------------------------------------------------------------// SMB2 FLUSH Request and Response////// ----------------------------------------------------------------------------// SMB2 READ Request and Response//// Flagsconst (SMB2_READFLAG_READ_UNBUFFERED = 1 << iota)// Channelconst (SMB2_CHANNEL_NONE = iotaSMB2_CHANNEL_RDMA_V1SMB2_CHANNEL_RDMA_V1_INVALIDATE)//// ----------------------------------------------------------------------------// SMB2 WRITE Request and Response//// Channelconst (// SMB2_CHANNEL_NONE = iota// SMB2_CHANNEL_RDMA_V1// SMB2_CHANNEL_RDMA_V1_INVALIDATE)// Flagsconst (SMB2_WRITEFLAG_WRITE_THROUGH = 1 << iotaSMB2_WRITEFLAG_WRITE_UNBUFFERED)//// ----------------------------------------------------------------------------// SMB2 OPLOCK_BREAK Notification, Acknowledgement and Response//////// ----------------------------------------------------------------------------// SMB2 LOCK Request and Response////// ----------------------------------------------------------------------------// SMB2 CANCEL Request//// ----------------------------------------------------------------------------// SMB2 ECHO Request and Response////// ----------------------------------------------------------------------------// SMB2 IOCTL Request and Response//// CtlCode (from MS-FSCC)const (// FSCTL_DFS_GET_REFERRALS = 0x00060194// FSCTL_PIPE_PEEK = 0x0011400C// FSCTL_PIPE_WAIT = 0x00110018// FSCTL_PIPE_TRANSCEIVE = 0x0011C017// FSCTL_SRV_COPYCHUNK = 0x001440F2// FSCTL_SRV_ENUMERATE_SNAPSHOTS = 0x00144064// FSCTL_SRV_REQUEST_RESUME_KEY = 0x00140078// FSCTL_SRV_READ_HASH = 0x001441bb// FSCTL_SRV_COPYCHUNK_WRITE = 0x001480F2// FSCTL_LMR_REQUEST_RESILIENCY = 0x001401D4// FSCTL_QUERY_NETWORK_INTERFACE_INFO = 0x001401FC// FSCTL_GET_REPARSE_POINT = 0x000900A8// FSCTL_SET_REPARSE_POINT = 0x000900A4// FSCTL_DFS_GET_REFERRALS_EX = 0x000601B0// FSCTL_FILE_LEVEL_TRIM = 0x00098208// FSCTL_VALIDATE_NEGOTIATE_INFO = 0x00140204)// Flagsconst (SMB2_0_IOCTL_IS_FSCTL = 0x1)//// CtlCode (from MS-FSCC)const (// FSCTL_DFS_GET_REFERRALS = 0x00060194// FSCTL_PIPE_PEEK = 0x0011400C// FSCTL_PIPE_WAIT = 0x00110018// FSCTL_PIPE_TRANSCEIVE = 0x0011C017// FSCTL_SRV_COPYCHUNK = 0x001440F2// FSCTL_SRV_ENUMERATE_SNAPSHOTS = 0x00144064// FSCTL_SRV_REQUEST_RESUME_KEY = 0x00140078// FSCTL_SRV_READ_HASH = 0x001441bb// FSCTL_SRV_COPYCHUNK_WRITE = 0x001480F2// FSCTL_LMR_REQUEST_RESILIENCY = 0x001401D4// FSCTL_QUERY_NETWORK_INTERFACE_INFO = 0x001401FC// FSCTL_SET_REPARSE_POINT = 0x000900A4// FSCTL_DFS_GET_REFERRALS_EX = 0x000601B0// FSCTL_FILE_LEVEL_TRIM = 0x00098208// FSCTL_VALIDATE_NEGOTIATE_INFO = 0x00140204)// ----------------------------------------------------------------------------// SMB2 QUERY_DIRECTORY Request and Response//// FileInformationClass (from MS-FSCC)const (// FileDirectoryInformation = 0x1// FileFullDirectoryInformation = 0x2// FileIdFullDirectoryInformation = 0x26// FileBothDirectoryInformation = 0x3// FileIdBothDirectoryInformation = 0x25// FileNamesInformation = 0xc)// Flagsconst (RESTART_SCANS = 1 << iotaRETURN_SINGLE_ENTRYINDEX_SPECIFIED_REOPEN)//// ----------------------------------------------------------------------------// SMB2 CHANGE_NOTIFY Request and Response////// ----------------------------------------------------------------------------// SMB2 QUERY_INFO Request and Response//// InfoTypeconst (INFO_FILE = 1 + iotaINFO_FILESYSTEMINFO_SECURITYINFO_QUOTA)// FileInfoClass (from MS-FSCC)const (// FileAccessInformation// FileAlignmentInformation// FileAllInformation// FileAlternateNameInformation// FileAttributeTagInformation// FileBasicInformation// FileCompressionInformation// FileEaInformation// FileFullEaInformation// FileInternalInformation// FileModeInformation// FileNetworkOpenInformation// FilePipeInformation// FilePipeLocalInformation// FilePipeRemoteInformation// FilePositionInformation// FileStandardInformation// FileStreamInformation// FileFsAttributeInformation// FileFsControlInformation// FileFsDeviceInformation// FileFsFullSizeInformation// FileFsObjectIdInformation// FileFsSectorSizeInformation// FileFsSizeInformation// FileFsVolumeInformation)// AdditionalInformationconst (OWNER_SECURITY_INFORMATION = 1 << iotaGROUP_SECUIRTY_INFORMATIONDACL_SECUIRTY_INFORMATIONSACL_SECUIRTY_INFORMATIONLABEL_SECUIRTY_INFORMATIONATTRIBUTE_SECUIRTY_INFORMATIONSCOPE_SECUIRTY_INFORMATIONBACKUP_SECUIRTY_INFORMATION = 0x10000)// Flagsconst (SL_RESTART_SCAN = 1 << iotaSL_RETURN_SINGLE_ENTRYSL_INDEX_SPECIFIED)//// ----------------------------------------------------------------------------// SMB2 SET_INFO Request and Response//// InfoTypeconst (SMB2_0_INFO_FILE = 1 + iotaSMB2_0_INFO_FILESYSTEMSMB2_0_INFO_SECURITYSMB2_0_INFO_QUOTA)// FileInfoClassconst (// FileAllocationInformation// FileBasicInformation// FileDispositionInformation// FileEndOfFileInformation// FileFullEaInformation// FileLinkInformation// FileModeInformation// FilePipeInformation// FilePositionInformation// FileRenameInformation// FileShortNameInformation// FileValidDataLengthInformation// FileFsControlInformation// FileFsObjectIdInformation)// AdditionalInformationconst (// OWNER_SECURITY_INFORMATION = 1 << iota// GROUP_SECUIRTY_INFORMATION// DACL_SECUIRTY_INFORMATION// SACL_SECUIRTY_INFORMATION// LABEL_SECUIRTY_INFORMATION// ATTRIBUTE_SECUIRTY_INFORMATION// SCOPE_SECUIRTY_INFORMATION// BACKUP_SECUIRTY_INFORMATION = 0x10000)//
![]()  | 
The pages are generated with Golds v0.6.7. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |