00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
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                     
00028                     char*               SS7_name,
00029                     
00030                     tcx_tcap_service       tcap_service_id,
00031                     
00032                     int                    ssn,
00033                     
00034                     TC_BOOL                enable_comp_layer, 
00035                     
00036                     TC_BOOL                active, 
00037                     
00038                     tcx_application_info*  appli_info, 
00039                     
00040                     tcx_sccp_service       sccp_service_kind,
00041                     
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_