61 lines
1.5 KiB
C
61 lines
1.5 KiB
C
// Q.1970E; RFC 2327 //
|
|
#ifndef _IPBCP_H_
|
|
#define _IPBCP_H_
|
|
|
|
typedef struct SdpOrig_struct {
|
|
char username[16];
|
|
char session_id[16];
|
|
char version[8];
|
|
char network_type[8];
|
|
char address_type[8];
|
|
char address[16];
|
|
} SdpOrig_struct;
|
|
|
|
typedef struct SdpConn_struct {
|
|
char network_type[8];
|
|
char address_type[8];
|
|
char address[16];
|
|
} SdpConn_struct;
|
|
|
|
typedef struct SdpTime_struct {
|
|
char start[16]; //0
|
|
char stop[16]; //0
|
|
} SdpTime_struct;
|
|
|
|
typedef struct SdpAttrib_struct {
|
|
char version[8]; //1
|
|
char type[16]; //"Request"/"Accepted"/"Confused"/"Rejected"
|
|
} SdpAttrib_struct;
|
|
|
|
typedef struct SdpMediaAnn_struct {
|
|
char media[16];
|
|
char port[8];
|
|
char transport[16];
|
|
char fmt_list[128];
|
|
} SdpMediaAnn_struct;
|
|
|
|
// specify RTP dynamic payload types //
|
|
typedef struct SdpMediaAtt_struct {
|
|
char payload[8];
|
|
char encoding_name[16];
|
|
char clock_rate[8];
|
|
// char p_time[8];
|
|
} SdpMediaAtt_struct;
|
|
|
|
typedef struct IPBCP_struct {
|
|
char proto_ver[8]; //Protocol version (M)
|
|
SdpOrig_struct orig; //Orign (M)
|
|
char session_name[16]; //Session name (M)
|
|
SdpConn_struct conn_data; //Connection data
|
|
SdpTime_struct time; //Time
|
|
SdpAttrib_struct attrib; //Session attribute
|
|
SdpMediaAnn_struct m_ann; //Media announcement (M)
|
|
SdpMediaAtt_struct m_att; //Media attributes
|
|
char ptime[8];
|
|
} IPBCP_struct;
|
|
|
|
extern int ipbcp_decode(IPBCP_struct *ipbcp_ptr, const char *ptr);
|
|
extern int ipbcp_encode(char *ptr, const IPBCP_struct *ipbcp_ptr);
|
|
|
|
#endif
|