Source code of Windows XP (NT5)
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.

140 lines
2.3 KiB

  1. /*++
  2. Copyright (c) 1996 Microsoft Corporation
  3. Module Name:
  4. smbsvcp.h
  5. Abstract:
  6. This module defines the interfaces for SMB server engine attachment
  7. Author:
  8. Jin Huang (jinhuang) 11-Jul-1997
  9. Revision History:
  10. --*/
  11. #ifndef _SMBSVCP_
  12. #define _SMBSVCP_
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. #include <nt.h>
  17. #include <ntrtl.h>
  18. #include <nturtl.h>
  19. #ifdef __cplusplus
  20. }
  21. #endif
  22. //
  23. // Windows Headers
  24. //
  25. #include <windows.h>
  26. //#include <rpc.h>
  27. //
  28. // C Runtime Header
  29. //
  30. #include <malloc.h>
  31. #include <memory.h>
  32. #include <process.h>
  33. #include <signal.h>
  34. #include <string.h>
  35. #include <stddef.h>
  36. #include <stdio.h>
  37. #include <stdlib.h>
  38. #include <lmcons.h>
  39. #include <lmshare.h>
  40. #if defined(_NT4BACK_PORT)
  41. #include <secedit.h>
  42. #else
  43. #include <sddl.h>
  44. #endif
  45. #include <scesvc.h>
  46. #ifdef __cplusplus
  47. extern "C" {
  48. #endif
  49. #define SMBSVC_NO_VALUE (BYTE)-2
  50. #define SMBSVC_STATUS_GOOD 0
  51. #define SMBSVC_STATUS_MISMATCH 1
  52. #define SMBSVC_STATUS_NOT_CONFIGURED 2
  53. typedef struct _SMBSVC_KEY_LOOKUP {
  54. PWSTR KeyString;
  55. UINT Offset;
  56. CHAR BufferType;
  57. }SMBSVC_KEY_LOOKUP;
  58. typedef struct _SMBSVC_SHARES_ {
  59. LPTSTR ShareName;
  60. DWORD Status;
  61. PSECURITY_DESCRIPTOR pShareSD;
  62. struct _SMBSVC_SHARES_ *Next;
  63. } SMBSVC_SHARES, *PSMBSVC_SHARES;
  64. typedef struct _SMBSVC_SEC_INFO_ {
  65. BYTE EnableClientSecuritySignature;
  66. BYTE RequireClientSecuritySignature;
  67. BYTE EnablePlainTextPassword;
  68. BYTE RequireEnhancedChallengeResponse;
  69. BYTE SendNTResponseOnly;
  70. BYTE EnableAutoShare;
  71. BYTE EnableServerSecuritySignature;
  72. BYTE RequireServerSecuritySignature;
  73. BYTE RestrictNullSessionAccess;
  74. BYTE EnableForcedLogOff;
  75. DWORD AutoDisconnect;
  76. PWSTR NullSessionPipes;
  77. DWORD LengthPipes; // number of bytes
  78. PWSTR NullSessionShares;
  79. DWORD LengthShares; // number of bytes
  80. PSMBSVC_SHARES pShares;
  81. } SMBSVC_SEC_INFO, *PSMBSVC_SEC_INFO;
  82. SCESTATUS
  83. WINAPI
  84. SceSvcAttachmentConfig(
  85. IN PSCESVC_CALLBACK_INFO pSceInfo
  86. );
  87. SCESTATUS
  88. WINAPI
  89. SceSvcAttachmentAnalyze(
  90. IN PSCESVC_CALLBACK_INFO pSceInfo
  91. );
  92. SCESTATUS
  93. WINAPI
  94. SceSvcAttachmentUpdate(
  95. IN PSCESVC_CALLBACK_INFO pSceInfo,
  96. IN SCESVC_CONFIGURATION_INFO *ServiceInfo
  97. );
  98. #ifdef __cplusplus
  99. }
  100. #endif
  101. #endif