ioctl.h 2.9 KB

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