1#ifndef __HDLC_IOCTL_H__
2#define __HDLC_IOCTL_H__
3
4
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
37#ifndef __ASSEMBLY__
38
39typedef struct {
40	unsigned int clock_rate; /* bits per second */
41	unsigned int clock_type; /* internal, external, TX-internal etc. */
42	unsigned short loopback;
43} sync_serial_settings;          /* V.35, V.24, X.21 */
44
45typedef struct {
46	unsigned int clock_rate; /* bits per second */
47	unsigned int clock_type; /* internal, external, TX-internal etc. */
48	unsigned short loopback;
49	unsigned int slot_map;
50} te1_settings;                  /* T1, E1 */
51
52typedef struct {
53	unsigned short encoding;
54	unsigned short parity;
55} raw_hdlc_proto;
56
57typedef struct {
58	unsigned int t391;
59	unsigned int t392;
60	unsigned int n391;
61	unsigned int n392;
62	unsigned int n393;
63	unsigned short lmi;
64	unsigned short dce; /* 1 for DCE (network side) operation */
65} fr_proto;
66
67typedef struct {
68	unsigned int dlci;
69} fr_proto_pvc;          /* for creating/deleting FR PVCs */
70
71typedef struct {
72	unsigned int dlci;
73	char master[IFNAMSIZ];	/* Name of master FRAD device */
74}fr_proto_pvc_info;		/* for returning PVC information only */
75
76typedef struct {
77    unsigned int interval;
78    unsigned int timeout;
79} cisco_proto;
80
81/* PPP doesn't need any info now - supply length = 0 to ioctl */
82
83#endif /* __ASSEMBLY__ */
84#endif /* __HDLC_IOCTL_H__ */
85