Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / isdn / hardware / eicon / maintidi.h
diff --git a/kernel/drivers/isdn/hardware/eicon/maintidi.h b/kernel/drivers/isdn/hardware/eicon/maintidi.h
new file mode 100644 (file)
index 0000000..2b46147
--- /dev/null
@@ -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