173 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			173 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  *
 | |
|   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
 | |
| 
 |