|  | /* | 
|  | * | 
|  | Copyright (c) Eicon Networks, 2000. | 
|  | * | 
|  | This source file is supplied for the use with | 
|  | Eicon Networks range of DIVA Server Adapters. | 
|  | * | 
|  | Eicon File Revision :    1.9 | 
|  | * | 
|  | This program is free software; you can redistribute it and/or modify | 
|  | it under the terms of the GNU General Public License as published by | 
|  | the Free Software Foundation; either version 2, or (at your option) | 
|  | any later version. | 
|  | * | 
|  | This program is distributed in the hope that it will be useful, | 
|  | but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY | 
|  | implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 
|  | See the GNU General Public License for more details. | 
|  | * | 
|  | You should have received a copy of the GNU General Public License | 
|  | along with this program; if not, write to the Free Software | 
|  | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 
|  | * | 
|  | */ | 
|  | #ifndef __DIVA_EICON_TRACE_IDI_IFC_H__ | 
|  | #define __DIVA_EICON_TRACE_IDI_IFC_H__ | 
|  |  | 
|  | void* SuperTraceOpenAdapter   (int AdapterNumber); | 
|  | int   SuperTraceCloseAdapter  (void* AdapterHandle); | 
|  | int   SuperTraceWrite         (void* AdapterHandle, | 
|  | const void* data, int length); | 
|  | int   SuperTraceReadRequest   (void* AdapterHandle,const char* name,byte* data); | 
|  | int   SuperTraceGetNumberOfChannels (void* AdapterHandle); | 
|  | int   SuperTraceASSIGN        (void* AdapterHandle, byte* data); | 
|  | int   SuperTraceREMOVE        (void* AdapterHandle); | 
|  | int   SuperTraceTraceOnRequest(void* hAdapter, const char* name, byte* data); | 
|  | int   SuperTraceWriteVar (void* AdapterHandle, | 
|  | byte* data, | 
|  | const char* name, | 
|  | void* var, | 
|  | byte type, | 
|  | byte var_length); | 
|  | int   SuperTraceExecuteRequest (void* AdapterHandle, | 
|  | const char* name, | 
|  | byte* data); | 
|  |  | 
|  | typedef struct _diva_strace_path2action { | 
|  | char               path[64]; /* Full path to variable            */ | 
|  | void*							 variable; /* Variable that will receive value */ | 
|  | } diva_strace_path2action_t; | 
|  |  | 
|  | #define DIVA_MAX_MANAGEMENT_TRANSFER_SIZE 4096 | 
|  |  | 
|  | typedef struct _diva_strace_context { | 
|  | diva_strace_library_interface_t	instance; | 
|  |  | 
|  | int   Adapter; | 
|  | void* hAdapter; | 
|  |  | 
|  | int Channels; | 
|  | int	req_busy; | 
|  |  | 
|  | ENTITY   e; | 
|  | IDI_CALL request; | 
|  | BUFFERS  XData; | 
|  | BUFFERS  RData; | 
|  | byte buffer[DIVA_MAX_MANAGEMENT_TRANSFER_SIZE + 1]; | 
|  | int removal_state; | 
|  | int general_b_ch_event; | 
|  | int general_fax_event; | 
|  | int general_mdm_event; | 
|  |  | 
|  | byte	rc_ok; | 
|  |  | 
|  | /* | 
|  | Initialization request state machine | 
|  | */ | 
|  | int ChannelsTraceActive; | 
|  | int ModemTraceActive; | 
|  | int FaxTraceActive; | 
|  | int IncomingCallsCallsActive; | 
|  | int IncomingCallsConnectedActive; | 
|  | int OutgoingCallsCallsActive; | 
|  | int OutgoingCallsConnectedActive; | 
|  |  | 
|  | int trace_mask_init; | 
|  | int audio_trace_init; | 
|  | int bchannel_init; | 
|  | int trace_length_init; | 
|  | int	trace_on; | 
|  | int trace_events_down; | 
|  | int l1_trace; | 
|  | int l2_trace; | 
|  |  | 
|  | /* | 
|  | Trace\Event Enable | 
|  | */ | 
|  | word trace_event_mask; | 
|  | word current_trace_event_mask; | 
|  |  | 
|  | dword audio_tap_mask; | 
|  | dword current_audio_tap_mask; | 
|  | dword current_eye_pattern_mask; | 
|  | int   audio_tap_pending; | 
|  | int   eye_pattern_pending; | 
|  |  | 
|  | dword bchannel_trace_mask; | 
|  | dword current_bchannel_trace_mask; | 
|  |  | 
|  |  | 
|  | diva_trace_line_state_t lines[30]; | 
|  |  | 
|  | int	parse_entries; | 
|  | int	cur_parse_entry; | 
|  | diva_strace_path2action_t* parse_table; | 
|  |  | 
|  | diva_trace_library_user_interface_t user_proc_table; | 
|  |  | 
|  | int line_parse_entry_first[30]; | 
|  | int line_parse_entry_last[30]; | 
|  |  | 
|  | int modem_parse_entry_first[30]; | 
|  | int modem_parse_entry_last[30]; | 
|  |  | 
|  | int fax_parse_entry_first[30]; | 
|  | int fax_parse_entry_last[30]; | 
|  |  | 
|  | int statistic_parse_first; | 
|  | int statistic_parse_last; | 
|  |  | 
|  | int mdm_statistic_parse_first; | 
|  | int mdm_statistic_parse_last; | 
|  |  | 
|  | int fax_statistic_parse_first; | 
|  | int fax_statistic_parse_last; | 
|  |  | 
|  | dword	line_init_event; | 
|  | dword	modem_init_event; | 
|  | dword	fax_init_event; | 
|  |  | 
|  | dword	pending_line_status; | 
|  | dword	pending_modem_status; | 
|  | dword	pending_fax_status; | 
|  |  | 
|  | dword clear_call_command; | 
|  |  | 
|  | int outgoing_ifc_stats; | 
|  | int incoming_ifc_stats; | 
|  | int modem_ifc_stats; | 
|  | int fax_ifc_stats; | 
|  | int b1_ifc_stats; | 
|  | int b2_ifc_stats; | 
|  | int d1_ifc_stats; | 
|  | int d2_ifc_stats; | 
|  |  | 
|  | diva_trace_interface_state_t Interface; | 
|  | diva_ifc_statistics_t				 InterfaceStat; | 
|  | } diva_strace_context_t; | 
|  |  | 
|  | typedef struct _diva_man_var_header { | 
|  | byte   escape; | 
|  | byte   length; | 
|  | byte   management_id; | 
|  | byte   type; | 
|  | byte   attribute; | 
|  | byte   status; | 
|  | byte   value_length; | 
|  | byte	 path_length; | 
|  | } diva_man_var_header_t; | 
|  |  | 
|  | #endif | 
|  |  |