reports.h
上传用户:hnnddl
上传日期:2007-01-06
资源大小:3580k
文件大小:3k
源码类别:

IP电话/视频会议

开发平台:

WINDOWS

  1. /*
  2.  * $Revision: 1.6 $
  3.  * $Date: 1998/05/19 18:31:00 $
  4.  */
  5. ////////////////////////////////////////////////////////////////
  6. //               Copyright (c) 1996,97 Lucent Technologies    //
  7. //                       All Rights Reserved                  //
  8. //                                                            //
  9. //                       THIS IS UNPUBLISHED                  //
  10. //                       PROPRIETARY SOURCE                   //
  11. //                   CODE OF Lucent Technologies              //
  12. //      AND elemedia    //
  13. //                                                            //
  14. //           The copyright notice above does not evidence any //
  15. //          actual or intended publication of such source code//
  16. ////////////////////////////////////////////////////////////////
  17. //
  18. ////////////////////////////////////////////////////////////////
  19. // File : reports.h   //
  20. //                                                            //
  21. //                                                           //
  22. // History:   //
  23. //  15_Jan_1997 Created   //
  24. // 08_Jul_1997 Sun5 Changes.   //
  25. // 09 Jul 1997 Unixware changes   //
  26. // 18_Jul_1997 pack() does not work on sunpro compiler v4.2  //
  27. // 24_Mar_1998 Added support for hpux   //
  28. //   //
  29. ////////////////////////////////////////////////////////////////
  30. #if (!defined(__REPORTS_H__))
  31. #define __REPORTS_H__
  32. #if (defined(WIN32))
  33. #pragma pack(push)
  34. #pragma pack(1)
  35. #elif (defined(__SVR4) || defined(__GNUC__) || defined (__GNUG__))
  36. #pragma pack(1)
  37. #elif (defined(__hpux))
  38. // HP doesn't need pack
  39. #else
  40. #error "Don't know how to pack"
  41. #endif
  42. // Sender info block of a SR
  43. struct RTCPSenderInfo
  44. {
  45. unsigned int sr_sec; // more significant 32 bits of NTP time
  46. unsigned int sr_fraction; // less significant 32 bits NTP time
  47. unsigned int sr_ts; // timestamp based on sampling clock
  48. unsigned int sr_np; // no. packets sent
  49. unsigned int sr_nb; // no. bytes sent
  50. };
  51. // Reception report
  52. struct RTCPReceptionReport
  53. {
  54. unsigned int rr_srcid; // sender being reported
  55. unsigned int rr_loss; // loss stats (8:fraction(LSB), 24:cumulative)
  56. unsigned int rr_ehsr; // ext. highest seqno received 
  57. unsigned int rr_dv; // jitter (delay variance) 
  58. unsigned int rr_lsr; // orig. ts from last rr from this src  
  59. unsigned int rr_dlsr; // time from recpt of last rr to xmit time 
  60. };
  61. #if (defined(WIN32))
  62. #pragma pack(pop)
  63. #elif (defined(__SVR4) || defined(__GNUC__) || defined (__GNUG__))
  64. #if (defined(__SUNPRO_CC) || defined(__SUNPRO_C))
  65. #pragma pack(4) // bug in solaris compiler...
  66. #else
  67. #pragma pack()
  68. #endif
  69. #elif (defined(__hpux))
  70. // HP doesn't need pack
  71. #else
  72. #error "Don't know how to pack"
  73. #endif 
  74. #endif // __REPORTS_H__