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.

162 lines
4.6 KiB

  1. /*
  2. - common.h
  3. -
  4. * Microsoft Internet Phone
  5. * Definitions that are common across the product
  6. *
  7. * Revision History:
  8. *
  9. * When Who What
  10. * -------- ------------------ ---------------------------------------
  11. * 11.20.95 Yoram Yaacovi Created
  12. */
  13. #ifndef _COMMON_H
  14. #define _COMMON_H
  15. #include <windows.h>
  16. #include <pshpack8.h> /* Assume 8 byte packing throughout */
  17. #ifdef __cplusplus
  18. extern "C" {
  19. #endif
  20. /*
  21. * DLL names
  22. */
  23. #define NACDLL TEXT("nac.dll")
  24. #define H323DLL TEXT("h323cc.dll")
  25. /*
  26. * Registry section
  27. *
  28. * Under HKEY_CURRENT_USER
  29. */
  30. #define szRegInternetPhone TEXT("Software\\Microsoft\\Internet Audio")
  31. #define szRegInternetPhoneUI TEXT("UI")
  32. #define szRegInternetPhoneUIProperties TEXT("UI\\Properties")
  33. #define szRegInternetPhoneDebug TEXT("Debug")
  34. #define szRegInternetPhoneCodec TEXT("Codec")
  35. #define szRegInternetPhoneVideoCodec TEXT("VideoCodec")
  36. #define szRegInternetPhoneDataPump TEXT("DataPump")
  37. #define szRegInternetPhoneACMEncodings TEXT("ACMEncodings")
  38. #define szRegInternetPhoneVCMEncodings TEXT("VCMEncodings")
  39. #define szRegInternetPhoneCustomEncodings TEXT("CustomACMEncodings")
  40. #define szRegInternetPhoneCustomVideoEncodings TEXT("CustomVCMEncodings")
  41. #define szRegInternetPhoneNac TEXT("NacObject")
  42. #define szRegInternetPhoneHelp TEXT("Help")
  43. #define szRegInternetPhoneOutputFile TEXT("RecordToFile")
  44. #define szRegInternetPhoneInputFile TEXT("PlayFromFile")
  45. /*
  46. * Network section
  47. */
  48. typedef short PORT;
  49. // Following is our assigned port number for the lightweight call control
  50. // protocol, infamously known as MSICCPP, or Microsoft Internet Call Control
  51. // Protocol.
  52. //----------
  53. //From: [email protected][SMTP:[email protected]]
  54. //Sent: Friday, July 12, 1996 11:35 AM
  55. //To: Max Morris
  56. //Cc: [email protected]
  57. //Subject: Re: request for port number: MSICCPP
  58. //Max,
  59. //
  60. //We have assigned port number 1731 to MSICCPP, with you as the point of
  61. //contact.
  62. //
  63. //Joyce
  64. #define MSICCPP_PORT 1731
  65. //#define HARDCODED_PORT 11010
  66. #define HARDCODED_PORT MSICCPP_PORT
  67. #define H323_PORT 1720 // well known H.323 listen port
  68. //
  69. // H.221 identification codes used by call control and nonstandard capability exchange
  70. //
  71. #define USA_H221_COUNTRY_CODE 0xB5
  72. #define USA_H221_COUNTRY_EXTENSION 0x00
  73. #define MICROSOFT_H_221_MFG_CODE 0x534C //("first" byte 0x53, "second" byte 0x4C)
  74. // some standard RTP payload types
  75. #define RTP_PAYLOAD_H261 31
  76. #define RTP_PAYLOAD_H263 34
  77. #define RTP_PAYLOAD_G723 4
  78. #define RTP_PAYLOAD_GSM610 3
  79. #define RTP_PAYLOAD_G721 2
  80. #define RTP_PAYLOAD_G711_MULAW 0
  81. #define RTP_PAYLOAD_G711_ALAW 8
  82. #define RTP_PAYLOAD_PCM8 10
  83. #define RTP_PAYLOAD_PCM16 11
  84. //Common Bandwidth declarations
  85. // !!! The QoS will decrease these numbers by the LeaveUnused value.
  86. // This value is currently hardcoded to be 30%
  87. #define BW_144KBS_BITS 14400 // QoS 30% markdown leads to a max bw usage of 10080 bits/second
  88. #define BW_288KBS_BITS 28800 // QoS 30% markdown leads to a max bw usage of 20160 bits/second
  89. #define BW_ISDN_BITS 85000 // QoS 30% markdown leads to a max bw usage of 59500 bits/second
  90. // LAN BANDWIDTH for slow pentiums
  91. #define BW_SLOWLAN_BITS 621700 // QoS 30% markdown leads to a max bw usage of 435190 bits/second
  92. // Pentiums faster than 400mhz can have this LAN setting
  93. #define BW_FASTLAN_BITS 825000 // QoS 30% markdown leads to a max bw usage of 577500 bits/second
  94. // For use as dimension for variable size arrays
  95. #define VARIABLE_DIM 1
  96. /*
  97. * Interface pointers
  98. */
  99. #ifndef DECLARE_INTERFACE_PTR
  100. #ifdef __cplusplus
  101. #define DECLARE_INTERFACE_PTR(iface, piface) \
  102. struct iface; typedef iface FAR * piface
  103. #else
  104. #define DECLARE_INTERFACE_PTR(iface, piface) \
  105. typedef struct iface iface, FAR * piface
  106. #endif
  107. #endif /* DECLARE_INTERFACE_PTR */
  108. /*
  109. * Custom Interface types
  110. */
  111. DECLARE_INTERFACE_PTR(IH323Endpoint, PH323_ENDPOINT);
  112. DECLARE_INTERFACE_PTR(IH323CallControl, LPH323CALLCONTROL);
  113. DECLARE_INTERFACE_PTR(ICommChannel, LPCOMMCHANNEL);
  114. // connection request callback returns CREQ_RESPONSETYPE
  115. typedef enum
  116. {
  117. CRR_ACCEPT,
  118. CRR_BUSY,
  119. CRR_REJECT,
  120. CRR_SECURITY_DENIED,
  121. CRR_ASYNC,
  122. CRR_ERROR
  123. }CREQ_RESPONSETYPE;
  124. typedef struct _application_call_setup_data
  125. {
  126. DWORD dwDataSize;
  127. LPVOID lpData;
  128. }APP_CALL_SETUP_DATA, *P_APP_CALL_SETUP_DATA;
  129. typedef CREQ_RESPONSETYPE (__stdcall *CNOTIFYPROC)(IH323Endpoint *pIEndpoint,
  130. P_APP_CALL_SETUP_DATA pAppData);
  131. #ifdef __cplusplus
  132. }
  133. #endif
  134. #include <poppack.h> /* End byte packing */
  135. #endif //#ifndef _COMMON_H