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