📄 rvsdpobjs.h
字号:
typedef RvList(RvSdpTypedTime) RvSdpTypedTimeList;
RV_SDP_DECLSPEC RvSdpTypedTimeList* rvSdpTypedTimeListConstruct(RvSdpTypedTimeList *x);
#define rvSdpTypedTimeListConstructA rvListConstruct(RvSdpTypedTime)
#define rvSdpTypedTimeListConstructCopy rvListConstructCopy(RvSdpTypedTime)
#define rvSdpTypedTimeListDestruct rvListDestruct(RvSdpTypedTime)
#define rvSdpTypedTimeListCopy rvListCopy(RvSdpTypedTime)
#define rvSdpTypedTimeListEqual rvListEqual(RvSdpTypedTime)
#define rvSdpTypedTimeListAdd rvListPushBack(RvSdpTypedTime)
#define rvSdpTypedTimeListClear rvListClear(RvSdpTypedTime)
#define rvSdpTypedTimeListGetSize rvListSize
#define rvSdpTypedTimeListGetElem rvListAt(RvSdpTypedTime)
RV_SDP_DECLSPEC void rvSdpTypedTimeConstruct(RvSdpTypedTime* x,RvSdpTimeUnit units,RvUint32 time);
RV_SDP_DECLSPEC void rvSdpTypedTimeConstructA(RvSdpTypedTime* x,RvSdpTimeUnit units,RvUint32 time,RvAlloc* a);
RV_SDP_DECLSPEC void rvSdpTypedTimeConstructCopy(RvSdpTypedTime *d,const RvSdpTypedTime *s,RvAlloc* alloc);
RV_SDP_DECLSPEC void rvSdpTypedTimeDestruct(RvSdpTypedTime* x);
RV_SDP_DECLSPEC void rvSdpTypedTimeCopy(RvSdpTypedTime *d,const RvSdpTypedTime *s,RvAlloc* alloc);
/*RvSdpTimeUnit rvSdpTypedTimeGetUnits(const RvSdpTypedTime* x);*/
#define rvSdpTypedTimeGetUnits(x) ((x)->type)
/*RvUint32 rvSdpTypedTimeGetTime(const RvSdpTypedTime* x);*/
#define rvSdpTypedTimeGetTime(x) ((x)->time)
/* #define RvSdpTypedTimeConstruct rvSdpTypedTimeConstruct */
#define RvSdpTypedTimeConstructCopy rvSdpTypedTimeConstructCopy
#define RvSdpTypedTimeDestruct rvSdpTypedTimeDestruct
#define RvSdpTypedTimeEqual(d,s) rvSdpMemEqual(d,s,RvSdpTypedTime)
/****** Repeat time object and methods **************************/
typedef struct RvSdpRepeatInterval_{
RvSdpTypedTime interval;
RvSdpTypedTime duration;
RvSdpTypedTimeList offset;
} RvSdpRepeatInterval;
rvDeclareList(RvSdpRepeatInterval)
typedef RvList(RvSdpRepeatInterval) RvSdpRepeatIntervalList;
/* RvSdpRepeatIntervalList* rvSdpRepeatIntervalListConstruct(RvSdpRepeatIntervalList *x); */
#define rvSdpRepeatIntervalListConstructA rvListConstruct(RvSdpRepeatInterval)
#define rvSdpRepeatIntervalListConstructCopy rvListConstructCopy(RvSdpRepeatInterval)
#define rvSdpRepeatIntervalListDestruct rvListDestruct(RvSdpRepeatInterval)
#define rvSdpRepeatIntervalListCopy rvListCopy(RvSdpRepeatInterval)
#define rvSdpRepeatIntervalListEqual rvListEqual(RvSdpRepeatInterval)
#define rvSdpRepeatIntervalListAdd rvListPushBack(RvSdpRepeatInterval)
#define rvSdpRepeatIntervalListClear rvListClear(RvSdpRepeatInterval)
#define rvSdpRepeatIntervalListGetSize rvListSize
#define rvSdpRepeatIntervalListGetElem rvListAt(RvSdpRepeatInterval)
RV_SDP_DECLSPEC RvSdpRepeatInterval* rvSdpRepeatIntervalConstructA(RvSdpRepeatInterval* x,
RvUint32 time,RvSdpTimeUnit t_units,
RvUint32 duration ,RvSdpTimeUnit d_units,RvAlloc* a) ;
RV_SDP_DECLSPEC RvSdpRepeatInterval* rvSdpRepeatIntervalConstruct(RvSdpRepeatInterval* x,
RvUint32 time,RvSdpTimeUnit t_units,
RvUint32 duration ,RvSdpTimeUnit d_units);
RV_SDP_DECLSPEC RvSdpRepeatInterval* rvSdpRepeatIntervalConstructCopy(RvSdpRepeatInterval *d,const RvSdpRepeatInterval *s,RvAlloc* alloc);
RV_SDP_DECLSPEC void rvSdpRepeatIntervalDestruct(RvSdpRepeatInterval* x);
RV_SDP_DECLSPEC RvSdpRepeatInterval* rvSdpRepeatIntervalCopy(RvSdpRepeatInterval *d,const RvSdpRepeatInterval *s);
/*RvSdpTimeUnit rvSdpRepeatIntervalGetDurationUnits(const RvSdpRepeatInterval* x);*/
#define rvSdpRepeatIntervalGetDurationUnits(x) rvSdpTypedTimeGetUnits(&(x)->duration)
/*RvUint32 rvSdpRepeatIntervalGetDurationTime(const RvSdpRepeatInterval* x);*/
#define rvSdpRepeatIntervalGetDurationTime(x) rvSdpTypedTimeGetTime(&(x)->duration)
/*RvSdpTimeUnit rvSdpRepeatIntervalGetIntervalUnits(const RvSdpRepeatInterval* x);*/
#define rvSdpRepeatIntervalGetIntervalUnits(x) rvSdpTypedTimeGetUnits(&(x)->interval)
/*RvUint32 rvSdpRepeatIntervalGetIntervalTime(const RvSdpRepeatInterval* x);*/
#define rvSdpRepeatIntervalGetIntervalTime(x) rvSdpTypedTimeGetTime(&x->interval)
RV_SDP_DECLSPEC void rvSdpRepeatIntervalAddOffset(RvSdpRepeatInterval* repeat,RvUint32 time,RvSdpTimeUnit units);
RV_SDP_DECLSPEC void rvSdpRepeatIntervalClearOffset(RvSdpRepeatInterval* repeat);
RV_SDP_DECLSPEC size_t rvSdpRepeatIntervalGetNumOfOffset(RvSdpRepeatInterval* repeat);
#ifdef RV_SDPTIME_FULL
RV_SDP_DECLSPEC RvUint32 rvSdpRepeatIntervalGetOffsetTime(RvSdpRepeatInterval* repeat,size_t i);
RV_SDP_DECLSPEC RvSdpTimeUnit rvSdpRepeatIntervalGetOffsetUnits(RvSdpRepeatInterval* repeat,size_t i);
#endif
#define RvSdpRepeatIntervalConstructCopy rvSdpRepeatIntervalConstructCopy
#define RvSdpRepeatIntervalDestruct rvSdpRepeatIntervalDestruct
#define RvSdpRepeatIntervalCopy rvSdpRepeatIntervalCopy
#define RvSdpRepeatIntervalEqual(d,s) rvSdpMemEqual(d,s,RvSdpRepeatInterval)
/******** Session time object and methods **********************/
typedef struct RvSdpSessionTime_{
RvUint32 start;
RvUint32 end;
#ifdef RV_SDPTIME_FULL
RvSdpRepeatIntervalList repeat_list;
#endif
} RvSdpSessionTime;
rvDeclareList(RvSdpSessionTime)
typedef RvList(RvSdpSessionTime) RvSdpSessionTimeList;
/* RvSdpSessionTimeList* rvSdpSessionTimeListConstruct(RvSdpSessionTimeList *x); */
#define rvSdpSessionTimeListConstructA rvListConstruct(RvSdpSessionTime)
#define rvSdpSessionTimeListConstructCopy rvListConstructCopy(RvSdpSessionTime)
#define rvSdpSessionTimeListDestruct rvListDestruct(RvSdpSessionTime)
#define rvSdpSessionTimeListCopy rvListCopy(RvSdpSessionTime)
#define rvSdpSessionTimeListEqual rvListEqual(RvSdpSessionTime)
#define rvSdpSessionTimeListAdd rvListPushBack(RvSdpSessionTime)
#define rvSdpSessionTimeListClear rvListClear(RvSdpSessionTime)
#define rvSdpSessionTimeListGetSize rvListSize
#define rvSdpSessionTimeListGetElem rvListAt(RvSdpSessionTime)
RV_SDP_DECLSPEC RvSdpSessionTime* rvSdpSessionTimeConstructN(RvSdpSessionTime* x,
RvUint32 start,RvUint32 end,
RvAlloc* alloc) ;
#define rvSdpSessionTimeConstructA(x,s,e,alloc) rvSdpSessionTimeConstructN(x,s,e,alloc)
#define rvSdpSessionTimeConstruct(x,s,e) rvSdpSessionTimeConstructA(x,s,e,&rvDefaultAlloc)
RV_SDP_DECLSPEC RvSdpSessionTime* rvSdpSessionTimeConstructCopyA(RvSdpSessionTime *d,const RvSdpSessionTime *s,RvAlloc* alloc) ;
RV_SDP_DECLSPEC RvSdpSessionTime* rvSdpSessionTimeConstructCopy(RvSdpSessionTime *d,const RvSdpSessionTime *s) ;
RV_SDP_DECLSPEC void rvSdpSessionTimeDestruct(RvSdpSessionTime *x) ;
RV_SDP_DECLSPEC RvSdpSessionTime* rvSdpSessionTimeCopy(RvSdpSessionTime *d,const RvSdpSessionTime *s) ;
RV_SDP_DECLSPEC RvSdpRepeatInterval* rvSdpSessionTimeAddRepeatInterval(RvSdpSessionTime* session,
RvUint32 time,RvSdpTimeUnit t_units,
RvUint32 duration ,RvSdpTimeUnit d_units);
/*const RvUint32 rvSdpSessionTimeGetStart(const RvSdpSessionTime* x);*/
#define rvSdpSessionTimeGetStart(x) ((x)->start)
/*void rvSdpSessionTimeSetStart(const RvSdpSessionTime* x,RvUint32 start);*/
#define rvSdpSessionTimeSetStart(x,s) ((x)->start=s)
/*const RvUint32 rvSdpSessionTimeGetEnd(const RvSdpSessionTime* x);*/
#define rvSdpSessionTimeGetEnd(x) ((x)->end)
/*void rvSdpSessionTimeSetEnd(const RvSdpSessionTime* x,RvUint32 end);*/
#define rvSdpSessionTimeSetEnd(x,e) ((x)->end=e)
RV_SDP_DECLSPEC size_t rvSdpSessionTimeGetNumOfRepeatInterval(const RvSdpSessionTime* x);
RV_SDP_DECLSPEC RvSdpRepeatInterval* rvSdpSessionTimeGetRepeatInterval(const RvSdpSessionTime* x,size_t i);
#define RvSdpSessionTimeConstructCopy rvSdpSessionTimeConstructCopyA
#define RvSdpSessionTimeDestruct rvSdpSessionTimeDestruct
#define RvSdpSessionTimeCopy rvSdpSessionTimeCopy
#define RvSdpSessionTimeEqual(d,s) rvSdpMemEqual(d,s,RvSdpSessionTime)
/**** Zone adjust object and methods ****************************/
typedef struct RvSdpTimeZoneAdjust_{
RvUint32 adjustment_time;
RvInt32 offset_time;
RvSdpTimeUnit offset_units;
} RvSdpTimeZoneAdjust;
rvDeclareList(RvSdpTimeZoneAdjust)
typedef RvList(RvSdpTimeZoneAdjust) RvSdpTimeZoneAdjustList;
#define rvSdpTimeZoneAdjustListConstructA rvListConstruct(RvSdpTimeZoneAdjust)
#define rvSdpTimeZoneAdjustListConstructCopy rvListConstructCopy(RvSdpTimeZoneAdjust)
#define rvSdpTimeZoneAdjustListDestruct rvListDestruct(RvSdpTimeZoneAdjust)
#define rvSdpTimeZoneAdjustListCopy rvListCopy(RvSdpTimeZoneAdjust)
#define rvSdpTimeZoneAdjustListEqual rvListEqual(RvSdpTimeZoneAdjust)
#define rvSdpTimeZoneAdjustListAdd rvListPushBack(RvSdpTimeZoneAdjust)
#define rvSdpTimeZoneAdjustListClear rvListClear(RvSdpTimeZoneAdjust)
#define rvSdpTimeZoneAdjustListGetSize rvListSize
#define rvSdpTimeZoneAdjustListGetElem rvListAt(RvSdpTimeZoneAdjust)
/*
typedef struct {
RvSdpSessionTimeList session_time;
RvSdpTimeZoneAdjustList zone_adjustment_list;
} RvSdpTime;
*/
RV_SDP_DECLSPEC RvSdpTimeZoneAdjust* rvSdpTimeZoneAdjustConstructN(RvSdpTimeZoneAdjust* x,RvUint32 time,RvInt32 offset_time,RvSdpTimeUnit offset_units) ;
#define rvSdpTimeZoneAdjustConstructA(x,t,o,u,alloc) rvSdpTimeZoneAdjustConstructN(x,t,o,u)
#define rvSdpTimeZoneAdjustConstruct(x,t,o,u) rvSdpTimeZoneAdjustConstructA(x,t,o,u,&rvDefaultAlloc)
RV_SDP_DECLSPEC RvSdpTimeZoneAdjust* rvSdpTimeZoneAdjustConstructCopy(RvSdpTimeZoneAdjust *d,const RvSdpTimeZoneAdjust *s,RvAlloc* alloc) ;
RV_SDP_DECLSPEC void rvSdpTimeZoneAdjustDestruct(RvSdpTimeZoneAdjust *x) ;
RV_SDP_DECLSPEC RvSdpTimeZoneAdjust* rvSdpTimeZoneAdjustCopy(RvSdpTimeZoneAdjust *d,const RvSdpTimeZoneAdjust *s) ;
/*RvUint32 rvSdpTimeZoneAdjustGetTime(const RvSdpTimeZoneAdjust* x);*/
#define rvSdpTimeZoneAdjustGetTime(x) ((x)->adjustment_time)
/*RvInt32 rvSdpTimeZoneAdjustGetOffsetTime(const RvSdpTimeZoneAdjust* x);*/
#define rvSdpTimeZoneAdjustGetOffsetTime(x) ((x)->offset_time)
/*RvSdpTimeUnit rvSdpTimeZoneAdjustGetOffsetUnits(const RvSdpTimeZoneAdjust* x);*/
#define rvSdpTimeZoneAdjustGetOffsetUnits(x) ((x)->offset_units)
#define RvSdpTimeZoneAdjustConstructCopy rvSdpTimeZoneAdjustConstructCopy
#define RvSdpTimeZoneAdjustDestruct rvSdpTimeZoneAdjustDestruct
#define RvSdpTimeZoneAdjustCopy rvSdpTimeZoneAdjustCopy
#define RvSdpTimeZoneAdjustEqual(d,s) rvSdpMemEqual(d,s,RvSdpTimeZoneAdjust)
/******************* Bandwidth methods ********************************/
#define RV_SDPBANDWIDTH_MAXLEN 10
typedef struct RvSdpBandwidth_{
RvString type;
RvUint32 value;
} RvSdpBandwidth;
RV_SDP_DECLSPEC RvSdpBandwidth* rvSdpBandwidthConstructN(RvSdpBandwidth* x,const char* type,int tlen,int value,RvAlloc* alloc);
#define rvSdpBandwidthConstructA(x,t,v,a) rvSdpBandwidthConstructN(x,t,strlen(t),v,a)
#define rvSdpBandwidthConstruct(x,t,v) rvSdpBandwidthConstructN(x,t,strlen(t),v,&rvDefaultAlloc)
RV_SDP_DECLSPEC RvSdpBandwidth* rvSdpBandwidthConstructCopyA(RvSdpBandwidth *d,const RvSdpBandwidth *s,RvAlloc* alloc) ;
RV_SDP_DECLSPEC RvSdpBandwidth* rvSdpBandwidthConstructCopy(RvSdpBandwidth *d,const RvSdpBandwidth *s) ;
RV_SDP_DECLSPEC void rvSdpBandwidthDestruct(RvSdpBandwidth *x) ;
RV_SDP_DECLSPEC RvSdpBandwidth* rvSdpBandwidthCopy(RvSdpBandwidth *d,const RvSdpBandwidth *s) ;
/*const char* rvSdpBandwidthGetType(const RvSdpBandwidth* x);*/
#define rvSdpBandwidthGetType(x) rvStringGetData(&(x)->type)
/*RvUint32 rvSdpBandwidthGetValue(const RvSdpBandwidth* x);*/
#define rvSdpBandwidthGetValue(x) ((x)->value)
/*void rvSdpBandwidthSetType(const RvSdpBandwidth* x,const char* type);*/
#define rvSdpBandwidthSetType(x,t) (strcpy((x)->type,t))
/*void rvSdpBandwidthSetValue(const RvSdpBandwidth* x,RvUint32 value);*/
#define rvSdpBandwidthSetValue(x,v) ((x)->value=v)
/******************* Connection methods ********************************/
typedef struct RvSdpConnection_{
/* Connection fields */
RvSdpNetType nettype; /* "IN" ,ATM */
#ifdef RV_SDPSYMB_USESTRING
RvString nettype_str;
#endif
RvSdpAddrType addrtype; /* IP4,IP6,LOCAL */
#ifdef RV_SDPSYMB_USESTRING
RvString addrtype_str;
#endif
RvString address; /* Connection address: multicast,FQDN or Unicast */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -