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 73 extern "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