summaryrefslogtreecommitdiffstats
path: root/drivers/isdn/hardware/eicon/maintidi.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/isdn/hardware/eicon/maintidi.h')
-rw-r--r--drivers/isdn/hardware/eicon/maintidi.h171
1 files changed, 171 insertions, 0 deletions
diff --git a/drivers/isdn/hardware/eicon/maintidi.h b/drivers/isdn/hardware/eicon/maintidi.h
new file mode 100644
index 000000000..2b46147c5
--- /dev/null
+++ b/drivers/isdn/hardware/eicon/maintidi.h
@@ -0,0 +1,171 @@
+/*
+ *
+ 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