JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
man pages section 3: Networking Library Functions     Oracle Solaris 11.1 Information Library
search filter icon
search icon

Document Information

Preface

Networking Library Functions

accept(3SOCKET)

accept(3XNET)

authdes_create(3NSL)

authdes_getucred(3NSL)

authdes_seccreate(3NSL)

auth_destroy(3NSL)

authnone_create(3NSL)

authsys_create(3NSL)

authsys_create_default(3NSL)

authunix_create(3NSL)

authunix_create_default(3NSL)

ber_alloc(3LDAP)

ber_alloc_t(3LDAP)

ber_bvdup(3LDAP)

ber_bvecfree(3LDAP)

ber_bvfree(3LDAP)

ber_decode(3LDAP)

ber_encode(3LDAP)

ber_first_element(3LDAP)

ber_flatten(3LDAP)

ber_free(3LDAP)

ber_get_bitstring(3LDAP)

ber_get_boolean(3LDAP)

ber_get_int(3LDAP)

ber_get_next(3LDAP)

ber_get_null(3LDAP)

ber_get_stringa(3LDAP)

ber_get_stringal(3LDAP)

ber_get_stringb(3LDAP)

ber_init(3LDAP)

ber_next_element(3LDAP)

ber_peek_tag(3LDAP)

ber_printf(3LDAP)

ber_put_bitstring(3LDAP)

ber_put_boolean(3LDAP)

ber_put_int(3LDAP)

ber_put_null(3LDAP)

ber_put_ostring(3LDAP)

ber_put_seq(3LDAP)

ber_put_set(3LDAP)

ber_put_string(3LDAP)

ber_scanf(3LDAP)

ber_skip_tag(3LDAP)

ber_start_seq(3LDAP)

ber_start_set(3LDAP)

bind(3SOCKET)

bind(3XNET)

byteorder(3SOCKET)

callrpc(3NSL)

cldap_close(3LDAP)

cldap_open(3LDAP)

cldap_search_s(3LDAP)

cldap_setretryinfo(3LDAP)

clnt_broadcast(3NSL)

clnt_call(3NSL)

clnt_control(3NSL)

clnt_create(3NSL)

clnt_create_timed(3NSL)

clnt_create_vers(3NSL)

clnt_create_vers_timed(3NSL)

clnt_destroy(3NSL)

clnt_dg_create(3NSL)

clnt_door_create(3NSL)

clnt_freeres(3NSL)

clnt_geterr(3NSL)

clnt_pcreateerror(3NSL)

clnt_perrno(3NSL)

clnt_perror(3NSL)

clnt_raw_create(3NSL)

clntraw_create(3NSL)

clnt_send(3NSL)

clnt_spcreateerror(3NSL)

clnt_sperrno(3NSL)

clnt_sperror(3NSL)

clnttcp_create(3NSL)

clnt_tli_create(3NSL)

clnt_tp_create(3NSL)

clnt_tp_create_timed(3NSL)

clntudp_bufcreate(3NSL)

clntudp_create(3NSL)

clnt_vc_create(3NSL)

connect(3SOCKET)

connect(3XNET)

dial(3NSL)

dlpi_arptype(3DLPI)

dlpi_bind(3DLPI)

dlpi_close(3DLPI)

dlpi_disabmulti(3DLPI)

dlpi_disabnotify(3DLPI)

dlpi_enabmulti(3DLPI)

dlpi_enabnotify(3DLPI)

dlpi_fd(3DLPI)

dlpi_get_physaddr(3DLPI)

dlpi_iftype(3DLPI)

dlpi_info(3DLPI)

dlpi_linkname(3DLPI)

dlpi_mactype(3DLPI)

dlpi_open(3DLPI)

dlpi_promiscoff(3DLPI)

dlpi_promiscon(3DLPI)

dlpi_recv(3DLPI)

dlpi_send(3DLPI)

dlpi_set_physaddr(3DLPI)

dlpi_set_timeout(3DLPI)

dlpi_strerror(3DLPI)

dlpi_unbind(3DLPI)

dlpi_walk(3DLPI)

dn_comp(3RESOLV)

dn_expand(3RESOLV)

DNSServiceAddRecord(3DNS_SD)

DNSServiceBrowse(3DNS_SD)

DNSServiceConstructFullName(3DNS_SD)

DNSServiceCreateConnection(3DNS_SD)

DNSServiceEnumerateDomains(3DNS_SD)

DNSServiceProcessResult(3DNS_SD)

DNSServiceQueryRecord(3DNS_SD)

DNSServiceReconfirmRecord(3DNS_SD)

DNSServiceRefDeallocate(3DNS_SD)

DNSServiceRefSockFD(3DNS_SD)

DNSServiceRegister(3DNS_SD)

DNSServiceRegisterRecord(3DNS_SD)

DNSServiceRemoveRecord(3DNS_SD)

DNSServiceResolve(3DNS_SD)

DNSServiceUpdateRecord(3DNS_SD)

endhostent(3NSL)

endhostent(3XNET)

endnetconfig(3NSL)

endnetent(3SOCKET)

endnetent(3XNET)

endnetpath(3NSL)

endprotoent(3SOCKET)

endprotoent(3XNET)

endrpcent(3NSL)

endservent(3SOCKET)

endservent(3XNET)

ether_aton(3SOCKET)

ether_hostton(3SOCKET)

ether_line(3SOCKET)

ether_ntoa(3SOCKET)

ether_ntohost(3SOCKET)

ethers(3SOCKET)

fp_resstat(3RESOLV)

freeaddrinfo(3SOCKET)

freeaddrinfo(3XNET)

freehostent(3SOCKET)

freeifaddrs(3SOCKET)

freeipsecalgent(3NSL)

freenetconfigent(3NSL)

gai_strerror(3SOCKET)

gai_strerror(3XNET)

getaddrinfo(3SOCKET)

getaddrinfo(3XNET)

gethostbyaddr(3NSL)

gethostbyaddr(3XNET)

gethostbyaddr_r(3NSL)

gethostbyname(3NSL)

gethostbyname(3XNET)

gethostbyname_r(3NSL)

gethostent(3NSL)

gethostent(3XNET)

gethostent_r(3NSL)

gethostname(3XNET)

getifaddrs(3SOCKET)

getipnodebyaddr(3SOCKET)

getipnodebyname(3SOCKET)

getipsecalgbyname(3NSL)

getipsecalgbynum(3NSL)

getipsecprotobyname(3NSL)

getipsecprotobynum(3NSL)

getipv4sourcefilter(3SOCKET)

get_myaddress(3NSL)

getnameinfo(3SOCKET)

getnameinfo(3XNET)

getnetbyaddr(3SOCKET)

getnetbyaddr(3XNET)

getnetbyaddr_r(3SOCKET)

getnetbyname(3SOCKET)

