Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
ctrl.h
Go to the documentation of this file.
1 /*
2  * SBE 2T3E3 synchronous serial card driver for Linux
3  *
4  * Copyright (C) 2009-2010 Krzysztof Halasa <[email protected]>
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms of version 2 of the GNU General Public License
8  * as published by the Free Software Foundation.
9  *
10  * This code is based on a driver written by SBE Inc.
11  */
12 
13 #ifndef CTRL_H
14 #define CTRL_H
15 
16 #define SBE_2T3E3_OFF 0
17 #define SBE_2T3E3_ON 1
18 
19 #define SBE_2T3E3_LED_NONE 0
20 #define SBE_2T3E3_LED_GREEN 1
21 #define SBE_2T3E3_LED_YELLOW 2
22 
23 #define SBE_2T3E3_CABLE_LENGTH_LESS_THAN_255_FEET 0
24 #define SBE_2T3E3_CABLE_LENGTH_GREATER_THAN_255_FEET 1
25 
26 #define SBE_2T3E3_CRC_16 0
27 #define SBE_2T3E3_CRC_32 1
28 
29 #define SBE_2T3E3_PANEL_FRONT 0
30 #define SBE_2T3E3_PANEL_REAR 1
31 
32 #define SBE_2T3E3_FRAME_MODE_HDLC 0
33 #define SBE_2T3E3_FRAME_MODE_TRANSPARENT 1
34 #define SBE_2T3E3_FRAME_MODE_RAW 2
35 
36 #define SBE_2T3E3_FRAME_TYPE_E3_G751 0
37 #define SBE_2T3E3_FRAME_TYPE_E3_G832 1
38 #define SBE_2T3E3_FRAME_TYPE_T3_CBIT 2
39 #define SBE_2T3E3_FRAME_TYPE_T3_M13 3
40 
41 #define SBE_2T3E3_FRACTIONAL_MODE_NONE 0
42 #define SBE_2T3E3_FRACTIONAL_MODE_0 1
43 #define SBE_2T3E3_FRACTIONAL_MODE_1 2
44 #define SBE_2T3E3_FRACTIONAL_MODE_2 3
45 
46 #define SBE_2T3E3_SCRAMBLER_OFF 0
47 #define SBE_2T3E3_SCRAMBLER_LARSCOM 1
48 #define SBE_2T3E3_SCRAMBLER_ADC_KENTROX_DIGITAL 2
49 
50 #define SBE_2T3E3_TIMING_LOCAL 0
51 #define SBE_2T3E3_TIMING_LOOP 1
52 
53 #define SBE_2T3E3_LOOPBACK_NONE 0
54 #define SBE_2T3E3_LOOPBACK_ETHERNET 1
55 #define SBE_2T3E3_LOOPBACK_FRAMER 2
56 #define SBE_2T3E3_LOOPBACK_LIU_DIGITAL 3
57 #define SBE_2T3E3_LOOPBACK_LIU_ANALOG 4
58 #define SBE_2T3E3_LOOPBACK_LIU_REMOTE 5
59 
60 #define SBE_2T3E3_PAD_COUNT_1 1
61 #define SBE_2T3E3_PAD_COUNT_2 2
62 #define SBE_2T3E3_PAD_COUNT_3 3
63 #define SBE_2T3E3_PAD_COUNT_4 4
64 
65 #define SBE_2T3E3_CHIP_21143 0
66 #define SBE_2T3E3_CHIP_CPLD 1
67 #define SBE_2T3E3_CHIP_FRAMER 2
68 #define SBE_2T3E3_CHIP_LIU 3
69 
70 #define SBE_2T3E3_LOG_LEVEL_NONE 0
71 #define SBE_2T3E3_LOG_LEVEL_ERROR 1
72 #define SBE_2T3E3_LOG_LEVEL_WARNING 2
73 #define SBE_2T3E3_LOG_LEVEL_INFO 3
74 
75 /* commands */
76 #define SBE_2T3E3_PORT_GET 0
77 #define SBE_2T3E3_PORT_SET 1
78 #define SBE_2T3E3_PORT_GET_STATS 2
79 #define SBE_2T3E3_PORT_DEL_STATS 3
80 #define SBE_2T3E3_PORT_READ_REGS 4
81 #define SBE_2T3E3_LOG_LEVEL 5
82 #define SBE_2T3E3_PORT_WRITE_REGS 6
83 
84 #define NG_SBE_2T3E3_NODE_TYPE "sbe2T3E3"
85 #define NG_SBE_2T3E3_COOKIE 0x03800891
86 
87 typedef struct t3e3_param {
88  u_int8_t frame_mode; /* FRAME_MODE_* */
89  u_int8_t crc; /* CRC_* */
90  u_int8_t receiver_on; /* ON/OFF */
91  u_int8_t transmitter_on; /* ON/OFF */
92  u_int8_t frame_type; /* FRAME_TYPE_* */
93  u_int8_t panel; /* PANEL_* */
94  u_int8_t line_build_out; /* ON/OFF */
97  u_int8_t loopback; /* LOOPBACK_* */
98  u_int8_t clock_source; /* TIMING_* */
99  u_int8_t scrambler; /* SCRAMBLER_* */
100  u_int8_t pad_count; /* PAD_COUNT_* */
101  u_int8_t log_level; /* LOG_LEVEL_* - unused */
102  u_int8_t fractional_mode; /* FRACTIONAL_MODE_* */
105 } t3e3_param_t;
106 
107 typedef struct t3e3_stats {
108  u_int64_t in_bytes;
112  u_int64_t out_bytes;
120 } t3e3_stats_t;
121 
122 
123 typedef struct t3e3_resp {
124  union {
128  } u;
129 } t3e3_resp_t;
130 
131 #endif /* CTRL_H */