blob: f879aae70a832f153e469058ae417053a5c65088 [file]
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
module core.sys.linux.hdlc.ioctl;
import core.sys.linux.net.if_ : IFNAMSIZ;
version (linux):
extern(C):
@nogc:
nothrow:
enum GENERIC_HDLC_VERSION = 4; /* For synchronization with sethdlc utility */
enum CLOCK_DEFAULT = 0; /* Default setting */
enum CLOCK_EXT = 1; /* External TX and RX clock - DTE */
enum CLOCK_INT = 2; /* Internal TX and RX clock - DCE */
enum CLOCK_TXINT = 3; /* Internal TX and external RX clock */
enum CLOCK_TXFROMRX = 4; /* TX clock derived from external RX clock */
enum ENCODING_DEFAULT = 0; /* Default setting */
enum ENCODING_NRZ = 1;
enum ENCODING_NRZI = 2;
enum ENCODING_FM_MARK = 3;
enum ENCODING_FM_SPACE = 4;
enum ENCODING_MANCHESTER = 5;
enum PARITY_DEFAULT = 0; /* Default setting */
enum PARITY_NONE = 1; /* No parity */
enum PARITY_CRC16_PR0 = 2; /* CRC16, initial value 0x0000 */
enum PARITY_CRC16_PR1 = 3; /* CRC16, initial value 0xFFFF */
enum PARITY_CRC16_PR0_CCITT = 4; /* CRC16, initial 0x0000, ITU-T version */
enum PARITY_CRC16_PR1_CCITT = 5; /* CRC16, initial 0xFFFF, ITU-T version */
enum PARITY_CRC32_PR0_CCITT = 6; /* CRC32, initial value 0x00000000 */
enum PARITY_CRC32_PR1_CCITT = 7; /* CRC32, initial value 0xFFFFFFFF */
enum LMI_DEFAULT = 0; /* Default setting */
enum LMI_NONE = 1; /* No LMI, all PVCs are static */
enum LMI_ANSI = 2; /* ANSI Annex D */
enum LMI_CCITT = 3; /* ITU-T Annex A */
enum LMI_CISCO = 4; /* The "original" LMI, aka Gang of Four */
struct sync_serial_settings {
uint clock_rate; /* bits per second */
uint clock_type; /* internal, external, TX-internal etc. */
ushort loopback;
} /* V.35, V.24, X.21 */
struct te1_settings{
uint clock_rate; /* bits per second */
uint clock_type; /* internal, external, TX-internal etc. */
ushort loopback;
uint slot_map;
} /* T1, E1 */
struct raw_hdlc_proto {
ushort encoding;
ushort parity;
}
struct fr_proto {
uint t391;
uint t392;
uint n391;
uint n392;
uint n393;
ushort lmi;
ushort dce; /* 1 for DCE (network side) operation */
}
struct fr_proto_pvc {
uint dlci;
} /* for creating/deleting FR PVCs */
struct fr_proto_pvc_info {
uint dlci;
char[IFNAMSIZ] master = 0; /* Name of master FRAD device */
} /* for returning PVC information only */
struct cisco_proto {
uint interval;
uint timeout;
}
struct x25_hdlc_proto {
ushort dce; /* 1 for DCE (network side) operation */
uint modulo; /* modulo (8 = basic / 128 = extended) */
uint window; /* frame window size */
uint t1; /* timeout t1 */
uint t2; /* timeout t2 */
uint n2; /* frame retry counter */
}