getnetbyname(3XNET)

getnetbyname_r(3SOCKET)

getnetconfig(3NSL)

getnetconfigent(3NSL)

getnetent(3SOCKET)

getnetent(3XNET)

getnetent_r(3SOCKET)

getnetname(3NSL)

getnetpath(3NSL)

getpeername(3SOCKET)

getpeername(3XNET)

getprotobyname(3SOCKET)

getprotobyname(3XNET)

getprotobyname_r(3SOCKET)

getprotobynumber(3SOCKET)

getprotobynumber(3XNET)

getprotobynumber_r(3SOCKET)

getprotoent(3SOCKET)

getprotoent(3XNET)

getprotoent_r(3SOCKET)

getpublickey(3NSL)

getrpcbyname(3NSL)

getrpcbyname_r(3NSL)

getrpcbynumber(3NSL)

getrpcbynumber_r(3NSL)

getrpcent(3NSL)

getrpcent_r(3NSL)

getrpcport(3NSL)

getsecretkey(3NSL)

getservbyname(3SOCKET)

getservbyname(3XNET)

getservbyname_r(3SOCKET)

getservbyport(3SOCKET)

getservbyport(3XNET)

getservbyport_r(3SOCKET)

getservent(3SOCKET)

getservent(3XNET)

getservent_r(3SOCKET)

getsockname(3SOCKET)

getsockname(3XNET)

getsockopt(3SOCKET)

getsockopt(3XNET)

getsourcefilter(3SOCKET)

gss_accept_sec_context(3GSS)

gss_acquire_cred(3GSS)

gss_add_cred(3GSS)

gss_add_oid_set_member(3GSS)

gss_canonicalize_name(3GSS)

gss_compare_name(3GSS)

gss_context_time(3GSS)

gss_create_empty_oid_set(3GSS)

gss_delete_sec_context(3GSS)

gss_display_name(3GSS)

gss_display_status(3GSS)

gss_duplicate_name(3GSS)

gss_export_name(3GSS)

gss_export_sec_context(3GSS)

gss_get_mic(3GSS)

gss_import_name(3GSS)

gss_import_sec_context(3GSS)

gss_indicate_mechs(3GSS)

gss_init_sec_context(3GSS)

gss_inquire_context(3GSS)

gss_inquire_cred(3GSS)

gss_inquire_cred_by_mech(3GSS)

gss_inquire_mechs_for_name(3GSS)

gss_inquire_names_for_mech(3GSS)

gss_oid_to_str(3GSS)

gss_process_context_token(3GSS)

gss_release_buffer(3GSS)

gss_release_cred(3GSS)

gss_release_name(3GSS)

gss_release_oid(3GSS)

gss_release_oid_set(3GSS)

gss_store_cred(3GSS)

gss_str_to_oid(3GSS)

gss_test_oid_set_member(3GSS)

gss_unwrap(3GSS)

gss_verify_mic(3GSS)

gss_wrap(3GSS)

gss_wrap_size_limit(3GSS)

havedisk(3RPC)

herror(3RESOLV)

host2netname(3NSL)

hstrerror(3RESOLV)

htonl(3SOCKET)

htonl(3XNET)

htonll(3SOCKET)

htons(3SOCKET)

htons(3XNET)

icmp6_filter(3SOCKET)

if_freenameindex(3SOCKET)

if_freenameindex(3XNET)

if_indextoname(3SOCKET)

if_indextoname(3XNET)

if_nameindex(3SOCKET)

if_nameindex(3XNET)

if_nametoindex(3SOCKET)

if_nametoindex(3XNET)

inet(3SOCKET)

inet6(3SOCKET)

inet6_opt(3SOCKET)

inet6_opt_append(3SOCKET)

inet6_opt_find(3SOCKET)

inet6_opt_finish(3SOCKET)

inet6_opt_get_val(3SOCKET)

inet6_opt_init(3SOCKET)

inet6_opt_next(3SOCKET)

inet6_opt_set_val(3SOCKET)

inet6_rth(3SOCKET)

inet6_rth_add(3SOCKET)

inet6_rth_getaddr(3SOCKET)

inet6_rth_init(3SOCKET)

inet6_rth_reverse(3SOCKET)

inet6_rth_segments(3SOCKET)

inet6_rth_space(3SOCKET)

inet_addr(3SOCKET)

inet_addr(3XNET)

inet_aton(3SOCKET)

inet_cidr_ntop(3RESOLV)

inet_cidr_pton(3RESOLV)

inet_lnaof(3SOCKET)

inet_lnaof(3XNET)

inet_makeaddr(3SOCKET)

inet_makeaddr(3XNET)

inet_netof(3SOCKET)

inet_netof(3XNET)

inet_network(3SOCKET)

inet_network(3XNET)

inet_ntoa(3SOCKET)

inet_ntoa(3XNET)

inet_ntop(3SOCKET)

inet_ntop(3XNET)

inet_pton(3SOCKET)

inet_pton(3XNET)

key_decryptsession(3NSL)

key_encryptsession(3NSL)

key_gendes(3NSL)

key_secretkey_is_set(3NSL)

key_setsecret(3NSL)

ldap(3LDAP)

ldap_8859_to_t61(3LDAP)

ldap_abandon(3LDAP)

ldap_add(3LDAP)

ldap_add_ext(3LDAP)

ldap_add_ext_s(3LDAP)

ldap_add_s(3LDAP)

ldap_ber_free(3LDAP)

ldap_bind(3LDAP)

ldap_bind_s(3LDAP)

ldap_build_filter(3LDAP)

ldap_charset(3LDAP)

ldap_compare(3LDAP)

ldap_compare_ext(3LDAP)

ldap_compare_ext_s(3LDAP)

ldap_compare_s(3LDAP)

ldap_control_free(3LDAP)

ldap_controls_free(3LDAP)

ldap_count_entries(3LDAP)

ldap_count_messages(3LDAP)

ldap_count_references(3LDAP)

ldap_count_values(3LDAP)

ldap_count_values_len(3LDAP)

ldap_delete(3LDAP)

ldap_delete_ext(3LDAP)

ldap_delete_ext_s(3LDAP)

ldap_delete_s(3LDAP)

ldap_disptmpl(3LDAP)

ldap_dn2ufn(3LDAP)

ldap_dns_to_dn(3LDAP)

ldap_dns_to_url(3LDAP)

ldap_dn_to_url(3LDAP)

ldap_enable_translation(3LDAP)

ldap_entry2html(3LDAP)

ldap_entry2html_search(3LDAP)

ldap_entry2text(3LDAP)

ldap_entry2text_search(3LDAP)

ldap_err2string(3LDAP)

ldap_error(3LDAP)

ldap_explode_dn(3LDAP)

ldap_explode_dns(3LDAP)

ldap_first_attribute(3LDAP)

