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.

117 lines
2.7 KiB

  1. /*******************************************************************/
  2. /* Copyright(c) 1992 Microsoft Corporation */
  3. /*******************************************************************/
  4. //***
  5. //
  6. // Filename: ddmif.h
  7. //
  8. // Description: This file contains the definitions for
  9. // the data structures used in the message communication with DDM.
  10. //
  11. // Author: Stefan Solomon (stefans) June 24, 1992.
  12. //
  13. // Revision History:
  14. //
  15. //***
  16. #ifndef _DDMIF_
  17. #define _DDMIF_
  18. #include <ras.h>
  19. #include <dim.h>
  20. #include <rasman.h>
  21. #include <srvauth.h>
  22. #include <sechost.h>
  23. #include <nbfcpif.h>
  24. #include <nbgtwyif.h>
  25. #include <rasppp.h>
  26. #include <dimif.h>
  27. typedef struct _DIM_INFO
  28. {
  29. IN ROUTER_INTERFACE_TABLE * pInterfaceTable;
  30. IN ROUTER_MANAGER_OBJECT * pRouterManagers;
  31. IN DWORD dwNumRouterManagers;
  32. IN SERVICE_STATUS* pServiceStatus;
  33. IN HANDLE * phEventDDMServiceState;
  34. IN HANDLE * phEventDDMTerminated;
  35. IN LPDWORD lpdwNumThreadsRunning;
  36. IN DWORD dwTraceId;
  37. IN HANDLE hLogEvents;
  38. IN LPVOID lpfnIfObjectAllocateAndInit;
  39. IN LPVOID lpfnIfObjectGetPointerByName;
  40. IN LPVOID lpfnIfObjectGetPointer;
  41. IN LPVOID lpfnIfObjectRemove;
  42. IN LPVOID lpfnIfObjectInsertInTable;
  43. IN LPVOID lpfnIfObjectWANDeviceInstalled;
  44. IN LPVOID lpfnRouterIdentityObjectUpdate;
  45. OUT BOOL fWANDeviceInstalled;
  46. } DIM_INFO, *PDIM_INFO;
  47. //
  48. // Called be DIM to initialize DDM
  49. //
  50. DWORD
  51. DDMServiceInitialize(
  52. IN DIM_INFO * pDimInfo
  53. );
  54. //
  55. // Message Queues IDs
  56. //
  57. typedef enum _MESSAGEQ_ID
  58. {
  59. MESSAGEQ_ID_SECURITY, //queue of messages sent by 3rd party sec.dll
  60. MESSAGEQ_ID_PPP, //queue of messages sent by PPP engine.
  61. } MESSAGEQ_ID, *PMESSAGEQ_ID;
  62. #define MAX_MSG_QUEUES 3
  63. //
  64. //*** Common Message Type ***
  65. //
  66. typedef union _MESSAGE
  67. {
  68. AUTH_MESSAGE authmsg;
  69. NBG_MESSAGE nbgmsg;
  70. NBFCP_MESSAGE nbfcpmsg;
  71. SECURITY_MESSAGE securitymsg;
  72. PPP_MESSAGE PppMsg;
  73. } MESSAGE, *PMESSAGE;
  74. //
  75. // Message Functions
  76. //
  77. VOID
  78. SendPppMessageToDDM(
  79. IN PPP_MESSAGE * pPppMsg
  80. );
  81. DWORD
  82. ServerSendMessage(
  83. IN MESSAGEQ_ID MsgQId,
  84. IN BYTE* pMessage
  85. );
  86. BOOL
  87. ServerReceiveMessage(
  88. IN MESSAGEQ_ID MsgQId,
  89. IN BYTE* pMessage
  90. );
  91. typedef DWORD (* PMSGFUNCTION)(DWORD, BYTE *);
  92. #endif // _DDMIF_
  93.