xixt.h

00001 /*
00002   The oSIP library implements the Session Initiation Protocol (SIP -rfc2543-)
00003   Copyright (C) 2001  Aymeric MOIZARD jack@atosc.org
00004   
00005   This library is free software; you can redistribute it and/or
00006   modify it under the terms of the GNU Lesser General Public
00007   License as published by the Free Software Foundation; either
00008   version 2.1 of the License, or (at your option) any later version.
00009   
00010   This library is distributed in the hope that it will be useful,
00011   but WITHOUT ANY WARRANTY; without even the implied warranty of
00012   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013   Lesser General Public License for more details.
00014   
00015   You should have received a copy of the GNU Lesser General Public
00016   License along with this library; if not, write to the Free Software
00017   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00018 */
00019 
00020 
00021 #ifndef _XIXT_H_
00022 #define _XIXT_H_
00023 
00024 #include <osipparser2/osip_const.h>
00025 #include <osipparser2/osip_port.h>
00026 
00027 #ifdef __cplusplus
00028 extern "C"
00029 {
00030 #endif
00031 
00032 
00033   void __osip_message_callback (int type, osip_transaction_t *, osip_message_t *);
00034   void __osip_kill_transaction_callback (int type, osip_transaction_t *);
00035   void __osip_transport_error_callback (int type, osip_transaction_t *, int error);
00036 
00044   int __osip_ict_init (osip_ict_t ** ict, osip_t * osip, osip_message_t * invite);
00050   int __osip_ict_free (osip_ict_t * ict);
00051 
00052 
00060   osip_event_t *__osip_ict_need_timer_a_event (osip_ict_t * ict,
00061                                                state_t state, int transactionid);
00069   osip_event_t *__osip_ict_need_timer_b_event (osip_ict_t * ict,
00070                                                state_t state, int transactionid);
00078   osip_event_t *__osip_ict_need_timer_d_event (osip_ict_t * ict,
00079                                                state_t state, int transactionid);
00080 
00088   int __osip_nict_init (osip_nict_t ** nict, osip_t * osip,
00089                         osip_message_t * request);
00095   int __osip_nict_free (osip_nict_t * nict);
00096 
00097 
00105   osip_event_t *__osip_nict_need_timer_e_event (osip_nict_t * nict,
00106                                                 state_t state, int transactionid);
00114   osip_event_t *__osip_nict_need_timer_f_event (osip_nict_t * nict,
00115                                                 state_t state, int transactionid);
00123   osip_event_t *__osip_nict_need_timer_k_event (osip_nict_t * nict,
00124                                                 state_t state, int transactionid);
00125 
00133   int __osip_ist_init (osip_ist_t ** ist, osip_t * osip, osip_message_t * invite);
00139   int __osip_ist_free (osip_ist_t * ist);
00140 
00148   osip_event_t *__osip_ist_need_timer_g_event (osip_ist_t * ist,
00149                                                state_t state, int transactionid);
00157   osip_event_t *__osip_ist_need_timer_h_event (osip_ist_t * ist,
00158                                                state_t state, int transactionid);
00166   osip_event_t *__osip_ist_need_timer_i_event (osip_ist_t * ist,
00167                                                state_t state, int transactionid);
00168 
00176   int __osip_nist_init (osip_nist_t ** nist, osip_t * osip,
00177                         osip_message_t * request);
00178 
00184   int __osip_nist_free (osip_nist_t * nist);
00185 
00186 
00193   osip_event_t *__osip_nist_need_timer_j_event (osip_nist_t * nist,
00194                                                 state_t state, int transactionid);
00195 
00202   int
00203     __osip_transaction_matching_response_osip_to_xict_17_1_3
00204     (osip_transaction_t * tr, osip_message_t * resp);
00205 
00212   int
00213     __osip_transaction_matching_request_osip_to_xist_17_2_3
00214     (osip_transaction_t * tr, osip_message_t * request);
00215 
00216 
00217 
00223   int osip_ict_lock (osip_t * osip);
00229   int osip_ict_unlock (osip_t * osip);
00235   int osip_ist_lock (osip_t * osip);
00241   int osip_ist_unlock (osip_t * osip);
00247   int osip_nict_lock (osip_t * osip);
00253   int osip_nict_unlock (osip_t * osip);
00259   int osip_nist_lock (osip_t * osip);
00265   int osip_nist_unlock (osip_t * osip);
00266 
00273   int __osip_add_ict (osip_t * osip, osip_transaction_t * ict);
00280   int __osip_add_ist (osip_t * osip, osip_transaction_t * ist);
00287   int __osip_add_nict (osip_t * osip, osip_transaction_t * nict);
00294   int __osip_add_nist (osip_t * osip, osip_transaction_t * nist);
00295 
00301   int __osip_remove_ict_transaction (osip_t * osip, osip_transaction_t * ict);
00307   int __osip_remove_ist_transaction (osip_t * osip, osip_transaction_t * ist);
00313   int __osip_remove_nict_transaction (osip_t * osip, osip_transaction_t * nict);
00319   int __osip_remove_nist_transaction (osip_t * osip, osip_transaction_t * nist);
00320 
00327   osip_event_t *__osip_event_new (type_t type, int transactionid);
00328 
00329 
00334   osip_event_t *osip_new_outgoing_sipmessage (osip_message_t * sip);
00335 
00336 #ifdef __cplusplus
00337 }
00338 #endif
00339 
00340 #endif

Generated on Wed Feb 13 01:03:29 2008 for libosip by  doxygen 1.5.4