ldap_first_disptmpl(3LDAP)

ldap_first_entry(3LDAP)

ldap_first_message(3LDAP)

ldap_first_reference(3LDAP)

ldap_first_searchobj(3LDAP)

ldap_first_tmplcol(3LDAP)

ldap_first_tmplrow(3LDAP)

ldap_free_friendlymap(3LDAP)

ldap_free_searchprefs(3LDAP)

ldap_free_templates(3LDAP)

ldap_free_urldesc(3LDAP)

ldap_friendly(3LDAP)

ldap_friendly_name(3LDAP)

ldap_get_dn(3LDAP)

ldap_get_entry_controls(3LDAP)

ldap_getfilter(3LDAP)

ldap_getfilter_free(3LDAP)

ldap_getfirstfilter(3LDAP)

ldap_get_lang_values(3LDAP)

ldap_get_lang_values_len(3LDAP)

ldap_getnextfilter(3LDAP)

ldap_get_option(3LDAP)

ldap_get_values(3LDAP)

ldap_get_values_len(3LDAP)

ldap_init(3LDAP)

ldap_init_getfilter(3LDAP)

ldap_init_getfilter_buf(3LDAP)

ldap_init_searchprefs(3LDAP)

ldap_init_searchprefs_buf(3LDAP)

ldap_init_templates(3LDAP)

ldap_init_templates_buf(3LDAP)

ldap_is_dns_dn(3LDAP)

ldap_is_ldap_url(3LDAP)

ldap_memcache(3LDAP)

ldap_memcache_destroy(3LDAP)

ldap_memcache_flush(3LDAP)

ldap_memcache_get(3LDAP)

ldap_memcache_init(3LDAP)

ldap_memcache_set(3LDAP)

ldap_memcache_update(3LDAP)

ldap_memfree(3LDAP)

ldap_modify(3LDAP)

ldap_modify_ext(3LDAP)

ldap_modify_ext_s(3LDAP)

ldap_modify_s(3LDAP)

ldap_modrdn2(3LDAP)

ldap_modrdn2_s(3LDAP)

ldap_modrdn(3LDAP)

ldap_modrdn_s(3LDAP)

ldap_mods_free(3LDAP)

ldap_msgfree(3LDAP)

ldap_msgtype(3LDAP)

ldap_name2template(3LDAP)

ldap_next_attribute(3LDAP)

ldap_next_disptmpl(3LDAP)

ldap_next_entry(3LDAP)

ldap_next_message(3LDAP)

ldap_next_reference(3LDAP)

ldap_next_searchobj(3LDAP)

ldap_next_tmplcol(3LDAP)

ldap_next_tmplrow(3LDAP)

ldap_oc2template(3LDAP)

ldap_open(3LDAP)

ldap_parse_extended_result(3LDAP)

ldap_parse_result(3LDAP)

ldap_parse_sasl_bind_result(3LDAP)

ldap_perror(3LDAP)

ldap_rename(3LDAP)

ldap_rename_s(3LDAP)

ldap_result2error(3LDAP)

ldap_result(3LDAP)

ldap_sasl_bind(3LDAP)

ldap_sasl_bind_s(3LDAP)

ldap_sasl_interactive_bind_s(3LDAP)

ldap_search(3LDAP)

ldap_search_ext(3LDAP)

ldap_search_ext_s(3LDAP)

ldap_searchprefs(3LDAP)

ldap_search_s(3LDAP)

ldap_search_st(3LDAP)

ldap_setfilteraffixes(3LDAP)

ldap_set_option(3LDAP)

ldap_set_rebind_proc(3LDAP)

ldap_set_string_translators(3LDAP)

ldap_simple_bind(3LDAP)

ldap_simple_bind_s(3LDAP)

ldap_sort(3LDAP)

ldap_sort_entries(3LDAP)

ldap_sort_strcasecmp(3LDAP)

ldap_sort_values(3LDAP)

ldap_t61_to_8859(3LDAP)

ldap_tmplattrs(3LDAP)

ldap_translate_from_t61(3LDAP)

ldap_translate_to_t61(3LDAP)

ldap_ufn(3LDAP)

ldap_ufn_search_c(3LDAP)

ldap_ufn_search_ct(3LDAP)

ldap_ufn_search_s(3LDAP)

ldap_ufn_setfilter(3LDAP)

ldap_ufn_setprefix(3LDAP)

ldap_ufn_timeout(3LDAP)

ldap_unbind(3LDAP)

ldap_unbind_ext(3LDAP)

ldap_unbind_s(3LDAP)

ldap_url(3LDAP)

ldap_url_parse(3LDAP)

ldap_url_parse_nodn(3LDAP)

ldap_url_search(3LDAP)

ldap_url_search_s(3LDAP)

ldap_url_search_st(3LDAP)

ldap_vals2html(3LDAP)

ldap_vals2text(3LDAP)

ldap_value_free(3LDAP)

ldap_value_free_len(3LDAP)

ldap_version(3LDAP)

listen(3SOCKET)

listen(3XNET)

nc_perror(3NSL)

nc_sperror(3NSL)

netdir(3NSL)

netdir_free(3NSL)

netdir_getbyaddr(3NSL)

netdir_getbyname(3NSL)

netdir_mergeaddr(3NSL)

netdir_options(3NSL)

netdir_perror(3NSL)

netdir_sperror(3NSL)

netname2host(3NSL)

netname2user(3NSL)

ns_find_tsig(3RESOLV)

ns_sign(3RESOLV)

ns_sign_tcp(3RESOLV)

ns_sign_tcp_init(3RESOLV)

ns_verify(3RESOLV)

ns_verify_tcp(3RESOLV)

ns_verify_tcp_init(3RESOLV)

ntohl(3SOCKET)

ntohl(3XNET)

ntohll(3SOCKET)

ntohs(3SOCKET)

ntohs(3XNET)

pmap_getmaps(3NSL)

pmap_getport(3NSL)

pmap_rmtcall(3NSL)

pmap_set(3NSL)

pmap_unset(3NSL)

prop_clear(3SASL)

prop_dispose(3SASL)

prop_dup(3SASL)

prop_erase(3SASL)

prop_format(3SASL)

prop_get(3SASL)

prop_getnames(3SASL)

prop_new(3SASL)

prop_request(3SASL)

prop_set(3SASL)

prop_setvals(3SASL)

publickey(3NSL)

rcmd(3SOCKET)

rcmd_af(3SOCKET)

recv(3SOCKET)

recv(3XNET)

recvfrom(3SOCKET)

recvfrom(3XNET)

recvmsg(3SOCKET)

recvmsg(3XNET)

registerrpc(3NSL)

res_getservers(3RESOLV)

res_hostalias(3RESOLV)

res_init(3RESOLV)

res_mkquery(3RESOLV)

