1/* 2 * $Id: sbew_ioc.h,v 1.0 2005/09/28 00:10:10 rickd PMCC4_3_1B $ 3 */ 4 5#ifndef _INC_SBEWIOC_H_ 6#define _INC_SBEWIOC_H_ 7 8/*----------------------------------------------------------------------------- 9 * sbew_ioc.h - 10 * 11 * Copyright (C) 2002-2005 SBE, Inc. 12 * 13 * This program is free software; you can redistribute it and/or modify 14 * it under the terms of the GNU General Public License as published by 15 * the Free Software Foundation; either version 2 of the License, or 16 * (at your option) any later version. 17 * 18 * This program is distributed in the hope that it will be useful, 19 * but WITHOUT ANY WARRANTY; without even the implied warranty of 20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 * GNU General Public License for more details. 22 * 23 * For further information, contact via email: support@sbei.com 24 * SBE, Inc. San Ramon, California U.S.A. 25 * 26 *----------------------------------------------------------------------------- 27 * RCS info: 28 * RCS revision: $Revision: 1.0 $ 29 * Last changed on $Date: 2005/09/28 00:10:10 $ 30 * Changed by $Author: rickd $ 31 *----------------------------------------------------------------------------- 32 * $Log: sbew_ioc.h,v $ 33 * Revision 1.0 2005/09/28 00:10:10 rickd 34 * Initial revision 35 * 36 * Revision 1.6 2005/01/11 18:41:01 rickd 37 * Add BRDADDR_GET Ioctl. 38 * 39 * Revision 1.5 2004/09/16 18:55:59 rickd 40 * Start setting up for generic framer configuration Ioctl by switch 41 * from tect3_framer_param[] to sbecom_framer_param[]. 42 * 43 * Revision 1.4 2004/06/28 17:58:15 rickd 44 * Rename IOC_TSMAP_[GS] to IOC_TSIOC_[GS] to support need for 45 * multiple formats of data when setting up TimeSlots. 46 * 47 * Revision 1.3 2004/06/22 21:18:13 rickd 48 * read_vec now() ONLY handles a single common wrt_vec array. 49 * 50 * Revision 1.1 2004/06/10 18:11:34 rickd 51 * Add IID_GET Ioctl reference. 52 * 53 * Revision 1.0 2004/06/08 22:59:38 rickd 54 * Initial revision 55 * 56 * Revision 2.0 2004/06/07 17:49:47 rickd 57 * Initial library release following merge of wanc1t3/wan256 into 58 * common elements for lib. 59 * 60 *----------------------------------------------------------------------------- 61 */ 62 63#ifndef __KERNEL__ 64#include <sys/types.h> 65#endif 66#ifdef SunOS 67#include <sys/ioccom.h> 68#else 69#include <linux/ioctl.h> 70#endif 71 72#ifdef __cplusplus 73extern "C" 74{ 75#endif 76 77#define SBE_LOCKFILE "/tmp/.sbewan.LCK" 78 79#define SBE_IOC_COOKIE 0x19780926 80#define SBE_IOC_MAGIC ('s') 81 82/* IOW write - data has to go into driver from application */ 83/* IOR read - data has to be returned to application from driver */ 84 85/* 86 * Note: for an IOWR Ioctl, the read and write data do not have to 87 * be the same size, but the entity declared within the IOC must be 88 * the larger of the two. 89 */ 90 91#define SBE_IOC_LOGLEVEL _IOW(SBE_IOC_MAGIC, 0x00, int) 92#define SBE_IOC_CHAN_NEW _IOW(SBE_IOC_MAGIC, 0x01,int) /* unused */ 93#define SBE_IOC_CHAN_UP _IOW(SBE_IOC_MAGIC, 0x02,int) /* unused */ 94#define SBE_IOC_CHAN_DOWN _IOW(SBE_IOC_MAGIC, 0x03,int) /* unused */ 95#define SBE_IOC_CHAN_GET _IOWR(SBE_IOC_MAGIC,0x04, struct sbecom_chan_param) 96#define SBE_IOC_CHAN_SET _IOW(SBE_IOC_MAGIC, 0x05, struct sbecom_chan_param) 97#define SBE_IOC_CHAN_GET_STAT _IOWR(SBE_IOC_MAGIC,0x06, struct sbecom_chan_stats) 98#define SBE_IOC_CHAN_DEL_STAT _IOW(SBE_IOC_MAGIC, 0x07, int) 99#define SBE_IOC_PORTS_ENABLE _IOW(SBE_IOC_MAGIC, 0x0A, int) 100#define SBE_IOC_PORT_GET _IOWR(SBE_IOC_MAGIC,0x0C, struct sbecom_port_param) 101#define SBE_IOC_PORT_SET _IOW(SBE_IOC_MAGIC, 0x0D, struct sbecom_port_param) 102#define SBE_IOC_READ_VEC _IOWR(SBE_IOC_MAGIC,0x10, struct sbecom_wrt_vec) 103#define SBE_IOC_WRITE_VEC _IOWR(SBE_IOC_MAGIC,0x11, struct sbecom_wrt_vec) 104#define SBE_IOC_GET_SN _IOR(SBE_IOC_MAGIC, 0x12, u_int32_t) 105#define SBE_IOC_RESET_DEV _IOW(SBE_IOC_MAGIC, 0x13, int) 106#define SBE_IOC_FRAMER_GET _IOWR(SBE_IOC_MAGIC,0x14, struct sbecom_framer_param) 107#define SBE_IOC_FRAMER_SET _IOW(SBE_IOC_MAGIC, 0x15, struct sbecom_framer_param) 108#define SBE_IOC_CARD_GET _IOR(SBE_IOC_MAGIC, 0x20, struct sbecom_card_param) 109#define SBE_IOC_CARD_SET _IOW(SBE_IOC_MAGIC, 0x21, struct sbecom_card_param) 110#define SBE_IOC_CARD_GET_STAT _IOR(SBE_IOC_MAGIC, 0x22, struct temux_card_stats) 111#define SBE_IOC_CARD_DEL_STAT _IO(SBE_IOC_MAGIC, 0x23) 112#define SBE_IOC_CARD_CHAN_STAT _IOR(SBE_IOC_MAGIC, 0x24, struct sbecom_chan_stats) 113#define SBE_IOC_CARD_BLINK _IOW(SBE_IOC_MAGIC, 0x30, int) 114#define SBE_IOC_DRVINFO_GET _IOWR(SBE_IOC_MAGIC,0x31, struct sbe_drv_info) 115#define SBE_IOC_BRDINFO_GET _IOR(SBE_IOC_MAGIC, 0x32, struct sbe_brd_info) 116#define SBE_IOC_IID_GET _IOWR(SBE_IOC_MAGIC,0x33, struct sbe_iid_info) 117#define SBE_IOC_BRDADDR_GET _IOWR(SBE_IOC_MAGIC, 0x34, struct sbe_brd_addr) 118 119#ifdef NOT_YET_COMMON 120#define SBE_IOC_TSIOC_GET _IOWR(SBE_IOC_MAGIC,0x16, struct wanc1t3_ts_param) 121#define SBE_IOC_TSIOC_SET _IOW(SBE_IOC_MAGIC, 0x17, struct wanc1t3_ts_param) 122#endif 123 124/* 125 * Restrict SBE_IOC_WRITE_VEC & READ_VEC to a single parameter pair, application 126 * then must issue multiple Ioctls for large blocks of contiguous data. 127 */ 128 129#define SBE_IOC_MAXVEC 1 130 131 132#ifdef __cplusplus 133} 134#endif 135 136#endif /*** _INC_SBEWIOC_H_ ***/ 137