Main Page   Class Hierarchy   Compound List   File List   Compound Members  

tcap_stack_t.hpp

00001 /*
00002  *  This program is free software; you can redistribute it and/or modify
00003  *  it under the terms of the GNU General Public License as published by
00004  *  the Free Software Foundation; either version 2 of the License, or
00005  *  (at your option) any later version.
00006  *
00007  *  This program is distributed in the hope that it will be useful,
00008  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00009  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00010  *  GNU General Public License for more details.
00011  *
00012  *  You should have received a copy of the GNU General Public License
00013  *  along with this program; if not, write to the Free Software
00014  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00015  *
00016  * (c)Copyright 2006 Hewlett-Packard Development Company, LP.
00017  *
00018  */
00019 
00020 #ifndef _TCAP_STACK_T_
00021 #define _TCAP_STACK_T_
00022 
00023 #include <TCAP_ext.h>
00024 #include <TCAP_errors.h>
00025 
00026 typedef tcx_cnxid (*T_TCAP_stack_open) (
00027                     /* SS7 class name */
00028                     char*               SS7_name,
00029                     /* id of the requested TCAP service */
00030                     tcx_tcap_service       tcap_service_id,
00031                     /* subsystem number */
00032                     int                    ssn,
00033                     /*  enable component layer */
00034                     TC_BOOL                enable_comp_layer, 
00035                     /* TC_YES means that dialogues are accepted */
00036                     TC_BOOL                active, 
00037                     /* must be null if no application info is provided */
00038                     tcx_application_info*  appli_info, 
00039                     /* kind of sccp service requested */
00040                     tcx_sccp_service       sccp_service_kind,
00041                     /* connection timeout */
00042                     struct timeval        *timeout
00043                     );
00044 
00045 typedef int (*T_TCAP_stack_close) (tcx_cnxid cnx_id);
00046 
00047 typedef int (*T_TCAP_stack_send) (tcx_cnxid       cnx_id,
00048                                   struct timeval* time,
00049                                   tcx_primitive*  primitive,
00050                                   tcx_component*  comp_list);
00051 
00052 typedef int (*T_TCAP_stack_recv) (tcx_cnxid         cnx_id,
00053                                   struct timeval*   time,
00054                                   tcx_primitive*    primitive,
00055                                   tcx_component**   comp_listp, 
00056                                   int*              more_message);
00057 
00058 
00059 typedef int (*T_TCAP_stack_control) (int                 connection_id, 
00060                                      void              * context,
00061                                      tc_control_c        command,
00062                                      tc_control_parms   * parameter);
00063 
00064 typedef int (*T_TCAP_stack_cnx_handler) (int     num_fd,
00065                                          fd_set  * read_mask,
00066                                          fd_set  * write_mask,
00067                                          fd_set  * exception_mask,
00068                                          int     * num_cnx,
00069                                          int     * cnx_ids );
00070 
00071 typedef int (*T_TCAP_stack_select_mask) (int             maxFd,
00072                                          fd_set          * read_mask,
00073                                          fd_set          * write_mask,
00074                                          fd_set          * exception_mask,
00075                                          struct timeval  ** time);
00076 
00077 
00078 typedef int (*T_TCAP_stack_alloc_buffer)(tcx_buffer** buffer_listp,
00079                                          unsigned int size);
00080 
00081 typedef int (*T_TCAP_stack_free_buffer)    (tcx_buffer* bufferp);
00082 typedef int (*T_TCAP_stack_alloc_component)(tcx_component** comp_listp,
00083                                             unsigned int    nb_of_components);
00084 typedef int (*T_TCAP_stack_free_components)(tcx_component* comp_list);
00085 typedef int (*T_TCAP_stack_flush_components)(tcx_cnxid cnx_id, int uid, int pid);
00086 typedef int (*T_TCAP_stack_put_component) (tcx_cnxid      cnx_id,
00087                                      int            user_dialogue_id,
00088                                      int            provider_dialogue_id,
00089                                      tcx_component* componentp);
00090 typedef int (*T_TCAP_stack_get_component) (tcx_cnxid       cnx_id,
00091                                      unsigned int    user_dialogue_id,
00092                                      unsigned int    provider_dialogue_id,
00093                                      tcx_component** componentp);
00094 
00095 typedef tc_error_code* T_TCAP_stack_errno ;
00096 typedef char **T_TCAP_stack_error_text   ;
00097 
00098 typedef struct _tcap_stack_fct {
00099   T_TCAP_stack_open             m_open;
00100   T_TCAP_stack_close            m_close;
00101   T_TCAP_stack_send             m_send;
00102   T_TCAP_stack_recv             m_recv;
00103   T_TCAP_stack_control          m_control;
00104   T_TCAP_stack_cnx_handler      m_cnx_handler;
00105   T_TCAP_stack_select_mask      m_select_mask;
00106   T_TCAP_stack_errno            m_errno;
00107   T_TCAP_stack_error_text       m_error_text ;
00108   T_TCAP_stack_alloc_buffer     m_alloc_buffer;
00109   T_TCAP_stack_free_buffer      m_free_buffer;
00110   T_TCAP_stack_alloc_component  m_alloc_component;
00111   T_TCAP_stack_free_components  m_free_components;
00112   T_TCAP_stack_flush_components m_flush_components;
00113   T_TCAP_stack_put_component    m_put_component;
00114   T_TCAP_stack_get_component    m_get_component;
00115 } T_TCAP_stack_fct, *T_pTCAP_stack_fct ;
00116 
00117 
00118 #endif // _TCAP_STACK_T_

Generated on Wed Mar 7 14:44:59 2007 for Seagull by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002