Lines Matching refs:session

291  * Adds origin field to the session.
295 sdp_add_origin(sdp_session_t *session, const char *name, uint64_t id,
302 if (session == NULL || name == NULL || nettype == NULL ||
306 if (session->s_origin != NULL)
327 session->s_origin = origin;
335 * Adds session name field to the session.
336 * s=<session name>
339 sdp_add_name(sdp_session_t *session, const char *name)
341 if (session == NULL || name == NULL)
343 if (session->s_name != NULL)
345 return (commp_add_str(&session->s_name, name, strlen(name)));
349 * Adds session information field to the session or media section of SDP.
350 * i=<session description>
363 * Adds uri field to the session.
367 sdp_add_uri(sdp_session_t *session, const char *uri)
369 if (session == NULL || uri == NULL)
371 if (session->s_uri != NULL)
373 return (commp_add_str(&session->s_uri, uri, strlen(uri)));
377 * Adds email address field to the session.
381 sdp_add_email(sdp_session_t *session, const char *email)
383 if (session == NULL || email == NULL || (strlen(email) == 0))
385 return (add_value_to_list(&session->s_email, email, strlen(email),
390 * Adds phone number field to the session.
394 sdp_add_phone(sdp_session_t *session, const char *phone)
396 if (session == NULL || phone == NULL || (strlen(phone) == 0))
398 return (add_value_to_list(&session->s_phone, phone, strlen(phone),
403 * Adds connection field to the session or media section of SDP
450 * Adds bandwidth field to the session or media section of SDP.
482 * Adds time field to the session
486 sdp_add_time(sdp_session_t *session, uint64_t starttime, uint64_t stoptime,
494 if (session == NULL) {
503 tmp = session->s_time;
505 session->s_time = new_time;
517 * Adds repeat field to the time structure of session
554 * Adds time zone field to the session
558 sdp_add_zone(sdp_session_t *session, uint64_t time, const char *offset)
564 if (session == NULL || offset == NULL)
575 tmp = session->s_zone;
577 session->s_zone = new_zone;
588 * Adds key field to session or media section of SDP.
622 * Adds attribute field to session or media section of SDP.
661 * Adds media field to the session.
665 sdp_add_media(sdp_session_t *session, const char *name, uint_t port,
674 if (session == NULL || name == NULL || protocol == NULL ||
682 new_media->m_session = session;
695 tmp = session->s_media;
697 session->s_media = new_media;
713 * length of buffer that is required to hold the session. Since the RFC does
718 sdp_get_length(const sdp_session_t *session)
732 len += snprintf(buf, 1, "%d", session->s_version);
733 if (session->s_origin != NULL) {
735 len += strlen(session->s_origin->o_username);
736 len += snprintf(buf, 1, "%llu", session->s_origin->o_id) + 1;
737 len += snprintf(buf, 1, "%llu", session->s_origin->o_version)
739 len += strlen(session->s_origin->o_nettype) + 1;
740 len += strlen(session->s_origin->o_addrtype) + 1;
741 len += strlen(session->s_origin->o_address) + 1;
743 if (session->s_name != NULL)
744 len += strlen(session->s_name) + FIELD_EQUALS_CRLF_LEN;
745 if (session->s_info != NULL)
746 len += strlen(session->s_info) + FIELD_EQUALS_CRLF_LEN;
747 if (session->s_uri != NULL)
748 len += strlen(session->s_uri) + FIELD_EQUALS_CRLF_LEN;
749 list = session->s_email;
754 list = session->s_phone;
759 conn = session->s_conn;
761 bw = session->s_bw;
763 time = session->s_time;
783 if (session->s_zone != NULL)
785 zone = session->s_zone;
791 SDP_LEN_KEY(session->s_key);
792 attr = session->s_attr;
794 media = session->s_media;
821 * Given a session structure it clones (deep copy) and returns the cloned copy
824 sdp_clone_session(const sdp_session_t *session)
841 if (session == NULL)
846 new_sess->sdp_session_version = session->sdp_session_version;
847 new_sess->s_version = session->s_version;
848 origin = session->s_origin;
854 if (session->s_name != NULL && sdp_add_name(new_sess, session->
858 if (session->s_info != NULL && sdp_add_information(&new_sess->
859 s_info, session->s_info) != 0) {
862 if (session->s_uri != NULL && sdp_add_uri(new_sess, session->
866 list = session->s_email;
872 list = session->s_phone;
878 conn = session->s_conn;
880 bw = session->s_bw;
882 time = session->s_time;
904 zone = session->s_zone;
910 SDP_ADD_KEY(new_sess->s_key, session->s_key);
911 attr = session->s_attr;
913 media = session->s_media;
951 * Given a session structure, this API converts it into character
955 sdp_session_to_str(const sdp_session_t *session, int *error)
974 if (session == NULL) {
979 s_len = sdp_get_length(session);
988 wrote = snprintf(buf, len, "v=%d%s", session->s_version, COMMP_CRLF);
991 origin = session->s_origin;
1000 if (session->s_name != NULL) {
1001 wrote = snprintf(buf, len, "s=%s%s", session->s_name,
1006 SDP_INFORMATION_TO_STR(session->s_info);
1007 if (session->s_uri != NULL) {
1008 wrote = snprintf(buf, len, "u=%s%s", session->s_uri,
1013 list = session->s_email;
1021 list = session->s_phone;
1029 conn = session->s_conn;
1031 bw = session->s_bw;
1033 time = session->s_time;
1060 zone = session->s_zone;
1078 SDP_KEY_TO_STR(session->s_key);
1079 attr = session->s_attr;
1081 media = session->s_media;
1119 * Given a session structure and the field ('v', 'o', 's', et al), this API
1124 sdp_delete_all_field(sdp_session_t *session, const char field)
1126 if (session == NULL)
1130 sdp_free_origin(session->s_origin);
1131 session->s_origin = NULL;
1134 free(session->s_name);
1135 session->s_name = NULL;
1138 free(session->s_info);
1139 session->s_info = NULL;
1142 free(session->s_uri);
1143 session->s_uri = NULL;
1146 sdp_free_list(session->s_email);
1147 session->s_email = NULL;
1150 sdp_free_list(session->s_phone);
1151 session->s_phone = NULL;
1154 sdp_free_connection(session->s_conn);
1155 session->s_conn = NULL;
1158 sdp_free_bandwidth(session->s_bw);
1159 session->s_bw = NULL;
1162 sdp_free_time(session->s_time);
1163 session->s_time = NULL;
1166 sdp_free_zone(session->s_zone);
1167 session->s_zone = NULL;
1170 sdp_free_key(session->s_key);
1171 session->s_key = NULL;
1174 sdp_free_attribute(session->s_attr);
1175 session->s_attr = NULL;
1178 sdp_free_media(session->s_media);
1179 session->s_media = NULL;
1283 * Allocates a new sdp session structure and assigns a version number to it.
1290 sdp_session_t *session = NULL;
1292 session = calloc(1, sizeof (sdp_session_t));
1293 if (session != NULL)
1294 session->sdp_session_version = SDP_SESSION_VERSION_1;
1295 return (session);