res_nclose(3RESOLV)

res_ndestroy(3RESOLV)

res_ninit(3RESOLV)

res_nmkquery(3RESOLV)

res_nquery(3RESOLV)

res_nquerydomain(3RESOLV)

res_nsearch(3RESOLV)

res_nsend(3RESOLV)

res_nsendsigned(3RESOLV)

resolver(3RESOLV)

res_query(3RESOLV)

res_search(3RESOLV)

res_send(3RESOLV)

res_setservers(3RESOLV)

res_state(3RESOLV)

rexec(3SOCKET)

rexec_af(3SOCKET)

rnusers(3RPC)

rpc(3NSL)

rpcb_getaddr(3NSL)

rpcb_getmaps(3NSL)

rpcb_gettime(3NSL)

rpcbind(3NSL)

rpcb_rmtcall(3NSL)

rpc_broadcast(3NSL)

rpc_broadcast_exp(3NSL)

rpcb_set(3NSL)

rpcb_unset(3NSL)

rpc_call(3NSL)

rpc_clnt_auth(3NSL)

rpc_clnt_calls(3NSL)

rpc_clnt_create(3NSL)

rpc_control(3NSL)

rpc_createerr(3NSL)

rpc_gss_getcred(3NSL)

rpc_gss_get_error(3NSL)

rpc_gss_get_mechanisms(3NSL)

rpc_gss_get_mech_info(3NSL)

rpc_gss_get_principal_name(3NSL)

rpc_gss_get_versions(3NSL)

rpc_gss_is_installed(3NSL)

rpc_gss_max_data_length(3NSL)

rpc_gss_mech_to_oid(3NSL)

rpc_gss_qop_to_num(3NSL)

rpc_gss_seccreate(3NSL)

rpc_gss_set_callback(3NSL)

rpc_gss_set_defaults(3NSL)

rpc_gss_set_svc_name(3NSL)

rpc_gss_svc_max_data_length(3NSL)

rpc_reg(3NSL)

rpcsec_gss(3NSL)

rpc_soc(3NSL)

rpc_svc_calls(3NSL)

rpc_svc_create(3NSL)

rpc_svc_err(3NSL)

rpc_svc_input(3NSL)

rpc_svc_reg(3NSL)

rpc_xdr(3NSL)

rresvport(3SOCKET)

rresvport_af(3SOCKET)

rstat(3RPC)

ruserok(3SOCKET)

rusers(3RPC)

rwall(3RPC)

sasl_authorize_t(3SASL)

sasl_auxprop(3SASL)

sasl_auxprop_add_plugin(3SASL)

sasl_auxprop_getctx(3SASL)

sasl_auxprop_request(3SASL)

sasl_canonuser_add_plugin(3SASL)

sasl_canon_user_t(3SASL)

sasl_chalprompt_t(3SASL)

sasl_checkapop(3SASL)

sasl_checkpass(3SASL)

sasl_client_add_plugin(3SASL)

sasl_client_init(3SASL)

sasl_client_new(3SASL)

sasl_client_plug_init_t(3SASL)

sasl_client_start(3SASL)

sasl_client_step(3SASL)

sasl_decode(3SASL)

sasl_decode64(3SASL)

sasl_dispose(3SASL)

sasl_done(3SASL)

sasl_encode(3SASL)

sasl_encode64(3SASL)

sasl_encodev(3SASL)

sasl_erasebuffer(3SASL)

sasl_errdetail(3SASL)

sasl_errors(3SASL)

sasl_errstring(3SASL)

sasl_getcallback_t(3SASL)

sasl_getopt_t(3SASL)

sasl_getpath_t(3SASL)

sasl_getprop(3SASL)

sasl_getrealm_t(3SASL)

sasl_getsecret_t(3SASL)

sasl_getsimple_t(3SASL)

sasl_global_listmech(3SASL)

sasl_idle(3SASL)

sasl_listmech(3SASL)

sasl_log_t(3SASL)

sasl_server_add_plugin(3SASL)

sasl_server_init(3SASL)

sasl_server_new(3SASL)

sasl_server_plug_init_t(3SASL)

sasl_server_start(3SASL)

sasl_server_step(3SASL)

sasl_server_userdb_checkpass_t(3SASL)

sasl_server_userdb_setpass_t(3SASL)

sasl_set_alloc(3SASL)

sasl_seterror(3SASL)

sasl_set_mutex(3SASL)

sasl_setpass(3SASL)

sasl_setprop(3SASL)

sasl_utf8verify(3SASL)

sasl_verifyfile_t(3SASL)

sasl_version(3SASL)

sctp_bindx(3SOCKET)

sctp_connectx(3SOCKET)

sctp_freeladdrs(3SOCKET)

sctp_freepaddrs(3SOCKET)

sctp_getladdrs(3SOCKET)

sctp_getpaddrs(3SOCKET)

sctp_opt_info(3SOCKET)

sctp_peeloff(3SOCKET)

sctp_recvmsg(3SOCKET)

sctp_recvv(3SOCKET)

sctp_send(3SOCKET)

sctp_sendmsg(3SOCKET)

sctp_sendv(3SOCKET)

sdp_add_attribute(3COMMPUTIL)

sdp_add_bandwidth(3COMMPUTIL)

sdp_add_connection(3COMMPUTIL)

sdp_add_email(3COMMPUTIL)

sdp_add_information(3COMMPUTIL)

sdp_add_key(3COMMPUTIL)

sdp_add_media(3COMMPUTIL)

sdp_add_name(3COMMPUTIL)

sdp_add_origin(3COMMPUTIL)

sdp_add_phone(3COMMPUTIL)

sdp_add_repeat(3COMMPUTIL)

sdp_add_time(3COMMPUTIL)

sdp_add_uri(3COMMPUTIL)

sdp_add_zone(3COMMPUTIL)

sdp_clone_session(3COMMPUTIL)

sdp_delete_all_field(3COMMPUTIL)

sdp_delete_all_media_field(3COMMPUTIL)

sdp_delete_attribute(3COMMPUTIL)

sdp_delete_media(3COMMPUTIL)

sdp_find_attribute(3COMMPUTIL)

sdp_find_media(3COMMPUTIL)

sdp_find_media_rtpmap(3COMMPUTIL)

sdp_free_session(3COMMPUTIL)

sdp_new_session(3COMMPUTIL)

sdp_parse(3COMMPUTIL)

sdp_session_to_str(3COMMPUTIL)

secure_rpc(3NSL)

send(3SOCKET)

send(3XNET)

sendmsg(3SOCKET)

sendmsg(3XNET)

sendto(3SOCKET)

sendto(3XNET)

sethostent(3NSL)

sethostent(3XNET)

setipv4sourcefilter(3SOCKET)

setnetconfig(3NSL)

setnetent(3SOCKET)

setnetent(3XNET)

