Merge tag 'linux-can-next-for-4.12-20170427' of git://git.kernel.org/pub/scm/linux...
[linux-2.6/btrfs-unstable.git] / include / uapi / linux / hdlc / ioctl.h
blob04bc0274a1898936fc19fedf6f282a4da8606709
1 #ifndef __HDLC_IOCTL_H__
2 #define __HDLC_IOCTL_H__
5 #define GENERIC_HDLC_VERSION 4 /* For synchronization with sethdlc utility */
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 */
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
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 */
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 */
37 #ifndef __ASSEMBLY__
39 typedef 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 */
45 typedef 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 */
52 typedef struct {
53 unsigned short encoding;
54 unsigned short parity;
55 } raw_hdlc_proto;
57 typedef 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;
67 typedef struct {
68 unsigned int dlci;
69 } fr_proto_pvc; /* for creating/deleting FR PVCs */
71 typedef struct {
72 unsigned int dlci;
73 char master[IFNAMSIZ]; /* Name of master FRAD device */
74 }fr_proto_pvc_info; /* for returning PVC information only */
76 typedef struct {
77 unsigned int interval;
78 unsigned int timeout;
79 } cisco_proto;
81 /* PPP doesn't need any info now - supply length = 0 to ioctl */
83 #endif /* __ASSEMBLY__ */
84 #endif /* __HDLC_IOCTL_H__ */