summaryrefslogtreecommitdiffstats
path: root/drivers/isdn/hardware/eicon/man_defs.h
blob: 249c471700e79168afe629a62403ae1888853fa9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
/*
 *
 Copyright (c) Eicon Networks, 2002.
 *
 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.
 *
 */
/* Definitions for use with the Management Information Element      */

/*------------------------------------------------------------------*/
/* Management information element                                   */
/* ----------------------------------------------------------       */
/* Byte     Coding            Comment                               */
/* ----------------------------------------------------------       */
/*    0 | 0 1 1 1 1 1 1 1 | ESC                                     */
/*    1 | 0 x x x x x x x | Length of information element (m-1)     */
/*    2 | 1 0 0 0 0 0 0 0 | Management Information Id               */
/*    3 | x x x x x x x x | Type                                    */
/*    4 | x x x x x x x x | Attribute                               */
/*    5 | x x x x x x x x | Status                                  */
/*    6 | x x x x x x x x | Variable Value Length (m-n)             */
/*    7 | x x x x x x x x | Path / Variable Name String Length (n-8)*/
/* 8..n | x x x x x x x x | Path/Node Name String separated by '\'  */
/* n..m | x x x x x x x x | Variable content                        */
/*------------------------------------------------------------------*/

/*------------------------------------------------------------------*/
/* Type Field                                                       */
/*                                                                  */
/* MAN_READ:      not used                                          */
/* MAN_WRITE:     not used                                          */
/* MAN_EVENT_ON:  not used                                          */
/* MAN_EVENT_OFF: not used                                          */
/* MAN_INFO_IND:  type of variable                                  */
/* MAN_EVENT_IND: type of variable                                  */
/* MAN_TRACE_IND  not used                                          */
/*------------------------------------------------------------------*/
#define MI_DIR          0x01  /* Directory string (zero terminated) */
#define MI_EXECUTE      0x02  /* Executable function (has no value) */
#define MI_ASCIIZ       0x03  /* Zero terminated string             */
#define MI_ASCII        0x04  /* String, first byte is length       */
#define MI_NUMBER       0x05  /* Number string, first byte is length*/
#define MI_TRACE        0x06  /* Trace information, format see below*/

#define MI_FIXED_LENGTH 0x80  /* get length from MAN_INFO max_len   */
#define MI_INT          0x81  /* number to display as signed int    */
#define MI_UINT         0x82  /* number to display as unsigned int  */
#define MI_HINT         0x83  /* number to display in hex format    */
#define MI_HSTR         0x84  /* number to display as a hex string  */
#define MI_BOOLEAN      0x85  /* number to display as boolean       */
#define MI_IP_ADDRESS   0x86  /* number to display as IP address    */
#define MI_BITFLD       0x87  /* number to display as bit field     */
#define MI_SPID_STATE   0x88  /* state# of SPID initialisation      */

/*------------------------------------------------------------------*/
/* Attribute Field                                                  */
/*                                                                  */
/* MAN_READ:      not used                                          */
/* MAN_WRITE:     not used                                          */
/* MAN_EVENT_ON:  not used                                          */
/* MAN_EVENT_OFF: not used                                          */
/* MAN_INFO_IND:  set according to capabilities of that variable    */
/* MAN_EVENT_IND: not used                                          */
/* MAN_TRACE_IND  not used                                          */
/*------------------------------------------------------------------*/
#define MI_WRITE        0x01  /* Variable is writeable              */
#define MI_EVENT        0x02  /* Variable can indicate changes      */

/*------------------------------------------------------------------*/
/* Status Field                                                     */
/*                                                                  */
/* MAN_READ:      not used                                          */
/* MAN_WRITE:     not used                                          */
/* MAN_EVENT_ON:  not used                                          */
/* MAN_EVENT_OFF: not used                                          */
/* MAN_INFO_IND:  set according to the actual status                */
/* MAN_EVENT_IND: set according to the actual statu                 */
/* MAN_TRACE_IND  not used                                          */
/*------------------------------------------------------------------*/
#define MI_LOCKED       0x01  /* write protected by another instance*/
#define MI_EVENT_ON     0x02  /* Event logging switched on          */
#define MI_PROTECTED    0x04  /* write protected by this instance   */

/*------------------------------------------------------------------*/
/* Data Format used for MAN_TRACE_IND (no MI-element used)          */
/*------------------------------------------------------------------*/
typedef struct mi_xlog_hdr_s MI_XLOG_HDR;
struct mi_xlog_hdr_s
{
	unsigned long  time;   /* Timestamp in msec units                 */
	unsigned short size;   /* Size of data that follows               */
	unsigned short code;   /* code of trace event                     */
};                       /* unspecified data follows this header    */

/*------------------------------------------------------------------*/
/* Trace mask definitions for trace events except B channel and     */
/* debug trace events                                               */
/*------------------------------------------------------------------*/
#define TM_D_CHAN   0x0001  /* D-Channel        (D-.) Code 3,4      */
#define TM_L_LAYER  0x0002  /* Low Layer        (LL)  Code 6,7      */
#define TM_N_LAYER  0x0004  /* Network Layer    (N)   Code 14,15    */
#define TM_DL_ERR   0x0008  /* Data Link Error  (MDL) Code 9        */
#define TM_LAYER1   0x0010  /* Layer 1                Code 20       */
#define TM_C_COMM   0x0020  /* Call Comment     (SIG) Code 5,21,22  */
#define TM_M_DATA   0x0040  /* Modulation Data  (EYE) Code 23       */
#define TM_STRING   0x0080  /* Sting data             Code 24       */
#define TM_N_USED2  0x0100  /* not used                             */
#define TM_N_USED3  0x0200  /* not used                             */
#define TM_N_USED4  0x0400  /* not used                             */
#define TM_N_USED5  0x0800  /* not used                             */
#define TM_N_USED6  0x1000  /* not used                             */
#define TM_N_USED7  0x2000  /* not used                             */
#define TM_N_USED8  0x4000  /* not used                             */
#define TM_REST     0x8000  /* Codes 10,11,12,13,16,18,19,128,129   */

/*------ End of file -----------------------------------------------*/