setnetpath(3NSL)

setprotoent(3SOCKET)

setprotoent(3XNET)

setrpcent(3NSL)

setservent(3SOCKET)

setservent(3XNET)

setsockopt(3SOCKET)

setsockopt(3XNET)

setsourcefilter(3SOCKET)

shutdown(3SOCKET)

shutdown(3XNET)

sip_add_accept(3SIP)

sip_add_accept_enc(3SIP)

sip_add_accept_lang(3SIP)

sip_add_alert_info(3SIP)

sip_add_allow(3SIP)

sip_add_allow_events(3SIP)

sip_add_authen_info(3SIP)

sip_add_author(3SIP)

sip_add_branchid_to_via(3SIP)

sip_add_callid(3SIP)

sip_add_call_info(3SIP)

sip_add_contact(3SIP)

sip_add_content(3SIP)

sip_add_content_disp(3SIP)

sip_add_content_enc(3SIP)

sip_add_content_lang(3SIP)

sip_add_content_type(3SIP)

sip_add_cseq(3SIP)

sip_add_date(3SIP)

sip_add_error_info(3SIP)

sip_add_event(3SIP)

sip_add_expires(3SIP)

sip_add_from(3SIP)

sip_add_header(3SIP)

sip_add_in_reply_to(3SIP)

sip_add_maxforward(3SIP)

sip_add_mime_version(3SIP)

sip_add_min_expires(3SIP)

sip_add_org(3SIP)

sip_add_param(3SIP)

sip_add_passertedid(3SIP)

sip_add_ppreferredid(3SIP)

sip_add_priority(3SIP)

sip_add_privacy(3SIP)

sip_add_proxy_authen(3SIP)

sip_add_proxy_author(3SIP)

sip_add_proxy_require(3SIP)

sip_add_rack(3SIP)

sip_add_record_route(3SIP)

sip_add_reply_to(3SIP)

sip_add_request_line(3SIP)

sip_add_require(3SIP)

sip_add_response_line(3SIP)

sip_add_retry_after(3SIP)

sip_add_route(3SIP)

sip_add_rseq(3SIP)

sip_add_server(3SIP)

sip_add_subject(3SIP)

sip_add_substate(3SIP)

sip_add_supported(3SIP)

sip_add_to(3SIP)

sip_add_tstamp(3SIP)

sip_add_unsupported(3SIP)

sip_add_user_agent(3SIP)

sip_add_via(3SIP)

sip_add_warning(3SIP)

sip_add_www_authen(3SIP)

sip_branchid(3SIP)

sip_clear_stale_data(3SIP)

sip_clone_msg(3SIP)

sip_conn_destroyed(3SIP)

sip_copy_all_headers(3SIP)

sip_copy_header(3SIP)

sip_copy_header_by_name(3SIP)

sip_copy_start_line(3SIP)

sip_create_dialog_req(3SIP)

sip_create_dialog_req_nocontact(3SIP)

sip_create_OKack(3SIP)

sip_create_response(3SIP)

sip_delete_dialog(3SIP)

sip_delete_header(3SIP)

sip_delete_header_by_name(3SIP)

sip_delete_start_line(3SIP)

sip_delete_value(3SIP)

sip_disable_counters(3SIP)

sip_disable_dialog_logging(3SIP)

sip_disable_trans_logging(3SIP)

sip_enable_counters(3SIP)

sip_enable_dialog_logging(3SIP)

sip_enable_trans_logging(3SIP)

sip_free_msg(3SIP)

sip_free_parsed_uri(3SIP)

sip_get_accept_enc(3SIP)

sip_get_accept_lang(3SIP)

sip_get_accept_sub_type(3SIP)

sip_get_accept_type(3SIP)

sip_get_alert_info_uri(3SIP)

sip_get_allow_events(3SIP)

sip_get_allow_method(3SIP)

sip_get_authen_info(3SIP)

sip_get_author_param(3SIP)

sip_get_author_scheme(3SIP)

sip_get_branchid(3SIP)

sip_get_callid(3SIP)

sip_get_call_info_uri(3SIP)

sip_get_callseq_method(3SIP)

sip_get_callseq_num(3SIP)

sip_get_contact_display_name(3SIP)

sip_get_contact_uri_str(3SIP)

sip_get_content(3SIP)

sip_get_content_disp(3SIP)

sip_get_content_enc(3SIP)

sip_get_content_lang(3SIP)

sip_get_content_length(3SIP)

sip_get_content_sub_type(3SIP)

sip_get_content_type(3SIP)

sip_get_counter_value(3SIP)

sip_get_cseq(3SIP)

sip_get_date_day(3SIP)

sip_get_date_month(3SIP)

sip_get_date_time(3SIP)

sip_get_date_timezone(3SIP)

sip_get_date_wkday(3SIP)

sip_get_date_year(3SIP)

sip_get_dialog_callid(3SIP)

sip_get_dialog_local_contact_uri(3SIP)

sip_get_dialog_local_cseq(3SIP)

sip_get_dialog_local_tag(3SIP)

sip_get_dialog_local_uri(3SIP)

sip_get_dialog_method(3SIP)

sip_get_dialog_msgcnt(3SIP)

sip_get_dialog_remote_cseq(3SIP)

sip_get_dialog_remote_tag(3SIP)

sip_get_dialog_remote_target_uri(3SIP)

sip_get_dialog_remote_uri(3SIP)

sip_get_dialog_route_set(3SIP)

sip_get_dialog_state(3SIP)

sip_get_dialog_type(3SIP)

sip_get_error_info_uri(3SIP)

sip_get_event(3SIP)

sip_get_expires(3SIP)

sip_get_from_display_name(3SIP)

sip_get_from_tag(3SIP)

sip_get_from_uri_str(3SIP)

sip_get_header(3SIP)

sip_get_header_value(3SIP)

sip_get_in_reply_to(3SIP)

sip_get_maxforward(3SIP)

sip_get_mime_version(3SIP)

sip_get_min_expires(3SIP)

sip_get_msg_len(3SIP)

sip_get_next_value(3SIP)

sip_get_num_via(3SIP)

sip_get_org(3SIP)

sip_get_params(3SIP)

sip_get_param_value(3SIP)

sip_get_passertedid_display_name(3SIP)

sip_get_passertedid_uri_str(3SIP)

sip_get_ppreferredid_display_name(3SIP)

sip_get_ppreferredid_uri_str(3SIP)

sip_get_priority(3SIP)

sip_get_priv_value(3SIP)

sip_get_proxy_authen_param(3SIP)

sip_get_proxy_authen_scheme(3SIP)

sip_get_proxy_author_param(3SIP)

sip_get_proxy_author_scheme(3SIP)

sip_get_proxy_require(3SIP)

sip_get_rack_cseq_num(3SIP)

