home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 May / PCP163A.iso / Runimage / Cbuilder4 / Include / RTP.H < prev    next >
Encoding:
C/C++ Source or Header  |  1999-01-26  |  2.0 KB  |  80 lines

  1. /*++
  2.  
  3. Copyright 1996 - 1998 Microsoft Corporation
  4.  
  5. Module Name:
  6.  
  7.     rtp.h
  8.  
  9. Abstract:
  10.  
  11.     Header for RTP/RTCP Protocol.
  12.  
  13. --*/
  14.  
  15. #ifndef _INC_RTP
  16. #pragma option push -b -a8 -pc -A- /*P_O_Push_S*/
  17. #define _INC_RTP
  18.  
  19. #define RTP_TYPE     2
  20. #define RTP_MAX_SDES 256
  21. #define RTP_MAX_EKEY 32
  22.  
  23. typedef struct _RTP_SDES_ITEM {
  24.     BYTE Type;
  25.     BYTE TextLength;
  26.     BYTE Text[RTP_MAX_SDES];
  27. } RTCP_SDES_ITEM, *PRTCP_SDES_ITEM;
  28.  
  29. typedef struct _RTCP_SENDER_REPORT {
  30.     DWORD NtpTimestampSec;
  31.     DWORD NtpTimestampFrac;
  32.     DWORD RtpTimestamp;
  33.     DWORD TotalPackets;
  34.     DWORD TotalOctets;
  35. } RTCP_SENDER_REPORT, *PRTCP_SENDER_REPORT;
  36.     
  37. typedef struct _RTCP_RECEIVER_REPORT {
  38.     DWORD FractionLost:8;
  39.     DWORD TotalLostPackets:24;
  40.     DWORD HighestSequenceNum;
  41.     DWORD InterarrivalJitter;
  42.     DWORD LastSRTimestamp;
  43.     DWORD DelaySinceLastSR;
  44. } RTCP_RECEIVER_REPORT, *PRTCP_RECEIVER_REPORT;
  45.  
  46. typedef struct _RTCP_PARTICIPANT_REPORT {
  47.     DWORD                SSRC;
  48.     RTCP_SENDER_REPORT   LastSR;
  49.     RTCP_RECEIVER_REPORT LastIncomingRR;
  50.     RTCP_RECEIVER_REPORT LastOutgoingRR;
  51. } RTCP_PARTICIPANT_REPORT, *PRTCP_PARTICIPANT_REPORT;
  52.     
  53. typedef struct _RTP_HEADER {
  54. //--- NETWORK BYTE ORDER BEGIN ---//
  55.     WORD  NumCSRC:4;                                      
  56.     WORD  fExtHeader:1;                                   
  57.     WORD  fPadding:1;                                     
  58.     WORD  Version:2;                                      
  59.     WORD  PayloadType:7;
  60.     WORD  fMarker:1;
  61. //---- NETWORK BYTE ORDER END ----//
  62.     WORD  SequenceNum;
  63.     DWORD Timestamp;
  64.     DWORD SSRC;
  65. } RTP_HEADER, *PRTP_HEADER;
  66.  
  67. typedef struct _RTP_HEADER_X {
  68.     WORD  Identifier;
  69.     WORD  DataLength;
  70.     DWORD Data[1];
  71. } RTP_HEADER_X, *PRTP_HEADER_X;
  72.  
  73. typedef struct _RTP_ENCRYPTION_INFO {
  74.     DWORD Scheme;
  75.     DWORD Key[RTP_MAX_EKEY];
  76. } RTP_ENCRYPTION_INFO, *PRTP_ENCRYPTION_INFO;
  77.  
  78. #pragma option pop /*P_O_Pop*/
  79. #endif // _INC_RTP
  80.