130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* 230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * DLCI/FRAD Definitions for Frame Relay Access Devices. DLCI devices are 330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * created for each DLCI associated with a FRAD. The FRAD driver 430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * is not truly a network device, but the lower level device 530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * handler. This allows other FRAD manufacturers to use the DLCI 630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * code, including its RFC1490 encapsulation alongside the current 730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * implementation for the Sangoma cards. 830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * 930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Version: @(#)if_ifrad.h 0.15 31 Mar 96 1030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * 1130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Author: Mike McLagan <mike.mclagan@linux.org> 1230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * 1330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Changes: 1430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * 0.15 Mike McLagan changed structure defs (packed) 1530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * re-arranged flags 1630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * added DLCI_RET vars 1730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * 1830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * This program is free software; you can redistribute it and/or 1930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * modify it under the terms of the GNU General Public License 2030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * as published by the Free Software Foundation; either version 2130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * 2 of the License, or (at your option) any later version. 2230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng */ 2330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 2430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#ifndef _UAPI_FRAD_H_ 2530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define _UAPI_FRAD_H_ 2630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 2730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#include <linux/if.h> 2830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 2930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* Structures and constants associated with the DLCI device driver */ 3030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 3130692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct dlci_add 3230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng{ 3330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng char devname[IFNAMSIZ]; 3430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short dlci; 3530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng}; 3630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 3730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define DLCI_GET_CONF (SIOCDEVPRIVATE + 2) 3830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define DLCI_SET_CONF (SIOCDEVPRIVATE + 3) 3930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 4030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* 4130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * These are related to the Sangoma SDLA and should remain in order. 4230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Code within the SDLA module is based on the specifics of this 4330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * structure. Change at your own peril. 4430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng */ 4530692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct dlci_conf { 4630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short flags; 4730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short CIR_fwd; 4830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short Bc_fwd; 4930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short Be_fwd; 5030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short CIR_bwd; 5130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short Bc_bwd; 5230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short Be_bwd; 5330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 5430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* these are part of the status read */ 5530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short Tc_fwd; 5630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short Tc_bwd; 5730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short Tf_max; 5830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short Tb_max; 5930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 6030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* add any new fields here above is a mirror of sdla_dlci_conf */ 6130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng}; 6230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 6330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define DLCI_GET_SLAVE (SIOCDEVPRIVATE + 4) 6430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 6530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* configuration flags for DLCI */ 6630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define DLCI_IGNORE_CIR_OUT 0x0001 6730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define DLCI_ACCOUNT_CIR_IN 0x0002 6830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define DLCI_BUFFER_IF 0x0008 6930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 7030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define DLCI_VALID_FLAGS 0x000B 7130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 7230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* defines for the actual Frame Relay hardware */ 7330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define FRAD_GET_CONF (SIOCDEVPRIVATE) 7430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define FRAD_SET_CONF (SIOCDEVPRIVATE + 1) 7530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 7630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define FRAD_LAST_IOCTL FRAD_SET_CONF 7730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 7830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* 7930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Based on the setup for the Sangoma SDLA. If changes are 8030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * necessary to this structure, a routine will need to be 8130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * added to that module to copy fields. 8230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng */ 8330692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct frad_conf 8430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng{ 8530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short station; 8630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short flags; 8730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short kbaud; 8830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short clocking; 8930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short mtu; 9030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short T391; 9130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short T392; 9230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short N391; 9330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short N392; 9430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short N393; 9530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short CIR_fwd; 9630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short Bc_fwd; 9730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short Be_fwd; 9830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short CIR_bwd; 9930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short Bc_bwd; 10030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng short Be_bwd; 10130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 10230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* Add new fields here, above is a mirror of the sdla_conf */ 10330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 10430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng}; 10530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 10630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define FRAD_STATION_CPE 0x0000 10730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define FRAD_STATION_NODE 0x0001 10830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 10930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define FRAD_TX_IGNORE_CIR 0x0001 11030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define FRAD_RX_ACCOUNT_CIR 0x0002 11130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define FRAD_DROP_ABORTED 0x0004 11230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define FRAD_BUFFERIF 0x0008 11330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define FRAD_STATS 0x0010 11430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define FRAD_MCI 0x0100 11530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define FRAD_AUTODLCI 0x8000 11630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define FRAD_VALID_FLAGS 0x811F 11730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 11830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define FRAD_CLOCK_INT 0x0001 11930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define FRAD_CLOCK_EXT 0x0000 12030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 12130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 12230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif /* _UAPI_FRAD_H_ */ 123