sip_get_rack_method(3SIP)

sip_get_rack_resp_num(3SIP)

sip_get_replyto_display_name(3SIP)

sip_get_replyto_uri_str(3SIP)

sip_get_request_method(3SIP)

sip_get_request_uri_str(3SIP)

sip_get_require(3SIP)

sip_get_resp_desc(3SIP)

sip_get_response_code(3SIP)

sip_get_response_phrase(3SIP)

sip_get_retry_after_cmts(3SIP)

sip_get_retry_after_time(3SIP)

sip_get_route_display_name(3SIP)

sip_get_route_uri_str(3SIP)

sip_get_rseq(3SIP)

sip_get_rseq_resp_num(3SIP)

sip_get_server(3SIP)

sip_get_sip_version(3SIP)

sip_get_subject(3SIP)

sip_get_substate(3SIP)

sip_get_supported(3SIP)

sip_get_to_display_name(3SIP)

sip_get_to_tag(3SIP)

sip_get_to_uri_str(3SIP)

sip_get_trans(3SIP)

sip_get_trans_branchid(3SIP)

sip_get_trans_conn_obj(3SIP)

sip_get_trans_method(3SIP)

sip_get_trans_orig_msg(3SIP)

sip_get_trans_resp_msg(3SIP)

sip_get_trans_state(3SIP)

sip_get_tstamp_delay(3SIP)

sip_get_tstamp_value(3SIP)

sip_get_unsupported(3SIP)

sip_get_uri_errflags(3SIP)

sip_get_uri_headers(3SIP)

sip_get_uri_host(3SIP)

sip_get_uri_opaque(3SIP)

sip_get_uri_params(3SIP)

sip_get_uri_parsed(3SIP)

sip_get_uri_password(3SIP)

sip_get_uri_path(3SIP)

sip_get_uri_port(3SIP)

sip_get_uri_query(3SIP)

sip_get_uri_regname(3SIP)

sip_get_uri_scheme(3SIP)

sip_get_uri_user(3SIP)

sip_get_user_agent(3SIP)

sip_get_via_sent_by_host(3SIP)

sip_get_via_sent_by_port(3SIP)

sip_get_via_sent_protocol_name(3SIP)

sip_get_via_sent_protocol_version(3SIP)

sip_get_via_sent_transport(3SIP)

sip_get_warning_agent(3SIP)

sip_get_warning_code(3SIP)

sip_get_warning_text(3SIP)

sip_get_www_authen_param(3SIP)

sip_get_www_authen_scheme(3SIP)

sip_guid(3SIP)

sip_hdr_to_str(3SIP)

sip_hold_dialog(3SIP)

sip_hold_msg(3SIP)

sip_hold_trans(3SIP)

sip_init_conn_object(3SIP)

sip_is_dialog_secure(3SIP)

sip_is_param_present(3SIP)

sip_is_sip_uri(3SIP)

sip_is_uri_teluser(3SIP)

sip_message_is_response(3SIP)

sip_msg_is_request(3SIP)

sip_msg_to_str(3SIP)

sip_new_msg(3SIP)

sip_parse_uri(3SIP)

sip_process_new_packet(3SIP)

sip_register_sent_by(3SIP)

sip_release_dialog(3SIP)

sip_release_trans(3SIP)

sip_reqline_to_str(3SIP)

sip_respline_to_str(3SIP)

sip_sendmsg(3SIP)

sip_sent_by_to_str(3SIP)

sip_stack_init(3SIP)

sip_unregister_all_sent_by(3SIP)

sip_unregister_sent_by(3SIP)

sip_uri_errflags_to_str(3SIP)

slp_api(3SLP)

SLPClose(3SLP)

SLPDelAttrs(3SLP)

SLPDereg(3SLP)

SLPEscape(3SLP)

SLPFindAttrs(3SLP)

SLPFindScopes(3SLP)

SLPFindSrvs(3SLP)

SLPFindSrvTypes(3SLP)

SLPFree(3SLP)

SLPGetProperty(3SLP)

SLPGetRefreshInterval(3SLP)

SLPOpen(3SLP)

SLPParseSrvURL(3SLP)

SLPReg(3SLP)

SLPSetProperty(3SLP)

slp_strerror(3SLP)

SLPUnescape(3SLP)

sockatmark(3XNET)

socket(3SOCKET)

socket(3XNET)

socketpair(3SOCKET)

socketpair(3XNET)

spray(3SOCKET)

svc_add_input(3NSL)

svc_auth_reg(3NSL)

svc_control(3NSL)

svc_create(3NSL)

svc_destroy(3NSL)

svc_dg_create(3NSL)

svc_dg_enablecache(3NSL)

svc_done(3NSL)

svc_door_create(3NSL)

svcerr_auth(3NSL)

svcerr_decode(3NSL)

svcerr_noproc(3NSL)

svcerr_noprog(3NSL)

svcerr_progvers(3NSL)

svcerr_systemerr(3NSL)

svcerr_weakauth(3NSL)

svc_exit(3NSL)

svc_fd_create(3NSL)

svcfd_create(3NSL)

svc_fd_negotiate_ucred(3NSL)

svc_fds(3NSL)

svc_fdset(3NSL)

svc_freeargs(3NSL)

svc_getargs(3NSL)

svc_getcaller(3NSL)

svc_getcallerucred(3NSL)

svc_getreq(3NSL)

svc_getreq_common(3NSL)

svc_getreq_poll(3NSL)

svc_getreqset(3NSL)

svc_getrpccaller(3NSL)

svc_max_pollfd(3NSL)

svc_pollfd(3NSL)

svc_raw_create(3NSL)

svcraw_create(3NSL)

svc_reg(3NSL)

svc_register(3NSL)

svc_remove_input(3NSL)

svc_run(3NSL)

svc_sendreply(3NSL)

svctcp_create(3NSL)

svc_tli_create(3NSL)

svc_tp_create(3NSL)

svcudp_bufcreate(3NSL)

svcudp_create(3NSL)

svc_unreg(3NSL)

svc_unregister(3NSL)

svc_vc_create(3NSL)

t_accept(3NSL)

taddr2uaddr(3NSL)

t_alloc(3NSL)

t_bind(3NSL)

t_close(3NSL)

t_connect(3NSL)

t_errno(3NSL)

t_error(3NSL)

t_free(3NSL)

t_getinfo(3NSL)

t_getprotaddr(3NSL)

t_getstate(3NSL)

t_listen(3NSL)

t_look(3NSL)

t_open(3NSL)

t_optmgmt(3NSL)

t_rcv(3NSL)

t_rcvconnect(3NSL)

t_rcvdis(3NSL)

t_rcvrel(3NSL)

t_rcvreldata(3NSL)

t_rcvudata(3NSL)

t_rcvuderr(3NSL)

t_rcvv(3NSL)

