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_