linux/include/uapi/linux/hdlc/ioctl.h
<<
>>
Prefs
   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            1
  17#define ENCODING_NRZI           2
  18#define ENCODING_FM_MARK        3
  19#define ENCODING_FM_SPACE       4
  20#define ENCODING_MANCHESTER     5
  21
  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