t_rcvvudata(3NSL)

t_snd(3NSL)

t_snddis(3NSL)

t_sndrel(3NSL)

t_sndreldata(3NSL)

t_sndudata(3NSL)

t_sndv(3NSL)

t_sndvudata(3NSL)

t_strerror(3NSL)

t_sync(3NSL)

t_sysconf(3NSL)

t_unbind(3NSL)

TXTRecordContainsKey(3DNS_SD)

TXTRecordCreate(3DNS_SD)

TXTRecordDeallocate(3DNS_SD)

TXTRecordGetBytesPtr(3DNS_SD)

TXTRecordGetCount(3DNS_SD)

TXTRecordGetItemAtIndex(3DNS_SD)

TXTRecordGetLength(3DNS_SD)

TXTRecordGetValuePtr(3DNS_SD)

TXTRecordRemoveValue(3DNS_SD)

TXTRecordSetValue(3DNS_SD)

uaddr2taddr(3NSL)

undial(3NSL)

user2netname(3NSL)

xdr(3NSL)

xdr_accepted_reply(3NSL)

xdr_admin(3NSL)

xdr_array(3NSL)

xdr_authsys_parms(3NSL)

xdr_authunix_parms(3NSL)

xdr_bool(3NSL)

xdr_bytes(3NSL)

xdr_callhdr(3NSL)

xdr_callmsg(3NSL)

xdr_char(3NSL)

xdr_complex(3NSL)

xdr_control(3NSL)

xdr_create(3NSL)

xdr_destroy(3NSL)

xdr_double(3NSL)

xdr_enum(3NSL)

xdr_float(3NSL)

xdr_free(3NSL)

xdr_getpos(3NSL)

xdr_hyper(3NSL)

xdr_inline(3NSL)

xdr_int(3NSL)

xdr_long(3NSL)

xdr_longlong_t(3NSL)

xdrmem_create(3NSL)

xdr_opaque(3NSL)

xdr_opaque_auth(3NSL)

xdr_pointer(3NSL)

xdr_quadruple(3NSL)

xdrrec_create(3NSL)

xdrrec_endofrecord(3NSL)

xdrrec_eof(3NSL)

xdrrec_readbytes(3NSL)

xdrrec_skiprecord(3NSL)

xdr_reference(3NSL)

xdr_rejected_reply(3NSL)

xdr_replymsg(3NSL)

xdr_setpos(3NSL)

xdr_short(3NSL)

xdr_simple(3NSL)

xdr_sizeof(3NSL)

xdrstdio_create(3NSL)

xdr_string(3NSL)

xdr_u_char(3NSL)

xdr_u_hyper(3NSL)

xdr_u_int(3NSL)

xdr_u_long(3NSL)

xdr_u_longlong_t(3NSL)

xdr_union(3NSL)

xdr_u_short(3NSL)

xdr_vector(3NSL)

xdr_void(3NSL)

xdr_wrapstring(3NSL)

xprt_register(3NSL)

xprt_unregister(3NSL)

yp_all(3NSL)

yp_bind(3NSL)

ypclnt(3NSL)

yperr_string(3NSL)

yp_first(3NSL)

yp_get_default_domain(3NSL)

yp_master(3NSL)

yp_match(3NSL)

yp_next(3NSL)

yp_order(3NSL)

ypprot_err(3NSL)

yp_unbind(3NSL)

yp_update(3NSL)

sdp_parse

- parse the SDP description

Synopsis

cc [ flag...] file... -lcommputil [ library...]
#include <sdp.h>

int sdp_parse(const char *sdp_info, int len, int flags,
     sdp_session_t **session, uint_t *p_error);

Description

The sdp_parse() function parses the SDP description present in sdp_info and populates the sdp_session_t structure. The len argument specifies the length of the character buffer sdp_info. The flags argument is not used, but must be set to 0, otherwise the call fails with the error value of EINVAL and *session set to NULL. The function allocates the memory required for the sdp_session_t structure and hence the caller is responsible for freeing the parsed session structure (sdp_session_t) using sdp_free_session(), described on the sdp_new_session(3COMMPUTIL) manual page.

The p_error argument identifies any field that had a parsing error. It cannot be NULL and can take any of the following values:

SDP_VERSION_ERROR
0x00000001
SDP_ORIGIN_ERROR
0x00000002
SDP_NAME_ERROR
0x00000004
SDP_INFO_ERROR
0x00000008
SDP_URI_ERROR
0x00000010
SDP_EMAIL_ERROR
0x00000020
SDP_PHONE_ERROR
0x00000040
SDP_CONNECTION_ERROR
0x00000080
SDP_BANDWIDTH_ERROR
0x00000100
SDP_TIME_ERROR
0x00000200
SDP_REPEAT_TIME_ERROR
0x00000400
SDP_ZONE_ERROR
0x00000800
SDP_KEY_ERROR
0x00001000
SDP_ATTRIBUTE_ERROR
0x00002000
SDP_MEDIA_ERROR
0x00004000
SDP_FIELDS_ORDER_ERROR
0x00008000
SDP_MISSING_FIELDS
0x00010000

RFC 4566 states that the fields in the SDP description need to be in a strict order. If the fields are not in the order specified in the RFC, SDP_FIELDS_ORDER_ERROR will be set.

RFC 4566 mandates certain fields to be present in SDP description. If those fields are missing then SDP_MISSING_FIELDS will be set.

Applications can check for presence of parsing error using the bit-wise operators.

If there was an error on a particular field, that field information will not be in the sdp_session_t structure. Also, parsing continues even if there was a field with a parsing error.

The sdp_session_t structure is defined in the header file <sdp.h> and contains the following members:

typedef    struct sdp_session {
    int              sdp_session_version;  /* SDP session verstion */
    int              s_version;            /* SDP version field */
    sdp_origin_t     *s_origin;            /* SDP origin field */
    char             *s_name;              /* SDP name field */
    char             *s_info;              /* SDP info field */
    char             *s_uri;               /* SDP uri field */
    sdp_list_t       *s_email;             /* SDP email field */
    sdp_list_t       *s_phone;             /* SDP phone field */
    sdp_conn_t       *s_conn;              /* SDP connection field */
    sdp_bandwidth_t  *s_bw;                /* SDP bandwidth field */
    sdp_time_t       *s_time;              /* SDP time field */
    sdp_zone_t       *s_zone;              /* SDP zone field */
    sdp_key_t        *s_key;               /* SDP key field */
    sdp_attr_t       *s_attr;              /* SDP attribute field */
    sdp_media_t      *s_media;             /* SDP media field */
} sdp_session_t;

The sdp_session_version member is used to track the version of the structure. Initially it is set to SDP_SESSION_VERSION_1 (= 1).

The sdp_origin_t structure contains the following members:

