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.

136 lines
4.8 KiB

  1. /****************************************************************************
  2. *
  3. * $Archive: S:/STURGEON/SRC/INCLUDE/VCS/rtpmsp.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) 1993-1994 Intel Corporation.
  12. *
  13. * $Revision: 1.15 $
  14. * $Date: 11 Jul 1996 18:42:08 $
  15. * $Author: rodellx $
  16. *
  17. * Deliverable:
  18. *
  19. * Abstract:
  20. *
  21. * Notes:
  22. *
  23. ***************************************************************************/
  24. #ifndef RTPMSP_H
  25. #define RTPMSP_H
  26. #ifdef __cplusplus
  27. extern "C" { // Assume C declarations for C++.
  28. #endif // __cplusplus
  29. // define SOURCE and SINK MSP IDs
  30. #define RTPMSP_SRC "IntelRMSNetIORTPSrc"
  31. #define RTPMSP_SNK "IntelRMSNetIORTPSnk"
  32. // RTPMSP defined error codes
  33. #define RPE_BASE (ERROR_LOCAL_BASE_ID)
  34. #define RPE_AFSUPPORT (MAKE_RTPMSP_ERROR(RPE_BASE+1))
  35. #define RPE_STATE (MAKE_RTPMSP_ERROR(RPE_BASE+2))
  36. #define RPE_NOPROVIDER (MAKE_RTPMSP_ERROR(RPE_BASE+3))
  37. #define RPE_BADVERSION (MAKE_RTPMSP_ERROR(ERROR_INVALID_VERSION))
  38. #define RPE_NOMEM (MAKE_RTPMSP_ERROR(ERROR_NOT_ENOUGH_MEMORY))
  39. #define RPE_PARAM (MAKE_RTPMSP_ERROR(ERROR_INVALID_PARAMETER))
  40. #define RPE_NOTIMPL (MAKE_RTPMSP_ERROR(ERROR_NOT_SUPPORTED))
  41. #define RPE_INTERNAL (MAKE_RTPMSP_ERROR(ERROR_GEN_FAILURE))
  42. #define RPE_DUPLICATE (MAKE_RTPMSP_ERROR(ERROR_ALREADY_EXISTS))
  43. #define RPE_NOBUFFERS (MAKE_RTPMSP_ERROR(ERROR_BUFFER_LIMIT))
  44. // version RTPMSP initialization data structures
  45. #define RTPMSPINITVER 2
  46. // pass a pointer to this structure as the lParam1 parameter
  47. // to MSM_OpenService with fields filled in.
  48. typedef struct _RTPMSPININIT
  49. {
  50. UINT version; // value of RTPMSPINITVER
  51. UINT len; // length of the entire structure
  52. WSAPROTOCOL_INFO protInfo; // information on protocol to be used
  53. int mcastFlags; // default ignored for now
  54. SOCKADDR localAddr; // default requested local address of SRC ports
  55. SOCKADDR remoteAddr; // default remote address of SNK ports
  56. char *cName; // unique identifier for user, usually mail ID
  57. char *userName; // Full name of user
  58. // limit of version 1 defined fields
  59. // limit of version 2 defined fields
  60. } RTPMSPININIT, *LPRTPMSPININIT;
  61. // pass a pointer to this structure as the lParam2 parameter
  62. // to MSM_OpenService with only version and len fields filled in.
  63. // remainder of fields will be filled in on return.
  64. typedef struct _LPRTPMSPOUTINIT
  65. {
  66. UINT version; // value of RTPMSPINITVER
  67. UINT len; // length of the entire structure
  68. // limit of version 1 defined fields
  69. WSAPROTOCOL_INFO protInfo; // information on protocol used
  70. // limit of version 2 defined fields
  71. } RTPMSPOUTINIT, *LPRTPMSPOUTINIT;
  72. #define RTPPORTINITVER 3
  73. // pass a pointer to this structure as the lParam1 parameter
  74. // to MSM_OpenPort with fields filled in.
  75. typedef struct _RTPPORTININIT
  76. {
  77. UINT version; // value of RTPPORTINITVER
  78. UINT len; // length of the entire structure
  79. int mcastFlags; // ignored for now
  80. SOCKADDR localAddr; // requested local address of port to open
  81. SOCKADDR remoteAddr; // remote address of port to open
  82. // limit of version 1 defined fields
  83. BOOL specific_ssrc; // whether SSRC value has been specified
  84. DWORD ssrc; // requested SSRC ID
  85. // limit of version 2 defined fields
  86. DWORD clockFrequency; // media sample frequency
  87. UINT buffCount; // number of buffers to allocate for this port
  88. UINT buffSize; // size of buffers to allocate for this port
  89. // limit of version 3 defined fields
  90. } RTPPORTININIT, *LPRTPPORTININIT;
  91. // pass a pointer to this structure as the lParam2 parameter
  92. // to MSM_OpenPort with only version and len fields filled in.
  93. // remainder of fields will be filled in on return.
  94. typedef struct _LPRTPPORTOUTINIT
  95. {
  96. UINT version; // value of RTPMSPINITVER
  97. UINT len; // length of the entire structure
  98. SOCKADDR localAddr; // actual local address of port opened
  99. // limit of version 1 defined fields
  100. BOOL assigned_ssrc; // whether SSRC value has been assigned
  101. DWORD ssrc; // assigned SSRC ID
  102. // limit of version 2 defined fields
  103. UINT buffCount; // number of buffers to allocate for this port
  104. UINT buffSize; // size of buffers to allocate for this port
  105. // limit of version 3 defined fields
  106. } RTPPORTOUTINIT, *LPRTPPORTOUTINIT;
  107. // Command values for MSP_ServiceCmdProc
  108. #define RTPMSP_SETMCASTSCOPE 0x0001
  109. // inParam contains value of TTL
  110. // outParam is ignored
  111. #define RTPMSP_GETMCASTSCOPE 0x8001
  112. // inParam is ignored
  113. // outParam contains a pointer to DWORD where current TTL is returned
  114. #define RTPMSP_GETMTUSIZE 0x8002
  115. // inParam is ignored
  116. // outParam contains a pointer to UINT where MTU size is returned
  117. #ifdef __cplusplus
  118. } // End of extern "C" {
  119. #endif // __cplusplus
  120. #endif // RTPMSP_H