Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef SIP_H
00026
00027 #define SIP_H
00028
00038 #ifndef MSG_TYPES_H
00039 #include <sofia-sip/msg_types.h>
00040 #endif
00041 #ifndef MSG_MIME_H
00042 #include <sofia-sip/msg_mime.h>
00043 #endif
00044
00045 SOFIA_BEGIN_DECLS
00046
00048 typedef enum {
00049 sip_method_invalid = -1,
00050 sip_method_unknown = 0,
00051 sip_method_invite,
00052 sip_method_ack,
00053 sip_method_cancel,
00054 sip_method_bye,
00055 sip_method_options,
00056 sip_method_register,
00057 sip_method_info,
00058 sip_method_prack,
00059 sip_method_update,
00060 sip_method_message,
00061 sip_method_subscribe,
00062 sip_method_notify,
00063 sip_method_refer,
00064 sip_method_publish
00065 } sip_method_t;
00066
00067 #define SIP_METHOD(s) sip_method_unknown, #s
00068 #define SIP_METHOD_ACK sip_method_ack, "ACK"
00069 #define SIP_METHOD_CANCEL sip_method_cancel, "CANCEL"
00070 #define SIP_METHOD_BYE sip_method_bye, "BYE"
00071 #define SIP_METHOD_INVITE sip_method_invite, "INVITE"
00072 #define SIP_METHOD_OPTIONS sip_method_options, "OPTIONS"
00073 #define SIP_METHOD_REGISTER sip_method_register, "REGISTER"
00074 #define SIP_METHOD_INFO sip_method_info, "INFO"
00075 #define SIP_METHOD_PRACK sip_method_prack, "PRACK"
00076 #define SIP_METHOD_UPDATE sip_method_update, "UPDATE"
00077 #define SIP_METHOD_MESSAGE sip_method_message, "MESSAGE"
00078 #define SIP_METHOD_SUBSCRIBE sip_method_subscribe, "SUBSCRIBE"
00079 #define SIP_METHOD_NOTIFY sip_method_notify, "NOTIFY"
00080 #define SIP_METHOD_REFER sip_method_refer, "REFER"
00081 #define SIP_METHOD_PUBLISH sip_method_publish, "PUBLISH"
00082
00084 #define SIP_NONE ((void const *)-1L)
00085
00087 #define SIP_PROTOCOL_TAG ((void *)0x53495020)
00088
00089 enum {
00091 SIP_DEFAULT_PORT = 5060,
00092 #define SIP_DEFAULT_PORT SIP_DEFAULT_PORT
00093
00095 #define SIP_DEFAULT_SERV "5060"
00096
00098 SIPS_DEFAULT_PORT = 5061
00099 #define SIPS_DEFAULT_PORT SIPS_DEFAULT_PORT
00100
00101 #define SIPS_DEFAULT_SERV "5061"
00102 };
00103
00105 typedef msg_time_t sip_time_t;
00106
00108 #define SIP_TIME_MAX ((sip_time_t)MSG_TIME_MAX)
00109
00111 typedef struct sip_s sip_t;
00112
00114 typedef union sip_header_u sip_header_t;
00115
00117 typedef struct msg_generic_s sip_generic_t;
00118 #define g_value g_string
00119
00121 typedef msg_common_t sip_common_t;
00122
00124 typedef msg_param_t sip_param_t;
00125
00127 typedef struct sip_addr_s sip_addr_t;
00128
00130 typedef msg_auth_t sip_auth_t;
00131
00132 typedef struct sip_request_s sip_request_t;
00133 typedef struct sip_status_s sip_status_t;
00134 typedef msg_error_t sip_error_t;
00135 typedef msg_unknown_t sip_unknown_t;
00136 typedef msg_separator_t sip_separator_t;
00137 typedef msg_payload_t sip_payload_t;
00138
00139 typedef struct sip_accept_s sip_accept_t;
00140 typedef msg_accept_any_t sip_accept_encoding_t;
00141 typedef msg_accept_any_t sip_accept_language_t;
00142 typedef struct sip_allow_s sip_allow_t;
00143 typedef struct msg_auth_info_s sip_authentication_info_t;
00144 typedef struct msg_auth_s sip_authorization_t;
00145 typedef struct sip_call_id_s sip_call_id_t;
00146 typedef struct sip_call_info_s sip_call_info_t;
00147 typedef struct sip_contact_s sip_contact_t;
00148 typedef struct sip_cseq_s sip_cseq_t;
00149 typedef struct msg_generic_s sip_etag_t;
00150 typedef struct msg_generic_s sip_if_match_t;
00151 typedef msg_content_disposition_t sip_content_disposition_t;
00152 typedef msg_list_t sip_content_encoding_t;
00153 typedef msg_list_t sip_content_language_t;
00154 typedef struct sip_content_length_s sip_content_length_t;
00155 typedef struct msg_content_type_s sip_content_type_t;
00156 typedef struct msg_generic_s sip_mime_version_t;
00157 typedef struct sip_date_s sip_date_t;
00158 typedef struct sip_error_info_s sip_error_info_t;
00159 typedef struct sip_expires_s sip_expires_t;
00160 typedef struct sip_addr_s sip_from_t;
00161 typedef msg_list_t sip_in_reply_to_t;
00162 typedef struct sip_max_forwards_s sip_max_forwards_t;
00163 typedef struct sip_min_expires_s sip_min_expires_t;
00164 typedef struct sip_min_se_s sip_min_se_t;
00165 typedef struct msg_generic_s sip_organization_t;
00166 typedef struct msg_generic_s sip_priority_t;
00167 typedef struct msg_auth_s sip_proxy_authenticate_t;
00168 typedef struct msg_auth_info_s sip_proxy_authentication_info_t;
00169 typedef struct msg_auth_s sip_proxy_authorization_t;
00170 typedef msg_list_t sip_proxy_require_t;
00171 typedef struct sip_rack_s sip_rack_t;
00172 typedef struct sip_reason_s sip_reason_t;
00173 typedef struct sip_route_s sip_record_route_t;
00174
00175 typedef struct sip_refer_to_s sip_refer_to_t;
00176 typedef struct sip_referred_by_s sip_referred_by_t;
00177 typedef struct sip_replaces_s sip_replaces_t;
00178
00179 typedef struct sip_request_disposition_s sip_request_disposition_t;
00180
00181 typedef struct sip_caller_prefs_s sip_caller_prefs_t;
00182 typedef struct sip_caller_prefs_s sip_accept_contact_t;
00183 typedef struct sip_caller_prefs_s sip_reject_contact_t;
00184
00185 typedef msg_list_t sip_require_t;
00186 typedef struct sip_retry_after_s sip_retry_after_t;
00187 typedef struct sip_route_s sip_route_t;
00188 typedef struct sip_rseq_s sip_rseq_t;
00189 typedef struct msg_generic_s sip_server_t;
00190 typedef struct sip_session_expires_s
00191 sip_session_expires_t;
00192 typedef struct msg_generic_s sip_subject_t;
00193 typedef struct sip_subscription_state_s
00194 sip_subscription_state_t;
00195 typedef msg_list_t sip_supported_t;
00196 typedef struct sip_timestamp_s sip_timestamp_t;
00197 typedef struct sip_addr_s sip_to_t;
00198 typedef msg_list_t sip_unsupported_t;
00199 typedef struct msg_generic_s sip_user_agent_t;
00200 typedef struct sip_via_s sip_via_t;
00201 typedef msg_warning_t sip_warning_t;
00202 typedef struct msg_auth_s sip_www_authenticate_t;
00203
00204 typedef struct sip_event_s sip_event_t;
00205 typedef msg_list_t sip_allow_events_t;
00206
00207
00208 typedef struct sip_privacy_s sip_privacy_t;
00209
00210
00211 typedef struct sip_route_s sip_path_t;
00212
00213
00214 typedef struct sip_security_agree_s sip_security_client_t;
00215 typedef struct sip_security_agree_s sip_security_server_t;
00216 typedef struct sip_security_agree_s sip_security_verify_t;
00217
00218
00219 typedef struct sip_route_s sip_service_route_t;
00220
00221
00230 struct sip_s {
00231 msg_common_t sip_common[1];
00232 msg_pub_t *sip_next;
00233 void *sip_user;
00234 unsigned sip_size;
00235 int sip_flags;
00237 sip_error_t *sip_error;
00239
00240 sip_request_t *sip_request;
00241 sip_status_t *sip_status;
00243
00244 sip_via_t *sip_via;
00245 sip_route_t *sip_route;
00246 sip_record_route_t *sip_record_route;
00247 sip_max_forwards_t *sip_max_forwards;
00248 sip_proxy_require_t *sip_proxy_require;
00250 sip_from_t *sip_from;
00251 sip_to_t *sip_to;
00252 sip_call_id_t *sip_call_id;
00253 sip_cseq_t *sip_cseq;
00254 sip_contact_t *sip_contact;
00255 sip_rseq_t *sip_rseq;
00256 sip_rack_t *sip_rack;
00258
00259 sip_request_disposition_t *sip_request_disposition;
00261 sip_accept_contact_t *sip_accept_contact;
00262 sip_reject_contact_t *sip_reject_contact;
00264 sip_expires_t *sip_expires;
00265 sip_date_t *sip_date;
00266 sip_retry_after_t *sip_retry_after;
00267 sip_timestamp_t *sip_timestamp;
00268 sip_min_expires_t *sip_min_expires;
00270 sip_subject_t *sip_subject;
00271 sip_priority_t *sip_priority;
00273 sip_call_info_t *sip_call_info;
00274 sip_organization_t *sip_organization;
00275 sip_server_t *sip_server;
00276 sip_user_agent_t *sip_user_agent;
00277 sip_in_reply_to_t *sip_in_reply_to;
00279 sip_accept_t *sip_accept;
00280 sip_accept_encoding_t *sip_accept_encoding;
00281 sip_accept_language_t *sip_accept_language;
00283 sip_allow_t *sip_allow;
00284 sip_require_t *sip_require;
00285 sip_supported_t *sip_supported;
00286 sip_unsupported_t *sip_unsupported;
00288
00289 sip_event_t *sip_event;
00290 sip_allow_events_t *sip_allow_events;
00291 sip_subscription_state_t *sip_subscription_state;
00294 sip_proxy_authenticate_t *sip_proxy_authenticate;
00296 sip_proxy_authentication_info_t *sip_proxy_authentication_info;
00298 sip_proxy_authorization_t *sip_proxy_authorization;
00300 sip_authorization_t *sip_authorization;
00302 sip_www_authenticate_t *sip_www_authenticate;
00304 sip_authentication_info_t *sip_authentication_info;
00306 sip_error_info_t *sip_error_info;
00307 sip_warning_t *sip_warning;
00309
00310 sip_refer_to_t *sip_refer_to;
00311 sip_referred_by_t *sip_referred_by;
00312 sip_replaces_t *sip_replaces;
00314
00315 sip_session_expires_t *sip_session_expires;
00317 sip_min_se_t *sip_min_se;
00319 sip_path_t *sip_path;
00320 sip_service_route_t *sip_service_route;
00322 sip_reason_t *sip_reason;
00324 sip_security_client_t *sip_security_client;
00325 sip_security_server_t *sip_security_server;
00326 sip_security_verify_t *sip_security_verify;
00328 sip_privacy_t *sip_privacy;
00330 sip_etag_t *sip_etag;
00331 sip_if_match_t *sip_if_match;
00333
00334 sip_mime_version_t *sip_mime_version;
00335 sip_content_type_t *sip_content_type;
00336 sip_content_encoding_t *sip_content_encoding;
00338 sip_content_language_t *sip_content_language;
00339 sip_content_disposition_t *sip_content_disposition;
00341 sip_content_length_t *sip_content_length;
00343
00344
00345 sip_unknown_t *sip_unknown;
00346 sip_separator_t *sip_separator;
00348 sip_payload_t *sip_payload;
00349 msg_multipart_t *sip_multipart;
00350 };
00351
00352
00356 struct sip_request_s
00357 {
00358 sip_common_t rq_common[1];
00359 sip_error_t *rq_next;
00360 sip_method_t rq_method;
00361 char const *rq_method_name;
00362 url_t rq_url[1];
00363 char const *rq_version;
00364 };
00365
00369 struct sip_status_s
00370 {
00371 sip_common_t st_common[1];
00372 sip_error_t *st_next;
00373 char const *st_version;
00374 int st_status;
00375 char const *st_phrase;
00376 };
00377
00381 struct sip_addr_s
00382 {
00383 sip_common_t a_common[1];
00384 sip_error_t *a_next;
00385 char const *a_display;
00386 url_t a_url[1];
00387 msg_param_t const *a_params;
00388 char const *a_comment;
00390 char const *a_tag;
00391 };
00392
00393 #define a_user a_url->url_user
00394 #define a_host a_url->url_host
00395
00399 struct sip_accept_s
00400 {
00401 sip_common_t ac_common[1];
00402 sip_accept_t *ac_next;
00403 char const *ac_type;
00404 char const *ac_subtype;
00405 msg_param_t const *ac_params;
00406 char const *ac_q;
00407 };
00408
00414 struct sip_allow_s
00415 {
00416 msg_common_t k_common[1];
00417 msg_list_t *k_next;
00418 msg_param_t *k_items;
00419 uint32_t k_bitmap;
00421 };
00422
00428 struct sip_authentication_info_s
00429 {
00430 sip_common_t ai_common[1];
00431 sip_error_t *ai_next;
00432 msg_param_t const *ai_params;
00433 };
00434
00438 struct sip_call_id_s {
00439 sip_common_t i_common[1];
00440 sip_call_id_t *i_next;
00441 char const *i_id;
00442 uint32_t i_hash;
00443 };
00444
00448 struct sip_call_info_s
00449 {
00450 sip_common_t ci_common[1];
00451 sip_call_info_t *ci_next;
00452 url_t ci_url[1];
00453 msg_param_t const *ci_params;
00454 char const *ci_purpose;
00455 };
00456
00460 struct sip_cseq_s
00461 {
00462 sip_common_t cs_common[1];
00463 sip_error_t *cs_next;
00464 uint32_t cs_seq;
00465 sip_method_t cs_method;
00466 char const *cs_method_name;
00467 };
00468
00472 struct sip_contact_s
00473 {
00474 sip_common_t m_common[1];
00475 sip_contact_t *m_next;
00476 char const *m_display;
00477 url_t m_url[1];
00478 msg_param_t const *m_params;
00479 char const *m_comment;
00481 char const *m_q;
00482 char const *m_expires;
00483 };
00484
00488 struct sip_content_length_s
00489 {
00490 sip_common_t l_common[1];
00491 sip_error_t *l_next;
00492 uint32_t l_length;
00493 };
00494
00495 #if DOCUMENTATION_ONLY
00496
00500 struct sip_content_type_s
00501 {
00502 sip_common_t c_common[1];
00503 sip_error_t *c_next;
00504 char const *c_type;
00505 char const *c_subtype;
00506 msg_param_t const *c_params;
00507 };
00508 #endif
00509
00513 struct sip_date_s
00514 {
00515 sip_common_t d_common[1];
00516 sip_date_t *d_next;
00517 sip_time_t d_time;
00518 };
00519
00523 struct sip_error_info_s
00524 {
00525 sip_common_t ei_common[1];
00526 sip_call_info_t *ei_next;
00527 url_t ei_url[1];
00528 msg_param_t const *ei_params;
00529 };
00530
00534 struct sip_event_s
00535 {
00536 sip_common_t o_common[1];
00537 sip_error_t *o_next;
00538 char const * o_type;
00539 msg_param_t const *o_params;
00540 char const *o_id;
00541 };
00542
00546 struct sip_expires_s
00547 {
00548 sip_common_t ex_common[1];
00549 sip_error_t *ex_next;
00550 sip_time_t ex_date;
00551 # define ex_time ex_date
00552 sip_time_t ex_delta;
00553 };
00554
00558 struct sip_max_forwards_s
00559 {
00560 sip_common_t mf_common[1];
00561 sip_error_t *mf_next;
00562 unsigned long mf_count;
00563 };
00564
00568 struct sip_min_expires_s
00569 {
00570 sip_common_t me_common[1];
00571 sip_error_t *me_next;
00572 unsigned long me_delta;
00573 };
00574
00578 struct sip_rack_s
00579 {
00580 sip_common_t ra_common;
00581 sip_error_t *ra_next;
00582 uint32_t ra_response;
00583 uint32_t ra_cseq;
00584 sip_method_t ra_method;
00585 char const *ra_method_name;
00586 };
00587
00591 struct sip_refer_to_s
00592 {
00593 sip_common_t r_common[1];
00594 sip_error_t *r_next;
00595 char const *r_display;
00596 url_t r_url[1];
00597 msg_param_t const *r_params;
00598 };
00599
00603 struct sip_referred_by_s
00604 {
00605 sip_common_t b_common[1];
00606 sip_error_t *b_next;
00607 char const *b_display;
00608 url_t b_url[1];
00609 msg_param_t const *b_params;
00610 char const *b_cid;
00611 };
00612
00613
00617 struct sip_replaces_s
00618 {
00619 sip_common_t rp_common[1];
00620 sip_error_t *rp_next;
00621 char const *rp_call_id;
00622 msg_param_t const *rp_params;
00623 char const *rp_to_tag;
00624 char const *rp_from_tag;
00625 unsigned rp_early_only;
00626 };
00627
00628
00632 struct sip_retry_after_s {
00633 sip_common_t af_common[1];
00634 sip_error_t *af_next;
00635 sip_time_t af_delta;
00636 char const *af_comment;
00637 msg_param_t const *af_params;
00638 char const *af_duration;
00639 };
00640
00644 struct sip_request_disposition_s
00645 {
00646 sip_common_t rd_common[1];
00647 sip_error_t *rd_next;
00648 msg_param_t *rd_items;
00649 };
00650
00654 struct sip_caller_prefs_s
00655 {
00656 sip_common_t cp_common[1];
00657 sip_caller_prefs_t *cp_next;
00658 msg_param_t const *cp_params;
00659 char const *cp_q;
00660 unsigned cp_require :1;
00661 unsigned cp_explicit :1;
00662 };
00663
00667 struct sip_reason_s
00668 {
00669 sip_common_t re_common[1];
00670 sip_reason_t *re_next;
00671 char const *re_protocol;
00672 msg_param_t const *re_params;
00673 char const *re_cause;
00674 char const *re_text;
00675 };
00676
00680 struct sip_route_s
00681 {
00682 sip_common_t r_common[1];
00683 sip_route_t *r_next;
00684 char const *r_display;
00685 url_t r_url[1];
00686 msg_param_t const *r_params;
00687 };
00688
00692 struct sip_rseq_s
00693 {
00694 sip_common_t rs_common[1];
00695 sip_error_t *rs_next;
00696 unsigned long rs_response;
00697 };
00698
00702 struct sip_session_expires_s
00703 {
00704 sip_common_t x_common[1];
00705 sip_error_t *x_next;
00706 unsigned long x_delta;
00707 msg_param_t const *x_params;
00708 char const *x_refresher;
00710 };
00711
00715 struct sip_min_se_s
00716 {
00717 sip_common_t min_common[1];
00718 sip_error_t *min_next;
00719 unsigned long min_delta;
00720 msg_param_t const *min_params;
00721 };
00722
00726 struct sip_subscription_state_s
00727 {
00728 sip_common_t ss_common[1];
00729 sip_error_t *ss_next;
00731 char const *ss_substate;
00732 msg_param_t const *ss_params;
00733 char const *ss_reason;
00734 char const *ss_expires;
00735 char const *ss_retry_after;
00736 };
00737
00741 struct sip_timestamp_s
00742 {
00743 sip_common_t ts_common[1];
00744 sip_error_t *ts_next;
00745 char const *ts_stamp;
00746 char const *ts_delay;
00747 };
00748
00752 struct sip_via_s
00753 {
00754 sip_common_t v_common[1];
00755 sip_via_t *v_next;
00756 char const *v_protocol;
00757 char const *v_host;
00758 char const *v_port;
00759 msg_param_t const *v_params;
00760 char const *v_comment;
00761 char const *v_ttl;
00762 char const *v_maddr;
00763 char const *v_received;
00764 char const *v_branch;
00765 char const *v_rport;
00766 char const *v_comp;
00767 };
00768
00773 struct sip_security_agree_s
00774 {
00775 sip_common_t sa_common[1];
00776 struct sip_security_agree_s
00777 *sa_next;
00778 char const *sa_mec;
00779 msg_param_t const *sa_params;
00780 char const *sa_q;
00781 char const *sa_d_alg;
00782 char const *sa_d_qop;
00783 char const *sa_d_ver;
00784 };
00785
00789 struct sip_privacy_s
00790 {
00791 sip_common_t priv_common[1];
00792 sip_error_t *priv_next;
00793 msg_param_t const *priv_values;
00794 };
00795
00796
00797
00798
00799 union sip_header_u
00800 {
00801 sip_common_t sh_common[1];
00802 struct
00803 {
00804 sip_common_t shn_common;
00805 sip_header_t *shn_next;
00806 } sh_header_next[1];
00807 #define sh_next sh_header_next->shn_next
00808 #define sh_class sh_common->h_class
00809 #define sh_succ sh_common->h_succ
00810 #define sh_prev sh_common->h_prev
00811 #define sh_data sh_common->h_data
00812 #define sh_len sh_common->h_len
00813
00814 sip_addr_t sh_addr[1];
00815 sip_auth_t sh_auth[1];
00816 sip_generic_t sh_generic[1];
00817
00818 sip_request_t sh_request[1];
00819 sip_status_t sh_status[1];
00820
00821 sip_error_t sh_error[1];
00822
00823 sip_via_t sh_via[1];
00824 sip_route_t sh_route[1];
00825 sip_record_route_t sh_record_route[1];
00826 sip_max_forwards_t sh_max_forwards[1];
00827
00828 sip_from_t sh_from[1];
00829 sip_to_t sh_to[1];
00830 sip_contact_t sh_contact[1];
00831 sip_call_id_t sh_call_id[1];
00832 sip_cseq_t sh_cseq[1];
00833 sip_rseq_t sh_rseq[1];
00834 sip_rack_t sh_rack[1];
00835
00836 sip_subject_t sh_subject[1];
00837 sip_priority_t sh_priority[1];
00838
00839 sip_date_t sh_date[1];
00840 sip_retry_after_t sh_retry_after[1];
00841 sip_timestamp_t sh_timestamp[1];
00842 sip_expires_t sh_expires[1];
00843 sip_min_expires_t sh_min_expires[1];
00844
00845 sip_call_info_t sh_call_info[1];
00846 sip_organization_t sh_organization[1];
00847 sip_server_t sh_server[1];
00848 sip_user_agent_t sh_user_agent[1];
00849 sip_in_reply_to_t sh_in_reply_to[1];
00850
00851 sip_accept_t sh_accept[1];
00852 sip_accept_encoding_t sh_accept_encoding[1];
00853 sip_accept_language_t sh_accept_language[1];
00854
00855 sip_allow_t sh_allow[1];
00856 sip_require_t sh_require[1];
00857 sip_proxy_require_t sh_proxy_require[1];
00858 sip_supported_t sh_supported[1];
00859 sip_unsupported_t sh_unsupported[1];
00860
00861 sip_event_t sh_event[1];
00862 sip_allow_events_t sh_allow_events[1];
00863 sip_subscription_state_t sh_subscription_state[1];
00864
00865 sip_proxy_authenticate_t sh_proxy_authenticate[1];
00866 sip_proxy_authentication_info_t sh_proxy_authentication_info[1];
00867 sip_proxy_authorization_t sh_proxy_authorization[1];
00868
00869 sip_authorization_t sh_authorization[1];
00870 sip_www_authenticate_t sh_www_authenticate[1];
00871 sip_authentication_info_t sh_authentication_info[1];
00872
00873 sip_error_info_t sh_error_info[1];
00874 sip_warning_t sh_warning[1];
00875
00876 sip_refer_to_t sh_refer_to[1];
00877 sip_referred_by_t sh_referred_by[1];
00878 sip_replaces_t sh_replaces[1];
00879
00880
00881 sip_caller_prefs_t sh_caller_prefs[1];
00882 sip_request_disposition_t sh_request_disposition[1];
00883 sip_accept_contact_t sh_accept_contact[1];
00884 sip_reject_contact_t sh_reject_contact[1];
00885
00886 sip_session_expires_t sh_session_expires[1];
00887 sip_min_se_t sh_min_se[1];
00888
00889 sip_path_t sh_path[1];
00890 sip_service_route_t sh_service_route[1];
00891
00892 sip_reason_t sh_reason[1];
00893
00894 sip_security_client_t sh_security_client[1];
00895 sip_security_server_t sh_security_server[1];
00896 sip_security_verify_t sh_security_verify[1];
00897
00898 sip_privacy_t sh_privacy[1];
00899
00900 sip_etag_t sh_etag[1];
00901 sip_if_match_t sh_if_match[1];
00902
00903
00904 sip_mime_version_t sh_mime_version[1];
00905 sip_content_type_t sh_content_type[1];
00906 sip_content_encoding_t sh_content_encoding[1];
00907 sip_content_language_t sh_content_language[1];
00908 sip_content_length_t sh_content_length[1];
00909 sip_content_disposition_t sh_content_disposition[1];
00910
00911 sip_unknown_t sh_unknown[1];
00912
00913 sip_separator_t sh_separator[1];
00914 sip_payload_t sh_payload[1];
00915 };
00916
00917 SOFIA_END_DECLS
00918
00919 #endif