typedef struct sdp_origin {
    char        *o_username;  /* username of the originating host */
    uint64_t    o_id;         /* session id */
    uint64_t    o_version;    /* version number of this session */
                              /* description */
    char        *o_nettype;   /* type of network */
    char        *o_addrtype;  /* type of the address */
    char        *o_address;   /* address of the machine from which */
                              /* session was created */
} sdp_origin_t;

The sdp_conn_t structure contains the following members:

typedef struct sdp_conn {
    char            *c_nettype;  /* type of network */
    char            *c_addrtype; /* type of the address */
    char            *c_address;  /* unicast-address or multicast */
                                 /* address */
    int             c_addrcount; /* number of addresses (case of */
                                 /* multicast address with layered */
                                 /* encodings */
    struct sdp_conn *c_next;     /* pointer to next connection */
                                 /* structure; there could be several */
                                 /* connection fields in SDP description */
    uint8_t         c_ttl;       /* TTL value for IPV4 multicast address */
} sdp_conn_t;

The sdp_bandwidth_t structure contains the following members:

typedef struct sdp_bandwidth {
    char                  *b_type; /* info needed to interpret b_value */
    uint64_t              b_value; /* bandwidth value */
    struct sdp_bandwidth  *b_next; /* pointer to next bandwidth structure*/
                                   /* (there could be several bandwidth */
                                   /* fields in SDP description */
} sdp_bandwidth_t;

The sdp_list_t structure is a linked list of void pointers. This structure holds SDP fields like email and phone, in which case the void pointers point to character buffers. It to hold information in cases where the number of elements is not predefined (for example, offset (in repeat field) where void pointer holds integer values or format (in media field) where void pointers point to character buffers). The sdp_list_t structure is defined as:

typedef struct sdp_list {
    void            *value; /* string values in case of email, phone and */
                            /* format (in media field) or integer values */
                            /* in case of offset (in repeat field) */
    struct sdp_list *next;  /* pointer to the next node in the list */
} sdp_list_t;

The sdp_repeat_t structure contains the following members:

typedef struct sdp_repeat {
    uint64_t          r_interval; /* repeat interval, e.g. 86400 seconds */
                                  /* (1 day) */
    uint64_t          r_duration; /* duration of session, e.g. 3600 */
                                  /* seconds (1 hour) */
    sdp_list_t        *r_offset;  /* linked list of offset values; each */
                                  /* represents offset from start-time */
                                  /* in SDP time field */
    struct sdp_repeat *r_next;    /* pointer to next repeat structure; */
                                  /* there could be several repeat */
                                  /* fields in SDP description */

The sdp_repeat_t structure will always be part of the time structure sdp_time_t, since the repeat field does not appear alone in SDP description and is always associated with the time field.

The sdp_time_t structure contains the following members:

typedef struct sdp_time {
    uint64_t         t_start;   /* start-time for a session */
    uint64_t         t_stop;    /* end-time for a session */
    sdp_repeat_t     *t_repeat; /* points to the SDP repeat field */
    struct sdp_time  *t_next;   /* pointer to next time field; there */
                                /* could there could be several time */
                                /* fields in SDP description */
} sdp_time_t;

The sdp_zone_t structure contains the following members:

typedef struct sdp_zone {
    uint64_t        z_time;    /* base time */
    char            *z_offset; /* offset added to z_time to determine */
                               /* session time; mainly used for daylight */
                               /* saving time conversions */
    struct sdp_zone *z_next;   /* pointer to next zone field; there */
                               /* could be several <adjustment-time> */
                               /* <offset> pairs within a zone field */
} sdp_zone_t;

The sdp_key_t structure contains the following members:

typedef struct sdp_key {
    char   *k_method;   /* key type */
    char   *k_enckey;   /* encryption key */
} sdp_key_t;

The sdp_attr_t structure contains the following members:

typedef struct sdp_attr {
    char            *a_name;  /* name of the attribute */
    char            *a_value; /* value of the attribute */
    struct sdp_attr *a_next;  /* pointer to the next attribute */
                              /* structure; there could be several */
                              /* attribute fields within SDP description */
} sdp_attr_t;

The sdp_media_t structure contains the following members:

typedef struct sdp_media {
    char              *m_name;     /* name of the media such as "audio", */
                                   /* "video", "message" */
    uint_t            m_port;      /* transport layer port information */
    int               m_portcount; /* number of ports in case of */
                                   /* hierarchically encoded streams */
    char              *m_proto;    /* transport protocol */
    sdp_list_t        *m_format;   /* media format description */
    char              *m_info;     /* media info field */
    sdp_conn_t        *m_conn;     /* media connection field */
    sdp_bandwidth_t   *m_bw;       /* media bandwidth field */
    sdp_key_t         *m_key;      /* media key field */
    sdp_attr_t        *m_attr;     /* media attribute field */
    struct sdp_media  *m_next;     /* pointer to next media structure; */
                                   /* there could be several media */
                                   /* sections in SDP description */
    sdp_session_t     *m_session;  /* pointer to the session structure */
} sdp_media_t;

Return Values

The sdp_parse() function returns 0 on success and the appropriate error value on failure. The value of errno is not changed by these calls in the event of an error.

Errors

The sdp_parse() function will fail if:

EINVAL

Arguments to the function were invalid.

ENOMEM

Memory allocation failed while parsing sdp_info.

Examples

Example 1 sdp_parse() example

If the SDP description was

v=0\r\n
o=jdoe 23423423 234234234 IN IP4 192.168.1.1\r\n
s=SDP seminar\r\n
i=A seminar on the session description protocol\r\n
e=test@host.com
c=IN IP4 156.78.90.1\r\n
t=2873397496 2873404696\r\n

then after call to sdp_parse() function the sdp_session_t structure would be

session {
        sdp_session_version = 1
        s_version = 0
        s_origin {
                o_username = "jdoe"
                o_id = 23423423ULL
                o_version = 234234234ULL
                o_nettype = "IN"
                o_addrtype = "IP4"
                o_address = "192.168.1.1"
        }
        s_name = "SDP seminar"
        s_info = "A seminar on the session description protocol"
        s_uri =  (nil)
        s_email {
                value = "test@host.com"
                next = (nil)
        }
        s_phone = (nil)
        s_conn {
                c_nettype = "IN"
                c_addrtype = "IP4"
                c_address = "156.78.90.1"
                c_addrcount = 0
                c_ttl = 0
                c_next = (nil)
        }
        s_bw = (nil)
        s_time {
                t_start = 2873397496ULL
                t_stop = 2873404696ULL
                t_repeat = (nil)
                t_next = (nil)
        }
        s_zone = (nil)
        s_key = (nil)
        s_attr = (nil)
        s_media = (nil)
}

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
Safe

See Also

libcommputil(3LIB), sdp_new_session(3COMMPUTIL), attributes(5)