windows-nt/Source/XPSP1/NT/base/fs/rdr2/rdbss/smb.mrx/smbdebug.h
2020-09-26 16:20:57 +08:00

117 lines
3.9 KiB
C

/*++
Copyright (c) 1987-1993 Microsoft Corporation
Module Name:
smbdebug.h
--*/
#ifndef _SMBDEBUG_H_
#define _SMBDEBUG_H_
//
// Structs for IOCTL_GET_DEBUG_INFO
//
typedef struct _SMBCEDB_NETROOT_ENTRY_ARG2 {
PWCHAR Name;
ULONG MaximalAccessRights;
ULONG GuestMaximalAccessRights;
BOOLEAN DfsAware;
ULONG hShare;
ULONG hRootDir;
USHORT ShareStatus;
BOOLEAN CscEnabled;
BOOLEAN CscShadowable;
BOOLEAN Disconnected;
} SMBCEDB_NETROOT_ENTRY_ARG2, *PSMBCEDB_NETROOT_ENTRY_ARG2;
typedef struct _SMBCEDB_NETROOT_ENTRY_ARG {
PWCHAR Name;
ULONG MaximalAccessRights;
ULONG GuestMaximalAccessRights;
BOOLEAN DfsAware;
ULONG hShare;
ULONG hRootDir;
USHORT ShareStatus;
ULONG CscFlags;
BOOLEAN CscEnabled;
BOOLEAN CscShadowable;
BOOLEAN Disconnected;
} SMBCEDB_NETROOT_ENTRY_ARG, *PSMBCEDB_NETROOT_ENTRY_ARG;
typedef struct _SMBCEDB_SERVER_ENTRY_ARG2 {
PWCHAR Name;
PWCHAR DomainName;
ULONG ServerStatus;
PWCHAR DfsRootName;
PWCHAR DnsName;
BOOLEAN SecuritySignaturesEnabled;
ULONG CscState;
BOOLEAN IsFakeDfsServerForOfflineUse;
ULONG NetRootEntryCount;
union {
PSMBCEDB_NETROOT_ENTRY_ARG2 pNetRoots2; // Array, # is NetRootEntryCount
PSMBCEDB_NETROOT_ENTRY_ARG pNetRoots; // Array, # is NetRootEntryCount
};
} SMBCEDB_SERVER_ENTRY_ARG2, *PSMBCEDB_SERVER_ENTRY_ARG2;
typedef struct _SMBCEDB_SERVER_ENTRY_ARG {
PWCHAR Name;
PWCHAR DomainName;
ULONG ServerStatus;
PWCHAR DfsRootName;
PWCHAR DnsName;
BOOLEAN SecuritySignaturesEnabled;
ULONG CscState;
BOOLEAN IsFakeDfsServerForOfflineUse;
BOOLEAN IsPinnedOffline;
ULONG NetRootEntryCount;
union {
PSMBCEDB_NETROOT_ENTRY_ARG2 pNetRoots2; // Array, # is NetRootEntryCount
PSMBCEDB_NETROOT_ENTRY_ARG pNetRoots; // Array, # is NetRootEntryCount
};
} SMBCEDB_SERVER_ENTRY_ARG, *PSMBCEDB_SERVER_ENTRY_ARG;
typedef struct _MRX_SMB_FCB_ENTRY_ARG {
ULONG MFlags;
USHORT Tid;
BOOLEAN ShadowIsCorrupt;
ULONG hShadow;
ULONG hParentDir;
ULONG hShadowRenamed;
ULONG hParentDirRenamed;
USHORT ShadowStatus;
USHORT LocalFlags;
USHORT LastComponentOffset;
USHORT LastComponentLength;
ULONG hShare;
ULONG hRootDir;
USHORT ShareStatus;
USHORT Flags;
PWCHAR DfsPrefix;
PWCHAR ActualPrefix;
} MRX_SMB_FCB_ENTRY_ARG, *PMRX_SMB_FCB_ENTRY_ARG;
typedef struct _IOCTL_GET_DEBUG_INFO_ARG {
ULONG Status;
ULONG Version;
ULONG EntryCount;
union {
SMBCEDB_SERVER_ENTRY_ARG ServerEntryObject[1];
SMBCEDB_SERVER_ENTRY_ARG2 ServerEntryObject2[1];
MRX_SMB_FCB_ENTRY_ARG FcbEntryObject[1];
};
} IOCTL_GET_DEBUG_INFO_ARG, *PIOCTL_GET_DEBUG_INFO_ARG;
#define OFFSET_TO_POINTER(field, buffer) \
( ((PCHAR)field) += ((ULONG_PTR)buffer) )
#define POINTER_TO_OFFSET(field, buffer) \
( ((PCHAR)field) -= ((ULONG_PTR)buffer) )
#define DEBUG_INFO_SERVERLIST 1
#define DEBUG_INFO_CSCFCBSLIST 2
#endif // _SMBDEBUG_H_