124 lines
4.5 KiB
C
124 lines
4.5 KiB
C
/*
|
|
*---------------------------------------------------------------------------
|
|
* 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_
|
|
|
|
struct IOCTL_GET_VER {
|
|
unsigned long drv_ver;
|
|
} __packed;
|
|
|
|
/* Data structure for Dsp statistics */
|
|
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 */
|
|
} __packed;
|
|
|
|
/* Data structure for Dual Ported RAM messaging between Host and Dsp */
|
|
struct IOCTL_DPRAM_BLK {
|
|
unsigned short total_len;
|
|
struct pseudo_hdr pseudohdr;
|
|
unsigned char buffer[1780];
|
|
} __packed;
|
|
|
|
struct IOCTL_DPRAM_COMMAND {
|
|
unsigned short extra;
|
|
struct IOCTL_DPRAM_BLK dpram_blk;
|
|
} __packed;
|
|
|
|
/*
|
|
* 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, \
|
|
struct IOCTL_GET_DSP_STAT)
|
|
#define IOCTL_FT1000_GET_VER _IOR(FT1000_MAGIC_CODE, IOCTL_GET_VER_CMD, \
|
|
struct IOCTL_GET_VER)
|
|
#define IOCTL_FT1000_CONNECT _IO(FT1000_MAGIC_CODE, IOCTL_CONNECT)
|
|
#define IOCTL_FT1000_DISCONNECT _IO(FT1000_MAGIC_CODE, IOCTL_DISCONNECT)
|
|
#define IOCTL_FT1000_SET_DPRAM _IOW(FT1000_MAGIC_CODE, IOCTL_SET_DPRAM_CMD, \
|
|
struct IOCTL_DPRAM_BLK)
|
|
#define IOCTL_FT1000_GET_DPRAM _IOR(FT1000_MAGIC_CODE, IOCTL_GET_DPRAM_CMD, \
|
|
struct IOCTL_DPRAM_BLK)
|
|
#define IOCTL_FT1000_REGISTER _IOW(FT1000_MAGIC_CODE, IOCTL_REGISTER_CMD, \
|
|
unsigned short *)
|
|
|
|
#endif /* _FT1000IOCTLH_ */
|