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.

102 lines
2.1 KiB

  1. /*++
  2. Copyright (c) 1997 Microsoft Corporation
  3. Module Name:
  4. dfssrv.h
  5. Abstract:
  6. Header file for dfssrv's lpc server. Defines structures
  7. common to the server and dfs.sys
  8. Author:
  9. Jim harper (jharper) 11-Dec-1997 (based on xactsrv2.h)
  10. Revision History:
  11. --*/
  12. #ifndef _DFSSRV_
  13. #define _DFSSRV_
  14. #define MAX_FTNAME_LEN 96
  15. #define MAX_SPCNAME_LEN 94
  16. //
  17. // Structures for messages that are passed across the LPC port between
  18. // the server dfssvc and dfs.sys
  19. //
  20. // *** The PORT_MESSAGE structure *must* be the first element of these
  21. // structures!
  22. typedef struct _DFSSRV_REQUEST_MESSAGE {
  23. PORT_MESSAGE PortMessage;
  24. ULONG MessageType;
  25. union {
  26. struct {
  27. DFS_IPADDRESS IpAddress;
  28. } GetSiteName;
  29. struct {
  30. WCHAR FtName[MAX_FTNAME_LEN];
  31. } GetFtDfs;
  32. struct {
  33. WCHAR SpcName[MAX_SPCNAME_LEN];
  34. ULONG Flags;
  35. } GetSpcName;
  36. } Message;
  37. } DFSSRV_REQUEST_MESSAGE, *PDFSSRV_REQUEST_MESSAGE;
  38. typedef struct _DFSSRV_REPLY_MESSAGE {
  39. PORT_MESSAGE PortMessage;
  40. union {
  41. struct {
  42. NTSTATUS Status;
  43. } Result;
  44. } Message;
  45. } DFSSRV_REPLY_MESSAGE, *PDFSSRV_REPLY_MESSAGE;
  46. //
  47. // Message types that can be sent to DFSSRV.
  48. //
  49. #define DFSSRV_MESSAGE_GET_SITE_NAME 0
  50. #define DFSSRV_MESSAGE_GET_DOMAIN_REFERRAL 1
  51. #define DFSSRV_MESSAGE_GET_SPC_ENTRY 2
  52. #define DFSSRV_MESSAGE_WAKEUP 3
  53. //
  54. // The name of the LPC port the dfs server creates and uses for communication
  55. // with the dfs driver. This name is included in the connect FSCTL sent to
  56. // the driver so that the driver knows what port to connect to.
  57. //
  58. #define DFS_PORT_NAME_W L"\\DfsSrvLpcPort"
  59. #define DFS_PORT_NAME_A "\\DfsSrvLpcPort"
  60. //
  61. // The maximum size of a message that can be sent over the port.
  62. //
  63. #define DFS_PORT_MAX_MESSAGE_LENGTH \
  64. ( sizeof(DFSSRV_REQUEST_MESSAGE) > sizeof(DFSSRV_REPLY_MESSAGE) ? \
  65. sizeof(DFSSRV_REQUEST_MESSAGE) : sizeof(DFSSRV_REPLY_MESSAGE) )
  66. #endif // ndef _DFSSRV_