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