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