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
2.5 KiB

  1. /*++
  2. Copyright (c) 1991 Microsoft Corporation
  3. Module Name:
  4. wsmsg.h
  5. Abstract:
  6. Private header file to be included by Workstation service modules that
  7. implement the NetMessageBufferSend API.
  8. Author:
  9. Rita Wong (ritaw) 25-July-1991
  10. Revision History:
  11. --*/
  12. #ifndef _WSMSG_INCLUDED_
  13. #define _WSMSG_INCLUDED_
  14. #include <lmmsg.h> // LAN Man Message API definitions
  15. #include <nb30.h> // NetBIOS 3.0 definitions
  16. #include <smbtypes.h> // Type definitions needed by smb.h
  17. #include <smb.h> // SMB structures
  18. #include <msgrutil.h> // Netlib helpers for message send
  19. #define MAX_GROUP_MESSAGE_SIZE 128
  20. #define WS_SMB_BUFFER_SIZE 200
  21. #define MESSENGER_MAILSLOT_W L"\\MAILSLOT\\MESSNGR"
  22. typedef struct _WSNETWORKS {
  23. LANA_ENUM LanAdapterNumbers;
  24. UCHAR ComputerNameNumbers[MAX_LANA];
  25. } WSNETWORKS, *PWSNETWORKS;
  26. extern WSNETWORKS WsNetworkInfo;
  27. NET_API_STATUS
  28. WsInitializeMessageSend(
  29. BOOLEAN FirstTime
  30. );
  31. VOID
  32. WsShutdownMessageSend(
  33. VOID
  34. );
  35. NET_API_STATUS
  36. WsBroadcastMessage(
  37. IN UCHAR LanAdapterNumber,
  38. IN UCHAR ComputerNameNumber,
  39. IN LPBYTE Message,
  40. IN WORD MessageSize,
  41. IN LPTSTR Sender
  42. );
  43. NET_API_STATUS
  44. WsSendToGroup(
  45. IN LPTSTR DomainName,
  46. IN LPTSTR FromName,
  47. IN LPBYTE Message,
  48. IN WORD MessageSize
  49. );
  50. NET_API_STATUS
  51. WsSendMultiBlockBegin(
  52. IN UCHAR LanAdapterNumber,
  53. IN UCHAR SessionNumber,
  54. IN LPTSTR ToName,
  55. IN LPTSTR FromName,
  56. OUT short *MessageId
  57. );
  58. NET_API_STATUS
  59. WsSendMultiBlockEnd(
  60. IN UCHAR LanAdapterNumber,
  61. IN UCHAR SessionNumber,
  62. IN short MessageId
  63. );
  64. NET_API_STATUS
  65. WsSendMultiBlockText(
  66. IN UCHAR LanAdapterNumber,
  67. IN UCHAR SessionNumber,
  68. IN PCHAR TextBuffer,
  69. IN WORD TextBufferSize,
  70. IN short MessageId
  71. );
  72. NET_API_STATUS
  73. WsSendSingleBlockMessage(
  74. IN UCHAR LanAdapterNumber,
  75. IN UCHAR SessionNumber,
  76. IN LPTSTR ToName,
  77. IN LPTSTR FromName,
  78. IN PCHAR TextBuffer,
  79. IN WORD TextBufferSize
  80. );
  81. WORD
  82. WsMakeSmb(
  83. OUT PUCHAR SmbBuffer, // Buffer to build SMB in
  84. IN UCHAR SmdFunctionCode, // SMB function code
  85. IN WORD NumberOfParameters, // Number of parameters
  86. IN PCHAR FieldsDopeVector, // Fields dope vector
  87. ...
  88. );
  89. #endif // ifndef _WSMSG_INCLUDED_