| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* | 
|  | 2 | * | 
|  | 3 | Copyright (c) Eicon Networks, 2000. | 
|  | 4 | * | 
|  | 5 | This source file is supplied for the use with | 
|  | 6 | Eicon Networks range of DIVA Server Adapters. | 
|  | 7 | * | 
|  | 8 | Eicon File Revision :    1.9 | 
|  | 9 | * | 
|  | 10 | This program is free software; you can redistribute it and/or modify | 
|  | 11 | it under the terms of the GNU General Public License as published by | 
|  | 12 | the Free Software Foundation; either version 2, or (at your option) | 
|  | 13 | any later version. | 
|  | 14 | * | 
|  | 15 | This program is distributed in the hope that it will be useful, | 
|  | 16 | but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY | 
|  | 17 | implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 
|  | 18 | See the GNU General Public License for more details. | 
|  | 19 | * | 
|  | 20 | You should have received a copy of the GNU General Public License | 
|  | 21 | along with this program; if not, write to the Free Software | 
|  | 22 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 
|  | 23 | * | 
|  | 24 | */ | 
|  | 25 | #ifndef __DIVA_EICON_TRACE_IDI_IFC_H__ | 
|  | 26 | #define __DIVA_EICON_TRACE_IDI_IFC_H__ | 
|  | 27 |  | 
|  | 28 | void* SuperTraceOpenAdapter   (int AdapterNumber); | 
|  | 29 | int   SuperTraceCloseAdapter  (void* AdapterHandle); | 
|  | 30 | int   SuperTraceWrite         (void* AdapterHandle, | 
|  | 31 | const void* data, int length); | 
|  | 32 | int   SuperTraceReadRequest   (void* AdapterHandle,const char* name,byte* data); | 
|  | 33 | int   SuperTraceGetNumberOfChannels (void* AdapterHandle); | 
|  | 34 | int   SuperTraceASSIGN        (void* AdapterHandle, byte* data); | 
|  | 35 | int   SuperTraceREMOVE        (void* AdapterHandle); | 
|  | 36 | int   SuperTraceTraceOnRequest(void* hAdapter, const char* name, byte* data); | 
|  | 37 | int   SuperTraceWriteVar (void* AdapterHandle, | 
|  | 38 | byte* data, | 
|  | 39 | const char* name, | 
|  | 40 | void* var, | 
|  | 41 | byte type, | 
|  | 42 | byte var_length); | 
|  | 43 | int   SuperTraceExecuteRequest (void* AdapterHandle, | 
|  | 44 | const char* name, | 
|  | 45 | byte* data); | 
|  | 46 |  | 
|  | 47 | typedef struct _diva_strace_path2action { | 
|  | 48 | char               path[64]; /* Full path to variable            */ | 
|  | 49 | void*							 variable; /* Variable that will receive value */ | 
|  | 50 | } diva_strace_path2action_t; | 
|  | 51 |  | 
|  | 52 | #define DIVA_MAX_MANAGEMENT_TRANSFER_SIZE 4096 | 
|  | 53 |  | 
|  | 54 | typedef struct _diva_strace_context { | 
|  | 55 | diva_strace_library_interface_t	instance; | 
|  | 56 |  | 
|  | 57 | int   Adapter; | 
|  | 58 | void* hAdapter; | 
|  | 59 |  | 
|  | 60 | int Channels; | 
|  | 61 | int	req_busy; | 
|  | 62 |  | 
|  | 63 | ENTITY   e; | 
|  | 64 | IDI_CALL request; | 
|  | 65 | BUFFERS  XData; | 
|  | 66 | BUFFERS  RData; | 
|  | 67 | byte buffer[DIVA_MAX_MANAGEMENT_TRANSFER_SIZE + 1]; | 
|  | 68 | int removal_state; | 
|  | 69 | int general_b_ch_event; | 
|  | 70 | int general_fax_event; | 
|  | 71 | int general_mdm_event; | 
|  | 72 |  | 
|  | 73 | byte	rc_ok; | 
|  | 74 |  | 
|  | 75 | /* | 
|  | 76 | Initialization request state machine | 
|  | 77 | */ | 
|  | 78 | int ChannelsTraceActive; | 
|  | 79 | int ModemTraceActive; | 
|  | 80 | int FaxTraceActive; | 
|  | 81 | int IncomingCallsCallsActive; | 
|  | 82 | int IncomingCallsConnectedActive; | 
|  | 83 | int OutgoingCallsCallsActive; | 
|  | 84 | int OutgoingCallsConnectedActive; | 
|  | 85 |  | 
|  | 86 | int trace_mask_init; | 
|  | 87 | int audio_trace_init; | 
|  | 88 | int bchannel_init; | 
|  | 89 | int trace_length_init; | 
|  | 90 | int	trace_on; | 
|  | 91 | int trace_events_down; | 
|  | 92 | int l1_trace; | 
|  | 93 | int l2_trace; | 
|  | 94 |  | 
|  | 95 | /* | 
|  | 96 | Trace\Event Enable | 
|  | 97 | */ | 
|  | 98 | word trace_event_mask; | 
|  | 99 | word current_trace_event_mask; | 
|  | 100 |  | 
|  | 101 | dword audio_tap_mask; | 
|  | 102 | dword current_audio_tap_mask; | 
|  | 103 | dword current_eye_pattern_mask; | 
|  | 104 | int   audio_tap_pending; | 
|  | 105 | int   eye_pattern_pending; | 
|  | 106 |  | 
|  | 107 | dword bchannel_trace_mask; | 
|  | 108 | dword current_bchannel_trace_mask; | 
|  | 109 |  | 
|  | 110 |  | 
|  | 111 | diva_trace_line_state_t lines[30]; | 
|  | 112 |  | 
|  | 113 | int	parse_entries; | 
|  | 114 | int	cur_parse_entry; | 
|  | 115 | diva_strace_path2action_t* parse_table; | 
|  | 116 |  | 
|  | 117 | diva_trace_library_user_interface_t user_proc_table; | 
|  | 118 |  | 
|  | 119 | int line_parse_entry_first[30]; | 
|  | 120 | int line_parse_entry_last[30]; | 
|  | 121 |  | 
|  | 122 | int modem_parse_entry_first[30]; | 
|  | 123 | int modem_parse_entry_last[30]; | 
|  | 124 |  | 
|  | 125 | int fax_parse_entry_first[30]; | 
|  | 126 | int fax_parse_entry_last[30]; | 
|  | 127 |  | 
|  | 128 | int statistic_parse_first; | 
|  | 129 | int statistic_parse_last; | 
|  | 130 |  | 
|  | 131 | int mdm_statistic_parse_first; | 
|  | 132 | int mdm_statistic_parse_last; | 
|  | 133 |  | 
|  | 134 | int fax_statistic_parse_first; | 
|  | 135 | int fax_statistic_parse_last; | 
|  | 136 |  | 
|  | 137 | dword	line_init_event; | 
|  | 138 | dword	modem_init_event; | 
|  | 139 | dword	fax_init_event; | 
|  | 140 |  | 
|  | 141 | dword	pending_line_status; | 
|  | 142 | dword	pending_modem_status; | 
|  | 143 | dword	pending_fax_status; | 
|  | 144 |  | 
|  | 145 | dword clear_call_command; | 
|  | 146 |  | 
|  | 147 | int outgoing_ifc_stats; | 
|  | 148 | int incoming_ifc_stats; | 
|  | 149 | int modem_ifc_stats; | 
|  | 150 | int fax_ifc_stats; | 
|  | 151 | int b1_ifc_stats; | 
|  | 152 | int b2_ifc_stats; | 
|  | 153 | int d1_ifc_stats; | 
|  | 154 | int d2_ifc_stats; | 
|  | 155 |  | 
|  | 156 | diva_trace_interface_state_t Interface; | 
|  | 157 | diva_ifc_statistics_t				 InterfaceStat; | 
|  | 158 | } diva_strace_context_t; | 
|  | 159 |  | 
|  | 160 | typedef struct _diva_man_var_header { | 
|  | 161 | byte   escape; | 
|  | 162 | byte   length; | 
|  | 163 | byte   management_id; | 
|  | 164 | byte   type; | 
|  | 165 | byte   attribute; | 
|  | 166 | byte   status; | 
|  | 167 | byte   value_length; | 
|  | 168 | byte	 path_length; | 
|  | 169 | } diva_man_var_header_t; | 
|  | 170 |  | 
|  | 171 | #endif | 
|  | 172 |  |