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