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