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.

85 lines
3.1 KiB

  1. /*
  2. * File: iras.h
  3. *
  4. * Gatekeeper status interface header file
  5. *
  6. * Revision History:
  7. *
  8. * 08/28/98 mikev created
  9. *
  10. */
  11. #ifndef _IRAS_H
  12. #define _IRAS_H
  13. #include <pshpack8.h> /* Assume 8 byte packing throughout */
  14. // RAS event codes
  15. #define RAS_REG_TIMEOUT 0 // GK did not respond
  16. #define RAS_REG_CONFIRM 1 // received RCF (registration confirmed)
  17. #define RAS_UNREG_CONFIRM 2 // received UCF (unregistration confirmed)
  18. #define RAS_REJECTED 3 // received RRJ (registration rejected)
  19. #define RAS_UNREG_REQ 4 // received URQ
  20. // (unregistration request - means that
  21. // gatekeeper booted the endpoint off)
  22. // Note that if RRJ or URQ is received, no calls can be placed until
  23. // successfully registering.
  24. // reason codes for RRJ. Note that these map to the ASN.1 defined reason
  25. // values in H.225. But the ASN.1 headers aren't exposed to the world.
  26. // It would cause build nightmares to do so. The headers are generated by the
  27. // ASN.1 compiler from ASN.1 source that is sometimes updated. Sometimes
  28. // duplicate names in the source result in name decoration in the generated headers
  29. // and that causes compilation errors in anything that references what changed.
  30. // fortunately, the code deep in the stack that actually propagates these upward
  31. // IS exposed to both headers, and has compile-time tests for equality. If
  32. // these don't match the real codes, that code will not compile
  33. #define RRJ_DISCOVERY_REQ 1 // discovery required
  34. #define RRJ_INVALID_REVISION 2
  35. #define RRJ_INVALID_CALL_ADDR 3
  36. #define RRJ_INVALID_RAS_ADDR 4
  37. #define RRJ_DUPLICATE_ALIAS 5
  38. #define RRJ_INVALID_TERMINAL_TYPE 6
  39. #define RRJ_UNDEFINED 7
  40. #define RRJ_TRANSPORT_NOT_SUPPORTED 8
  41. #define RRJ_TRANSPORT_QOS_NOT_SUPPORTED 9
  42. #define RRJ_RESOURCE_UNAVAILABLE 10
  43. #define RRJ_INVALID_ALIAS 11
  44. #define RRJ_SECURITY_DENIAL 12
  45. // reason codes for GK initiated Unregistration Request
  46. #define URQ_REREG_REQUIRED 1 // GK wants another registration
  47. #define URQ_TTL_EXPIRED 2 // TimeToLive expired
  48. #define URQ_SECURITY_DENIAL 3
  49. #define URQ_UNDEFINED 4
  50. // reason codes for Admission Reject (ARJ)
  51. #define ARJ_CALLEE_NOT_REGISTERED 1
  52. #define ARJ_INVALID_PERMISSION 2
  53. #define ARJ_REQUEST_DENIED 3
  54. #define ARJ_UNDEFINED 4
  55. #define ARJ_CALLER_NOT_REGISTERED 5
  56. #define ARJ_ROUTE_TO_GK 6
  57. #define ARJ_INVALID_ENDPOINT_ID 7
  58. #define ARJ_RESOURCE_UNAVAILABLE 8
  59. #define ARJ_SECURTY_DENIAL 9
  60. #define ARJ_QOS_CONTROL_NOT_SUPPORTED 10
  61. #define ARJ_INCOMPLETE_ADDRESS 11
  62. #define MAX_ARJ_H225_REASON ARJ_INCOMPLETE_ADDRESS
  63. // The following is not a real H.225 reason code for ARJ.
  64. // It is generated internally when there is an ARJ timeout
  65. #define ARJ_TIMEOUT MAX_ARJ_H225_REASON+1
  66. typedef VOID (__stdcall *RASNOTIFYPROC)(DWORD dwRasEvent, HRESULT hReason);
  67. #include <poppack.h> /* End byte packing */
  68. #endif //#ifndef _IRAS_H