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
							 | 
						||
| 
								 | 
							
								
							 |