Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

116 lines
4.0 KiB

  1. /*++
  2. Copyright (c) 1987-1993 Microsoft Corporation
  3. Module Name:
  4. smbdebug.h
  5. --*/
  6. #ifndef _SMBDEBUG_H_
  7. #define _SMBDEBUG_H_
  8. //
  9. // Structs for IOCTL_GET_DEBUG_INFO
  10. //
  11. typedef struct _SMBCEDB_NETROOT_ENTRY_ARG2 {
  12. PWCHAR Name;
  13. ULONG MaximalAccessRights;
  14. ULONG GuestMaximalAccessRights;
  15. BOOLEAN DfsAware;
  16. ULONG hShare;
  17. ULONG hRootDir;
  18. USHORT ShareStatus;
  19. BOOLEAN CscEnabled;
  20. BOOLEAN CscShadowable;
  21. BOOLEAN Disconnected;
  22. } SMBCEDB_NETROOT_ENTRY_ARG2, *PSMBCEDB_NETROOT_ENTRY_ARG2;
  23. typedef struct _SMBCEDB_NETROOT_ENTRY_ARG {
  24. PWCHAR Name;
  25. ULONG MaximalAccessRights;
  26. ULONG GuestMaximalAccessRights;
  27. BOOLEAN DfsAware;
  28. ULONG hShare;
  29. ULONG hRootDir;
  30. USHORT ShareStatus;
  31. ULONG CscFlags;
  32. BOOLEAN CscEnabled;
  33. BOOLEAN CscShadowable;
  34. BOOLEAN Disconnected;
  35. } SMBCEDB_NETROOT_ENTRY_ARG, *PSMBCEDB_NETROOT_ENTRY_ARG;
  36. typedef struct _SMBCEDB_SERVER_ENTRY_ARG2 {
  37. PWCHAR Name;
  38. PWCHAR DomainName;
  39. ULONG ServerStatus;
  40. PWCHAR DfsRootName;
  41. PWCHAR DnsName;
  42. BOOLEAN SecuritySignaturesEnabled;
  43. ULONG CscState;
  44. BOOLEAN IsFakeDfsServerForOfflineUse;
  45. ULONG NetRootEntryCount;
  46. union {
  47. PSMBCEDB_NETROOT_ENTRY_ARG2 pNetRoots2; // Array, # is NetRootEntryCount
  48. PSMBCEDB_NETROOT_ENTRY_ARG pNetRoots; // Array, # is NetRootEntryCount
  49. };
  50. } SMBCEDB_SERVER_ENTRY_ARG2, *PSMBCEDB_SERVER_ENTRY_ARG2;
  51. typedef struct _SMBCEDB_SERVER_ENTRY_ARG {
  52. PWCHAR Name;
  53. PWCHAR DomainName;
  54. ULONG ServerStatus;
  55. PWCHAR DfsRootName;
  56. PWCHAR DnsName;
  57. BOOLEAN SecuritySignaturesEnabled;
  58. ULONG CscState;
  59. BOOLEAN IsFakeDfsServerForOfflineUse;
  60. BOOLEAN IsPinnedOffline;
  61. ULONG NetRootEntryCount;
  62. union {
  63. PSMBCEDB_NETROOT_ENTRY_ARG2 pNetRoots2; // Array, # is NetRootEntryCount
  64. PSMBCEDB_NETROOT_ENTRY_ARG pNetRoots; // Array, # is NetRootEntryCount
  65. };
  66. } SMBCEDB_SERVER_ENTRY_ARG, *PSMBCEDB_SERVER_ENTRY_ARG;
  67. typedef struct _MRX_SMB_FCB_ENTRY_ARG {
  68. ULONG MFlags;
  69. USHORT Tid;
  70. BOOLEAN ShadowIsCorrupt;
  71. ULONG hShadow;
  72. ULONG hParentDir;
  73. ULONG hShadowRenamed;
  74. ULONG hParentDirRenamed;
  75. USHORT ShadowStatus;
  76. USHORT LocalFlags;
  77. USHORT LastComponentOffset;
  78. USHORT LastComponentLength;
  79. ULONG hShare;
  80. ULONG hRootDir;
  81. USHORT ShareStatus;
  82. USHORT Flags;
  83. PWCHAR DfsPrefix;
  84. PWCHAR ActualPrefix;
  85. } MRX_SMB_FCB_ENTRY_ARG, *PMRX_SMB_FCB_ENTRY_ARG;
  86. typedef struct _IOCTL_GET_DEBUG_INFO_ARG {
  87. ULONG Status;
  88. ULONG Version;
  89. ULONG EntryCount;
  90. union {
  91. SMBCEDB_SERVER_ENTRY_ARG ServerEntryObject[1];
  92. SMBCEDB_SERVER_ENTRY_ARG2 ServerEntryObject2[1];
  93. MRX_SMB_FCB_ENTRY_ARG FcbEntryObject[1];
  94. };
  95. } IOCTL_GET_DEBUG_INFO_ARG, *PIOCTL_GET_DEBUG_INFO_ARG;
  96. #define OFFSET_TO_POINTER(field, buffer) \
  97. ( ((PCHAR)field) += ((ULONG_PTR)buffer) )
  98. #define POINTER_TO_OFFSET(field, buffer) \
  99. ( ((PCHAR)field) -= ((ULONG_PTR)buffer) )
  100. #define DEBUG_INFO_SERVERLIST 1
  101. #define DEBUG_INFO_CSCFCBSLIST 2
  102. #endif // _SMBDEBUG_H_