#ifndef _SDP_PARSE_H
#define _SDP_PARSE_H
#ifdef __cplusplus
extern "C" {
#endif
#include <sdp.h>
#include <sys/types.h>
#define SDP_MEMORY_ERROR 0x10000000
#define SDP_VERSION_ORDER " "
#define SDP_ORIGIN_ORDER "v"
#define SDP_NAME_ORDER "o"
#define SDP_INFO_ORDER "s"
#define SDP_URI_ORDER "is"
#define SDP_EMAIL_ORDER "euis"
#define SDP_PHONE_ORDER "peuis"
#define SDP_CONN_ORDER "peuis"
#define SDP_BW_ORDER "bcpeuis"
#define SDP_TIME_ORDER "tbcpeuis"
#define SDP_REPEAT_ORDER "rt"
#define SDP_ZONE_ORDER "rt"
#define SDP_KEY_ORDER "zrt"
#define SDP_ATTR_ORDER "akzrt"
#define SDP_MEDIA_ORDER "makzrt"
#define SDP_M_INFO_ORDER "m"
#define SDP_M_CONN_ORDER "cim"
#define SDP_M_BW_ORDER "bcim"
#define SDP_M_KEY_ORDER "bcim"
#define SDP_M_ATTR_ORDER "akbcim"
typedef struct sdp_description {
boolean_t d_version;
boolean_t d_origin;
boolean_t d_name;
boolean_t d_conn;
boolean_t d_mconn;
boolean_t d_mparsed;
boolean_t d_tparsed;
int d_mccount;
sdp_media_t *d_lmedia;
sdp_time_t *d_ltime;
uint_t d_perror;
char d_prev;
char d_mprev;
} sdp_description_t;
extern int add_value_to_list(sdp_list_t **, const char *, int,
boolean_t);
extern int sdp_list_to_str(sdp_list_t *, char **, boolean_t);
extern int sdp_str_to_list(sdp_list_t **, const char *, int,
boolean_t);
extern void sdp_free_repeat(sdp_repeat_t *);
extern void sdp_free_origin(sdp_origin_t *);
extern void sdp_free_list(sdp_list_t *);
extern void sdp_free_connection(sdp_conn_t *);
extern void sdp_free_bandwidth(sdp_bandwidth_t *);
extern void sdp_free_time(sdp_time_t *);
extern void sdp_free_zone(sdp_zone_t *);
extern void sdp_free_attribute(sdp_attr_t *);
extern void sdp_free_key(sdp_key_t *);
extern void sdp_free_media(sdp_media_t *);
#ifdef __cplusplus
}
#endif
#endif