]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blob - include/uapi/linux/if_frad.h
Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[mirror_ubuntu-focal-kernel.git] / include / uapi / linux / if_frad.h
1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
2 /*
3 * DLCI/FRAD Definitions for Frame Relay Access Devices. DLCI devices are
4 * created for each DLCI associated with a FRAD. The FRAD driver
5 * is not truly a network device, but the lower level device
6 * handler. This allows other FRAD manufacturers to use the DLCI
7 * code, including its RFC1490 encapsulation alongside the current
8 * implementation for the Sangoma cards.
9 *
10 * Version: @(#)if_ifrad.h 0.15 31 Mar 96
11 *
12 * Author: Mike McLagan <mike.mclagan@linux.org>
13 *
14 * Changes:
15 * 0.15 Mike McLagan changed structure defs (packed)
16 * re-arranged flags
17 * added DLCI_RET vars
18 *
19 * This program is free software; you can redistribute it and/or
20 * modify it under the terms of the GNU General Public License
21 * as published by the Free Software Foundation; either version
22 * 2 of the License, or (at your option) any later version.
23 */
24
25 #ifndef _UAPI_FRAD_H_
26 #define _UAPI_FRAD_H_
27
28 #include <linux/if.h>
29
30 /* Structures and constants associated with the DLCI device driver */
31
32 struct dlci_add
33 {
34 char devname[IFNAMSIZ];
35 short dlci;
36 };
37
38 #define DLCI_GET_CONF (SIOCDEVPRIVATE + 2)
39 #define DLCI_SET_CONF (SIOCDEVPRIVATE + 3)
40
41 /*
42 * These are related to the Sangoma SDLA and should remain in order.
43 * Code within the SDLA module is based on the specifics of this
44 * structure. Change at your own peril.
45 */
46 struct dlci_conf {
47 short flags;
48 short CIR_fwd;
49 short Bc_fwd;
50 short Be_fwd;
51 short CIR_bwd;
52 short Bc_bwd;
53 short Be_bwd;
54
55 /* these are part of the status read */
56 short Tc_fwd;
57 short Tc_bwd;
58 short Tf_max;
59 short Tb_max;
60
61 /* add any new fields here above is a mirror of sdla_dlci_conf */
62 };
63
64 #define DLCI_GET_SLAVE (SIOCDEVPRIVATE + 4)
65
66 /* configuration flags for DLCI */
67 #define DLCI_IGNORE_CIR_OUT 0x0001
68 #define DLCI_ACCOUNT_CIR_IN 0x0002
69 #define DLCI_BUFFER_IF 0x0008
70
71 #define DLCI_VALID_FLAGS 0x000B
72
73 /* defines for the actual Frame Relay hardware */
74 #define FRAD_GET_CONF (SIOCDEVPRIVATE)
75 #define FRAD_SET_CONF (SIOCDEVPRIVATE + 1)
76
77 #define FRAD_LAST_IOCTL FRAD_SET_CONF
78
79 /*
80 * Based on the setup for the Sangoma SDLA. If changes are
81 * necessary to this structure, a routine will need to be
82 * added to that module to copy fields.
83 */
84 struct frad_conf
85 {
86 short station;
87 short flags;
88 short kbaud;
89 short clocking;
90 short mtu;
91 short T391;
92 short T392;
93 short N391;
94 short N392;
95 short N393;
96 short CIR_fwd;
97 short Bc_fwd;
98 short Be_fwd;
99 short CIR_bwd;
100 short Bc_bwd;
101 short Be_bwd;
102
103 /* Add new fields here, above is a mirror of the sdla_conf */
104
105 };
106
107 #define FRAD_STATION_CPE 0x0000
108 #define FRAD_STATION_NODE 0x0001
109
110 #define FRAD_TX_IGNORE_CIR 0x0001
111 #define FRAD_RX_ACCOUNT_CIR 0x0002
112 #define FRAD_DROP_ABORTED 0x0004
113 #define FRAD_BUFFERIF 0x0008
114 #define FRAD_STATS 0x0010
115 #define FRAD_MCI 0x0100
116 #define FRAD_AUTODLCI 0x8000
117 #define FRAD_VALID_FLAGS 0x811F
118
119 #define FRAD_CLOCK_INT 0x0001
120 #define FRAD_CLOCK_EXT 0x0000
121
122
123 #endif /* _UAPI_FRAD_H_ */