blob: 583972364357764ec38d4ef91a95b080ed808659 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef __HDLC_IOCTL_H__
2#define __HDLC_IOCTL_H__
3
Krzysztof Halasaeb2a2fd2006-09-26 23:23:45 +02004
5#define GENERIC_HDLC_VERSION 4 /* For synchronization with sethdlc utility */
6
7#define CLOCK_DEFAULT 0 /* Default setting */
8#define CLOCK_EXT 1 /* External TX and RX clock - DTE */
9#define CLOCK_INT 2 /* Internal TX and RX clock - DCE */
10#define CLOCK_TXINT 3 /* Internal TX and external RX clock */
11#define CLOCK_TXFROMRX 4 /* TX clock derived from external RX clock */
12
13
14#define ENCODING_DEFAULT 0 /* Default setting */
15#define ENCODING_NRZ 1
16#define ENCODING_NRZI 2
17#define ENCODING_FM_MARK 3
18#define ENCODING_FM_SPACE 4
19#define ENCODING_MANCHESTER 5
20
21
22#define PARITY_DEFAULT 0 /* Default setting */
23#define PARITY_NONE 1 /* No parity */
24#define PARITY_CRC16_PR0 2 /* CRC16, initial value 0x0000 */
25#define PARITY_CRC16_PR1 3 /* CRC16, initial value 0xFFFF */
26#define PARITY_CRC16_PR0_CCITT 4 /* CRC16, initial 0x0000, ITU-T version */
27#define PARITY_CRC16_PR1_CCITT 5 /* CRC16, initial 0xFFFF, ITU-T version */
28#define PARITY_CRC32_PR0_CCITT 6 /* CRC32, initial value 0x00000000 */
29#define PARITY_CRC32_PR1_CCITT 7 /* CRC32, initial value 0xFFFFFFFF */
30
31#define LMI_DEFAULT 0 /* Default setting */
32#define LMI_NONE 1 /* No LMI, all PVCs are static */
33#define LMI_ANSI 2 /* ANSI Annex D */
34#define LMI_CCITT 3 /* ITU-T Annex A */
35#define LMI_CISCO 4 /* The "original" LMI, aka Gang of Four */
36
Linus Torvalds1da177e2005-04-16 15:20:36 -070037typedef struct {
38 unsigned int clock_rate; /* bits per second */
39 unsigned int clock_type; /* internal, external, TX-internal etc. */
40 unsigned short loopback;
41} sync_serial_settings; /* V.35, V.24, X.21 */
42
43typedef struct {
44 unsigned int clock_rate; /* bits per second */
45 unsigned int clock_type; /* internal, external, TX-internal etc. */
46 unsigned short loopback;
47 unsigned int slot_map;
48} te1_settings; /* T1, E1 */
49
50typedef struct {
51 unsigned short encoding;
52 unsigned short parity;
53} raw_hdlc_proto;
54
55typedef struct {
56 unsigned int t391;
57 unsigned int t392;
58 unsigned int n391;
59 unsigned int n392;
60 unsigned int n393;
61 unsigned short lmi;
62 unsigned short dce; /* 1 for DCE (network side) operation */
63} fr_proto;
64
65typedef struct {
66 unsigned int dlci;
67} fr_proto_pvc; /* for creating/deleting FR PVCs */
68
69typedef struct {
70 unsigned int dlci;
71 char master[IFNAMSIZ]; /* Name of master FRAD device */
72}fr_proto_pvc_info; /* for returning PVC information only */
73
74typedef struct {
75 unsigned int interval;
76 unsigned int timeout;
77} cisco_proto;
78
79/* PPP doesn't need any info now - supply length = 0 to ioctl */
80
81#endif /* __HDLC_IOCTL_H__ */