libosip  4.0.0
xixt.h
1 /*
2  The oSIP library implements the Session Initiation Protocol (SIP -rfc2543-)
3  Copyright (C) 2001-2012 Aymeric MOIZARD amoizard@antisip.com
4 
5  This library is free software; you can redistribute it and/or
6  modify it under the terms of the GNU Lesser General Public
7  License as published by the Free Software Foundation; either
8  version 2.1 of the License, or (at your option) any later version.
9 
10  This library is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public
16  License along with this library; if not, write to the Free Software
17  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 */
19 
20 
21 #ifndef _XIXT_H_
22 #define _XIXT_H_
23 
24 #include <osipparser2/osip_const.h>
25 #include <osipparser2/osip_port.h>
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
31 
32  void __osip_message_callback (int type, osip_transaction_t *, osip_message_t *);
33  void __osip_kill_transaction_callback (int type, osip_transaction_t *);
34  void __osip_transport_error_callback (int type, osip_transaction_t *, int error);
35 
43  int __osip_ict_init (osip_ict_t ** ict, osip_t * osip, osip_message_t * invite);
49  int __osip_ict_free (osip_ict_t * ict);
50 
51 
59  osip_event_t *__osip_ict_need_timer_a_event (osip_ict_t * ict, state_t state, int transactionid);
67  osip_event_t *__osip_ict_need_timer_b_event (osip_ict_t * ict, state_t state, int transactionid);
75  osip_event_t *__osip_ict_need_timer_d_event (osip_ict_t * ict, state_t state, int transactionid);
76 
84  int __osip_nict_init (osip_nict_t ** nict, osip_t * osip, osip_message_t * request);
90  int __osip_nict_free (osip_nict_t * nict);
91 
92 
100  osip_event_t *__osip_nict_need_timer_e_event (osip_nict_t * nict, state_t state, int transactionid);
108  osip_event_t *__osip_nict_need_timer_f_event (osip_nict_t * nict, state_t state, int transactionid);
116  osip_event_t *__osip_nict_need_timer_k_event (osip_nict_t * nict, state_t state, int transactionid);
117 
125  int __osip_ist_init (osip_ist_t ** ist, osip_t * osip, osip_message_t * invite);
131  int __osip_ist_free (osip_ist_t * ist);
132 
140  osip_event_t *__osip_ist_need_timer_g_event (osip_ist_t * ist, state_t state, int transactionid);
148  osip_event_t *__osip_ist_need_timer_h_event (osip_ist_t * ist, state_t state, int transactionid);
156  osip_event_t *__osip_ist_need_timer_i_event (osip_ist_t * ist, state_t state, int transactionid);
157 
165  int __osip_nist_init (osip_nist_t ** nist, osip_t * osip, osip_message_t * request);
166 
172  int __osip_nist_free (osip_nist_t * nist);
173 
174 
181  osip_event_t *__osip_nist_need_timer_j_event (osip_nist_t * nist, state_t state, int transactionid);
182 
189  int
190  __osip_transaction_matching_response_osip_to_xict_17_1_3 (osip_transaction_t * tr, osip_message_t * resp);
191 
198  int
199  __osip_transaction_matching_request_osip_to_xist_17_2_3 (osip_transaction_t * tr, osip_message_t * request);
200 
201 
202 
208  int osip_ict_lock (osip_t * osip);
214  int osip_ict_unlock (osip_t * osip);
220  int osip_ist_lock (osip_t * osip);
226  int osip_ist_unlock (osip_t * osip);
232  int osip_nict_lock (osip_t * osip);
238  int osip_nict_unlock (osip_t * osip);
244  int osip_nist_lock (osip_t * osip);
250  int osip_nist_unlock (osip_t * osip);
251 
258  int __osip_add_ict (osip_t * osip, osip_transaction_t * ict);
265  int __osip_add_ist (osip_t * osip, osip_transaction_t * ist);
272  int __osip_add_nict (osip_t * osip, osip_transaction_t * nict);
279  int __osip_add_nist (osip_t * osip, osip_transaction_t * nist);
280 
286  int __osip_remove_ict_transaction (osip_t * osip, osip_transaction_t * ict);
292  int __osip_remove_ist_transaction (osip_t * osip, osip_transaction_t * ist);
298  int __osip_remove_nict_transaction (osip_t * osip, osip_transaction_t * nict);
304  int __osip_remove_nist_transaction (osip_t * osip, osip_transaction_t * nist);
305 
312  osip_event_t *__osip_event_new (type_t type, int transactionid);
313 
314 
320 
321 #ifdef __cplusplus
322 }
323 #endif
324 #endif