//--------------------------------------------------------------------------- // FT1000 driver for Flarion Flash OFDM NIC Device // // Copyright (C) 2002 Flarion Technologies, All rights reserved. // // This program is free software; you can redistribute it and/or modify it // under the terms of the GNU General Public License as published by the Free // Software Foundation; either version 2 of the License, or (at your option) any // later version. This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY // or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. You should have received a copy of the GNU General Public // License along with this program; if not, write to the // Free Software Foundation, Inc., 59 Temple Place - // Suite 330, Boston, MA 02111-1307, USA. //--------------------------------------------------------------------------- // // File: ft1000_ioctl.h // // Description: Common structures and defines relating to IOCTL // // History: // 11/5/02 Whc Created. // //---------------------------------------------------------------------------//--------------------------------------------------------------------------- #ifndef _FT1000IOCTLH_ #define _FT1000IOCTLH_ typedef struct _IOCTL_GET_VER { unsigned long drv_ver; } __attribute__ ((packed)) IOCTL_GET_VER, *PIOCTL_GET_VER; //Data structure for Dsp statistics typedef struct _IOCTL_GET_DSP_STAT { unsigned char DspVer[DSPVERSZ]; // DSP version number unsigned char HwSerNum[HWSERNUMSZ]; // Hardware Serial Number unsigned char Sku[SKUSZ]; // SKU unsigned char eui64[EUISZ]; // EUI64 unsigned short ConStat; // Connection Status // Bits 0-3 = Connection Status Field // 0000=Idle (Disconnect) // 0001=Searching // 0010=Active (Connected) // 0011=Waiting for L2 down // 0100=Sleep unsigned short LedStat; // Led Status // Bits 0-3 = Signal Strength Field // 0000 = -105dBm to -92dBm // 0001 = -92dBm to -85dBm // 0011 = -85dBm to -75dBm // 0111 = -75dBm to -50dBm // 1111 = -50dBm to 0dBm // Bits 4-7 = Reserved // Bits 8-11 = SNR Field // 0000 = <2dB // 0001 = 2dB to 8dB // 0011 = 8dB to 15dB // 0111 = 15dB to 22dB // 1111 = >22dB // Bits 12-15 = Reserved unsigned long nTxPkts; // Number of packets transmitted from host to dsp unsigned long nRxPkts; // Number of packets received from dsp to host unsigned long nTxBytes; // Number of bytes transmitted from host to dsp unsigned long nRxBytes; // Number of bytes received from dsp to host unsigned long ConTm; // Current session connection time in seconds unsigned char CalVer[CALVERSZ]; // Proprietary Calibration Version unsigned char CalDate[CALDATESZ]; // Proprietary Calibration Date } __attribute__ ((packed)) IOCTL_GET_DSP_STAT, *PIOCTL_GET_DSP_STAT; //Data structure for Dual Ported RAM messaging between Host and Dsp typedef struct _IOCTL_DPRAM_BLK { unsigned short total_len; struct pseudo_hdr pseudohdr; unsigned char buffer[1780]; } __attribute__ ((packed)) IOCTL_DPRAM_BLK, *PIOCTL_DPRAM_BLK; typedef struct _IOCTL_DPRAM_COMMAND { unsigned short extra; IOCTL_DPRAM_BLK dpram_blk; } __attribute__ ((packed)) IOCTL_DPRAM_COMMAND, *PIOCTL_DPRAM_COMMAND; // // Custom IOCTL command codes // #define FT1000_MAGIC_CODE 'F' #define IOCTL_REGISTER_CMD 0 #define IOCTL_SET_DPRAM_CMD 3 #define IOCTL_GET_DPRAM_CMD 4 #define IOCTL_GET_DSP_STAT_CMD 6 #define IOCTL_GET_VER_CMD 7 #define IOCTL_CONNECT 10 #define IOCTL_DISCONNECT 11 #define IOCTL_FT1000_GET_DSP_STAT _IOR (FT1000_MAGIC_CODE, IOCTL_GET_DSP_STAT_CMD, sizeof(IOCTL_GET_DSP_STAT) ) #define IOCTL_FT1000_GET_VER _IOR (FT1000_MAGIC_CODE, IOCTL_GET_VER_CMD, sizeof(IOCTL_GET_VER) ) #define IOCTL_FT1000_CONNECT _IOW (FT1000_MAGIC_CODE, IOCTL_CONNECT, 0 ) #define IOCTL_FT1000_DISCONNECT _IOW (FT1000_MAGIC_CODE, IOCTL_DISCONNECT, 0 ) #define IOCTL_FT1000_SET_DPRAM _IOW (FT1000_MAGIC_CODE, IOCTL_SET_DPRAM_CMD, sizeof(IOCTL_DPRAM_BLK) ) #define IOCTL_FT1000_GET_DPRAM _IOR (FT1000_MAGIC_CODE, IOCTL_GET_DPRAM_CMD, sizeof(IOCTL_DPRAM_BLK) ) #define IOCTL_FT1000_REGISTER _IOW (FT1000_MAGIC_CODE, IOCTL_REGISTER_CMD, sizeof(unsigned short *) ) #endif // _FT1000IOCTLH_