Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / isdn / hisax / l3ni1.h
diff --git a/kernel/drivers/isdn/hisax/l3ni1.h b/kernel/drivers/isdn/hisax/l3ni1.h
new file mode 100644 (file)
index 0000000..99d37d2
--- /dev/null
@@ -0,0 +1,136 @@
+/* $Id: l3ni1.h,v 2.3.6.2 2001/09/23 22:24:50 kai Exp $
+ *
+ * NI1 D-channel protocol
+ *
+ * Author       Matt Henderson & Guy Ellis
+ * Copyright    by Traverse Technologies Pty Ltd, www.travers.com.au
+ *
+ * This software may be used and distributed according to the terms
+ * of the GNU General Public License, incorporated herein by reference.
+ *
+ * 2000.6.6 Initial implementation of routines for US NI1
+ * Layer 3 protocol based on the EURO/DSS1 D-channel protocol
+ * driver written by Karsten Keil et al.  Thanks also for the
+ * code provided by Ragnar Paulson.
+ *
+ */
+
+#ifndef l3ni1_process
+
+#define T302   15000
+#define T303   4000
+#define T304   30000
+#define T305   30000
+#define T308   4000
+/* for layer 1 certification T309 < layer1 T3 (e.g. 4000) */
+/* This makes some tests easier and quicker */
+#define T309   40000
+#define T310   30000
+#define T313   4000
+#define T318   4000
+#define T319   4000
+#define TSPID  5000 /* was 2000 - Guy Ellis */
+
+/*
+ * Message-Types
+ */
+
+#define MT_ALERTING            0x01
+#define MT_CALL_PROCEEDING     0x02
+#define MT_CONNECT             0x07
+#define MT_CONNECT_ACKNOWLEDGE 0x0f
+#define MT_PROGRESS            0x03
+#define MT_SETUP               0x05
+#define MT_SETUP_ACKNOWLEDGE   0x0d
+#define MT_RESUME              0x26
+#define MT_RESUME_ACKNOWLEDGE  0x2e
+#define MT_RESUME_REJECT       0x22
+#define MT_SUSPEND             0x25
+#define MT_SUSPEND_ACKNOWLEDGE 0x2d
+#define MT_SUSPEND_REJECT      0x21
+#define MT_USER_INFORMATION    0x20
+#define MT_DISCONNECT          0x45
+#define MT_RELEASE             0x4d
+#define MT_RELEASE_COMPLETE    0x5a
+#define MT_RESTART             0x46
+#define MT_RESTART_ACKNOWLEDGE 0x4e
+#define MT_SEGMENT             0x60
+#define MT_CONGESTION_CONTROL  0x79
+#define MT_INFORMATION         0x7b
+#define MT_FACILITY            0x62
+#define MT_NOTIFY              0x6e
+#define MT_STATUS              0x7d
+#define MT_STATUS_ENQUIRY      0x75
+#define MT_DL_ESTABLISHED      0xfe
+
+#define IE_SEGMENT     0x00
+#define IE_BEARER      0x04
+#define IE_CAUSE       0x08
+#define IE_CALL_ID     0x10
+#define IE_CALL_STATE  0x14
+#define IE_CHANNEL_ID  0x18
+#define IE_FACILITY    0x1c
+#define IE_PROGRESS    0x1e
+#define IE_NET_FAC     0x20
+#define IE_NOTIFY      0x27
+#define IE_DISPLAY     0x28
+#define IE_DATE                0x29
+#define IE_KEYPAD      0x2c
+#define IE_SIGNAL      0x34
+#define IE_SPID                0x3a
+#define IE_ENDPOINT_ID 0x3b
+#define IE_INFORATE    0x40
+#define IE_E2E_TDELAY  0x42
+#define IE_TDELAY_SEL  0x43
+#define IE_PACK_BINPARA        0x44
+#define IE_PACK_WINSIZE        0x45
+#define IE_PACK_SIZE   0x46
+#define IE_CUG         0x47
+#define        IE_REV_CHARGE   0x4a
+#define IE_CONNECT_PN  0x4c
+#define IE_CONNECT_SUB 0x4d
+#define IE_CALLING_PN  0x6c
+#define IE_CALLING_SUB 0x6d
+#define IE_CALLED_PN   0x70
+#define IE_CALLED_SUB  0x71
+#define IE_REDIR_NR    0x74
+#define IE_TRANS_SEL   0x78
+#define IE_RESTART_IND 0x79
+#define IE_LLC         0x7c
+#define IE_HLC         0x7d
+#define IE_USER_USER   0x7e
+#define IE_ESCAPE      0x7f
+#define IE_SHIFT       0x90
+#define IE_MORE_DATA   0xa0
+#define IE_COMPLETE    0xa1
+#define IE_CONGESTION  0xb0
+#define IE_REPEAT      0xd0
+
+#define IE_MANDATORY   0x0100
+/* mandatory not in every case */
+#define IE_MANDATORY_1 0x0200
+
+#define ERR_IE_COMPREHENSION    1
+#define ERR_IE_UNRECOGNIZED    -1
+#define ERR_IE_LENGTH          -2
+#define ERR_IE_SEQUENCE                -3
+
+#else /* only l3ni1_process */
+
+/* l3ni1 specific data in l3 process */
+typedef struct
+{ unsigned char invoke_id; /* used invoke id in remote ops, 0 = not active */
+       ulong ll_id; /* remebered ll id */
+       u8 remote_operation; /* handled remote operation, 0 = not active */
+       int proc; /* rememered procedure */
+       ulong remote_result; /* result of remote operation for statcallb */
+       char uus1_data[35]; /* data send during alerting or disconnect */
+} ni1_proc_priv;
+
+/* l3dni1 specific data in protocol stack */
+typedef struct
+{ unsigned char last_invoke_id; /* last used value for invoking */
+       unsigned char invoke_used[32]; /* 256 bits for 256 values */
+} ni1_stk_priv;
+
+#endif /* only l3dni1_process */