Merge tag 'linux-kselftest-5.6-rc5' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-block.git] / include / uapi / linux / if_frad.h
CommitLineData
e2be04c7 1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
607ca46e
DH
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
32struct 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 */
46struct 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 */
84struct 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_ */