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