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.

110 lines
2.4 KiB

  1. /*++
  2. Copyright (c) 1995 Microsoft Corporation
  3. Module Name:
  4. net\routing\ipx\sap\asresmgr.h
  5. Abstract:
  6. Header file asyncronous result reporting
  7. Author:
  8. Vadim Eydelman 05-15-1995
  9. Revision History:
  10. --*/
  11. #ifndef _SAP_ASRESMGR_
  12. #define _SAP_ASRESMGR_
  13. // Param block used to enqueue asyncronous result message
  14. typedef struct _AR_PARAM_BLOCK {
  15. LIST_ENTRY link; // Link in message queue
  16. ROUTING_PROTOCOL_EVENTS event; // What event is this report for
  17. MESSAGE message;// Content of message
  18. VOID (* freeRsltCB)(
  19. struct _AR_PARAM_BLOCK *);
  20. // Call back routine to be
  21. // invoked when message is retreived
  22. } AR_PARAM_BLOCK, *PAR_PARAM_BLOCK;
  23. /*++
  24. *******************************************************************
  25. C r e a t e R e s u l t Q u e u e
  26. Routine Description:
  27. Allocates resources for result queue
  28. Arguments:
  29. NotificationEvent - event to be signalled when queue is not empty
  30. Return Value:
  31. NO_ERROR - resources were allocated successfully
  32. other - reason of failure (windows error code)
  33. *******************************************************************
  34. --*/
  35. DWORD
  36. CreateResultQueue (
  37. IN HANDLE NotificationEvent
  38. );
  39. /*++
  40. *******************************************************************
  41. D e l e t e R e s u l t Q u e u e
  42. Routine Description:
  43. Dispose of resources allocated for result queue
  44. Arguments:
  45. None
  46. Return Value:
  47. None
  48. *******************************************************************
  49. --*/
  50. VOID
  51. DeleteResultQueue (
  52. void
  53. );
  54. /*++
  55. *******************************************************************
  56. E n q u e u e R e s u l t
  57. Routine Description:
  58. Enqueues message in result queue
  59. Arguments:
  60. rslt - result param block with enqueued message
  61. Return Value:
  62. None
  63. *******************************************************************
  64. --*/
  65. VOID
  66. EnqueueResult (
  67. PAR_PARAM_BLOCK rslt
  68. );
  69. /*++
  70. *******************************************************************
  71. S a p G e t E v e n t R e s u l t
  72. Routine Description:
  73. Gets first message form result queue
  74. Arguments:
  75. Event - buffer to store event for which this message is intended
  76. Message - buffer to store message itself
  77. Return Value:
  78. NO_ERROR - message was dequeued
  79. ERROR_NO_MORE_ITEMS - no more messages in the queue
  80. *******************************************************************
  81. --*/
  82. DWORD
  83. SapGetEventResult (
  84. OUT ROUTING_PROTOCOL_EVENTS *Event,
  85. OUT MESSAGE *Message OPTIONAL
  86. );
  87. #endif