brintos

brintos / linux-shallow public Read only

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