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.

199 lines
6.6 KiB

  1. /****************************************************************************
  2. *
  3. * $Archive: S:/STURGEON/SRC/INCLUDE/VCS/incommon.h_v $
  4. *
  5. * INTEL Corporation Prorietary Information
  6. *
  7. * This listing is supplied under the terms of a license agreement
  8. * with INTEL Corporation and may not be copied nor disclosed except
  9. * in accordance with the terms of that agreement.
  10. *
  11. * Copyright (c) 1996 Intel Corporation.
  12. *
  13. * $Revision: 1.41 $
  14. * $Date: 12 Feb 1997 09:34:42 $
  15. * $Author: MANDREWS $
  16. *
  17. * Deliverable: INCOMMON.H
  18. *
  19. * Abstract: commonly used structures
  20. *
  21. *
  22. * Notes:
  23. *
  24. ***************************************************************************/
  25. #ifndef INCOMMON_H
  26. #define INCOMMON_H
  27. #pragma pack(push,8)
  28. #define CC_INVALID_HANDLE 0
  29. // CCRC_CALL_REJECTED reason codes (includes cause values)
  30. #define CC_REJECT_NO_BANDWIDTH 1
  31. #define CC_REJECT_GATEKEEPER_RESOURCES 2
  32. #define CC_REJECT_UNREACHABLE_DESTINATION 3
  33. #define CC_REJECT_DESTINATION_REJECTION 4
  34. #define CC_REJECT_INVALID_REVISION 5
  35. #define CC_REJECT_NO_PERMISSION 6
  36. #define CC_REJECT_UNREACHABLE_GATEKEEPER 7
  37. #define CC_REJECT_GATEWAY_RESOURCES 8
  38. #define CC_REJECT_BAD_FORMAT_ADDRESS 9
  39. #define CC_REJECT_ADAPTIVE_BUSY 10
  40. #define CC_REJECT_IN_CONF 11
  41. #define CC_REJECT_ROUTE_TO_GATEKEEPER 12
  42. #define CC_REJECT_CALL_FORWARDED 13
  43. #define CC_REJECT_ROUTE_TO_MC 14
  44. #define CC_REJECT_UNDEFINED_REASON 15
  45. #define CC_REJECT_INTERNAL_ERROR 16 // Internal error occured in peer CS stack.
  46. #define CC_REJECT_NORMAL_CALL_CLEARING 17 // Normal call hangup
  47. #define CC_REJECT_USER_BUSY 18 // User is busy with another call
  48. #define CC_REJECT_NO_ANSWER 19 // Callee does not answer
  49. #define CC_REJECT_NOT_IMPLEMENTED 20 // Service has not been implemented
  50. #define CC_REJECT_MANDATORY_IE_MISSING 21 // Pdu missing mandatory ie
  51. #define CC_REJECT_INVALID_IE_CONTENTS 22 // Pdu ie was incorrect
  52. #define CC_REJECT_TIMER_EXPIRED 23 // Own timer expired
  53. #define CC_REJECT_CALL_DEFLECTION 24 // You deflected the call, so lets quit.
  54. #define CC_REJECT_GATEKEEPER_TERMINATED 25 // Gatekeeper terminated call
  55. #define CC_REJECT_SECURITY_DENIED 26 // Security is not compatible
  56. // Q931 call types
  57. #define CC_CALLTYPE_UNKNOWN 0
  58. #define CC_CALLTYPE_PT_PT 1
  59. #define CC_CALLTYPE_1_N 2
  60. #define CC_CALLTYPE_N_1 3
  61. #define CC_CALLTYPE_N_N 4
  62. // alias contants
  63. #define CC_ALIAS_MAX_H323_ID 256
  64. #define CC_ALIAS_MAX_H323_PHONE 128
  65. // unicode character mask contants
  66. #define CC_ALIAS_H323_PHONE_CHARS L"0123456789#*,"
  67. #define CC_ODOTTO_CHARS L".0123456789"
  68. // alias type codes
  69. #define CC_ALIAS_H323_ID 1 // Return call information.
  70. #define CC_ALIAS_H323_PHONE 2 // H323 Phone Number.
  71. // default port id's
  72. #define CC_H323_GATE_DISC 1718 // Gatekeeper IP Discovery Port
  73. #define CC_H323_GATE_STAT 1719 // Gatekeeper UDP Reg. and Status Port
  74. #define CC_H323_HOST_CALL 1720 // Endpoint TCP Call Signalling Por
  75. // Call creation goals
  76. #define CC_GOAL_UNKNOWN 0
  77. #define CC_GOAL_CREATE 1
  78. #define CC_GOAL_JOIN 2
  79. #define CC_GOAL_INVITE 3
  80. // H245 non-standard message types
  81. #define CC_H245_MESSAGE_REQUEST 0
  82. #define CC_H245_MESSAGE_RESPONSE 1
  83. #define CC_H245_MESSAGE_COMMAND 2
  84. #define CC_H245_MESSAGE_INDICATION 3
  85. // Call Control handle typedefs
  86. typedef DWORD_PTR CC_HLISTEN, *PCC_HLISTEN;
  87. typedef DWORD_PTR CC_HCONFERENCE, *PCC_HCONFERENCE;
  88. typedef DWORD_PTR CC_HCALL, *PCC_HCALL;
  89. typedef DWORD_PTR CC_HCHANNEL, *PCC_HCHANNEL;
  90. // IP address in domain name format
  91. typedef struct
  92. {
  93. WORD wPort; // UDP or TCP port (host byte order)
  94. WCHAR cAddr[255]; // UNICODE zstring
  95. } CC_IP_DomainName_t;
  96. // IP address in conventional �dot� notation
  97. typedef struct
  98. {
  99. WORD wPort; // UDP or TCP port (host byte order)
  100. WCHAR cAddr[16]; // UNICODE zstring
  101. } CC_IP_Dot_t;
  102. // IP address in binary format
  103. typedef struct
  104. {
  105. WORD wPort; // UDP or TCP port (host byte order)
  106. DWORD dwAddr; // binary address (host byte order)
  107. } CC_IP_Binary_t;
  108. typedef enum
  109. {
  110. CC_IP_DOMAIN_NAME,
  111. CC_IP_DOT,
  112. CC_IP_BINARY
  113. } CC_ADDRTYPE;
  114. typedef struct _ADDR
  115. {
  116. CC_ADDRTYPE nAddrType;
  117. BOOL bMulticast;
  118. union
  119. {
  120. CC_IP_DomainName_t IP_DomainName;
  121. CC_IP_Dot_t IP_Dot;
  122. CC_IP_Binary_t IP_Binary;
  123. } Addr;
  124. } CC_ADDR, *PCC_ADDR;
  125. typedef struct
  126. {
  127. BYTE *pOctetString;
  128. WORD wOctetStringLength;
  129. } CC_OCTETSTRING, *PCC_OCTETSTRING;
  130. typedef struct
  131. {
  132. CC_OCTETSTRING sData; // pointer to Octet data.
  133. BYTE bCountryCode;
  134. BYTE bExtension;
  135. WORD wManufacturerCode;
  136. } CC_NONSTANDARDDATA, *PCC_NONSTANDARDDATA;
  137. #define CC_MAX_PRODUCT_LENGTH 256
  138. #define CC_MAX_VERSION_LENGTH 256
  139. #define CC_MAX_DISPLAY_LENGTH 82
  140. typedef struct
  141. {
  142. BYTE bCountryCode;
  143. BYTE bExtension;
  144. WORD wManufacturerCode;
  145. PCC_OCTETSTRING pProductNumber;
  146. PCC_OCTETSTRING pVersionNumber;
  147. } CC_VENDORINFO, *PCC_VENDORINFO;
  148. typedef struct
  149. {
  150. PCC_VENDORINFO pVendorInfo;
  151. BOOL bIsTerminal;
  152. BOOL bIsGateway; // for now, the H323 capability will be hard-coded.
  153. } CC_ENDPOINTTYPE, *PCC_ENDPOINTTYPE;
  154. typedef struct
  155. {
  156. WORD wType;
  157. WORD wPrefixLength;
  158. LPWSTR pPrefix;
  159. WORD wDataLength; // UNICODE character count
  160. LPWSTR pData; // UNICODE data.
  161. } CC_ALIASITEM, *PCC_ALIASITEM;
  162. typedef struct
  163. {
  164. WORD wCount;
  165. PCC_ALIASITEM pItems;
  166. } CC_ALIASNAMES, *PCC_ALIASNAMES;
  167. typedef struct _CONFERENCE_ID
  168. {
  169. BYTE buffer[16]; // This is OCTET data, not ASCII.
  170. } CC_CONFERENCEID, *PCC_CONFERENCEID;
  171. #pragma pack(pop)
  172. #endif INCOMMON_H
  173.