Main Page | Modules | Class List | Directories | File List | Class Members | File Members | Related Pages

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 *,
00034                                 osip_message_t *);
00035   void __osip_kill_transaction_callback (int type, osip_transaction_t *);
00036   void __osip_transport_error_callback (int type, osip_transaction_t *,
00037                                         int error);
00038 
00046   int __osip_ict_init (osip_ict_t ** ict, osip_t * osip,
00047                        osip_message_t * invite);
00053   int __osip_ict_free (osip_ict_t * ict);
00054 
00055 
00063   osip_event_t *__osip_ict_need_timer_a_event (osip_ict_t * ict,
00064                                                state_t state,
00065                                                int transactionid);
00073   osip_event_t *__osip_ict_need_timer_b_event (osip_ict_t * ict,
00074                                                state_t state,
00075                                                int transactionid);
00083   osip_event_t *__osip_ict_need_timer_d_event (osip_ict_t * ict,
00084                                                state_t state,
00085                                                int transactionid);
00086 
00094   int __osip_nict_init (osip_nict_t ** nict, osip_t * osip,
00095                         osip_message_t * request);
00101   int __osip_nict_free (osip_nict_t * nict);
00102 
00103 
00111   osip_event_t *__osip_nict_need_timer_e_event (osip_nict_t * nict,
00112                                                 state_t state,
00113                                                 int transactionid);
00121   osip_event_t *__osip_nict_need_timer_f_event (osip_nict_t * nict,
00122                                                 state_t state,
00123                                                 int transactionid);
00131   osip_event_t *__osip_nict_need_timer_k_event (osip_nict_t * nict,
00132                                                 state_t state,
00133                                                 int transactionid);
00134 
00142   int __osip_ist_init (osip_ist_t ** ist, osip_t * osip,
00143                        osip_message_t * invite);
00149   int __osip_ist_free (osip_ist_t * ist);
00150 
00158   osip_event_t *__osip_ist_need_timer_g_event (osip_ist_t * ist,
00159                                                state_t state,
00160                                                int transactionid);
00168   osip_event_t *__osip_ist_need_timer_h_event (osip_ist_t * ist,
00169                                                state_t state,
00170                                                int transactionid);
00178   osip_event_t *__osip_ist_need_timer_i_event (osip_ist_t * ist,
00179                                                state_t state,
00180                                                int transactionid);
00181 
00189   int __osip_nist_init (osip_nist_t ** nist, osip_t * osip,
00190                         osip_message_t * request);
00191 
00197   int __osip_nist_free (osip_nist_t * nist);
00198 
00199 
00206   osip_event_t *__osip_nist_need_timer_j_event (osip_nist_t * nist,
00207                                                 state_t state,
00208                                                 int transactionid);
00209 
00216   int
00217     __osip_transaction_matching_response_osip_to_xict_17_1_3
00218     (osip_transaction_t * tr, osip_message_t * resp);
00219 
00226   int
00227     __osip_transaction_matching_request_osip_to_xist_17_2_3
00228     (osip_transaction_t * tr, osip_message_t * request);
00229 
00230 
00231 
00237   int osip_ict_lock (osip_t * osip);
00243   int osip_ict_unlock (osip_t * osip);
00249   int osip_ist_lock (osip_t * osip);
00255   int osip_ist_unlock (osip_t * osip);
00261   int osip_nict_lock (osip_t * osip);
00267   int osip_nict_unlock (osip_t * osip);
00273   int osip_nist_lock (osip_t * osip);
00279   int osip_nist_unlock (osip_t * osip);
00280 
00287   int __osip_add_ict (osip_t * osip, osip_transaction_t * ict);
00294   int __osip_add_ist (osip_t * osip, osip_transaction_t * ist);
00301   int __osip_add_nict (osip_t * osip, osip_transaction_t * nict);
00308   int __osip_add_nist (osip_t * osip, osip_transaction_t * nist);
00309 
00315   int __osip_remove_ict_transaction (osip_t * osip, osip_transaction_t * ict);
00321   int __osip_remove_ist_transaction (osip_t * osip, osip_transaction_t * ist);
00327   int __osip_remove_nict_transaction (osip_t * osip,
00328                                       osip_transaction_t * nict);
00334   int __osip_remove_nist_transaction (osip_t * osip,
00335                                       osip_transaction_t * nist);
00336 
00343   osip_event_t *__osip_event_new (type_t type, int transactionid);
00344 
00345 
00350   osip_event_t *osip_new_outgoing_sipmessage (osip_message_t * sip);
00351 
00352 #ifdef __cplusplus
00353 }
00354 #endif
00355 
00356 #endif

Generated on Tue Feb 22 00:59:47 2005 for libosip by  doxygen 1.4.1