98 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/******************************************************************************
 | 
						|
 *
 | 
						|
 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
 | 
						|
 *                                        
 | 
						|
 * This program is free software; you can redistribute it and/or modify it
 | 
						|
 * under the terms of version 2 of the GNU General Public License as
 | 
						|
 * published by the Free Software Foundation.
 | 
						|
 *
 | 
						|
 * 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.,
 | 
						|
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
 | 
						|
 *
 | 
						|
 *
 | 
						|
 ******************************************************************************/
 | 
						|
 | 
						|
#ifndef _LINUX_WIRELESS_H
 | 
						|
#define _LINUX_WIRELESS_H
 | 
						|
 | 
						|
/***************************** INCLUDES *****************************/
 | 
						|
 | 
						|
#if 0
 | 
						|
#include <linux/types.h>		/* for __u* and __s* typedefs */
 | 
						|
#include <linux/socket.h>		/* for "struct sockaddr" et al	*/
 | 
						|
#include <linux/if.h>			/* for IFNAMSIZ and co... */
 | 
						|
#else
 | 
						|
#define __user
 | 
						|
//typedef uint16_t	__u16;
 | 
						|
#include <sys/socket.h>			/* for "struct sockaddr" et al	*/
 | 
						|
#include <net/if.h>			/* for IFNAMSIZ and co... */
 | 
						|
#endif
 | 
						|
 | 
						|
/****************************** TYPES ******************************/
 | 
						|
#ifdef CONFIG_COMPAT
 | 
						|
struct compat_iw_point {
 | 
						|
         compat_caddr_t pointer;
 | 
						|
         __u16 length;
 | 
						|
         __u16 flags;
 | 
						|
};
 | 
						|
#endif
 | 
						|
/* --------------------------- SUBTYPES --------------------------- */
 | 
						|
/*
 | 
						|
 *	For all data larger than 16 octets, we need to use a
 | 
						|
 *	pointer to memory allocated in user space.
 | 
						|
 */
 | 
						|
struct	iw_point
 | 
						|
{
 | 
						|
  void __user	*pointer;	/* Pointer to the data  (in user space) */
 | 
						|
  __u16		length;		/* number of fields or size in bytes */
 | 
						|
  __u16		flags;		/* Optional params */
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
/* ------------------------ IOCTL REQUEST ------------------------ */
 | 
						|
/*
 | 
						|
 * This structure defines the payload of an ioctl, and is used 
 | 
						|
 * below.
 | 
						|
 *
 | 
						|
 * Note that this structure should fit on the memory footprint
 | 
						|
 * of iwreq (which is the same as ifreq), which mean a max size of
 | 
						|
 * 16 octets = 128 bits. Warning, pointers might be 64 bits wide...
 | 
						|
 * You should check this when increasing the structures defined
 | 
						|
 * above in this file...
 | 
						|
 */
 | 
						|
union	iwreq_data
 | 
						|
{
 | 
						|
	/* Config - generic */
 | 
						|
	char		name[IFNAMSIZ];
 | 
						|
	/* Name : used to verify the presence of  wireless extensions.
 | 
						|
	 * Name of the protocol/provider... */
 | 
						|
 | 
						|
	struct iw_point	data;		/* Other large parameters */
 | 
						|
};
 | 
						|
 | 
						|
/*
 | 
						|
 * The structure to exchange data for ioctl.
 | 
						|
 * This structure is the same as 'struct ifreq', but (re)defined for
 | 
						|
 * convenience...
 | 
						|
 * Do I need to remind you about structure size (32 octets) ?
 | 
						|
 */
 | 
						|
struct	iwreq 
 | 
						|
{
 | 
						|
	union
 | 
						|
	{
 | 
						|
		char	ifrn_name[IFNAMSIZ];	/* if name, e.g. "eth0" */
 | 
						|
	} ifr_ifrn;
 | 
						|
 | 
						|
	/* Data part (defined just above) */
 | 
						|
	union	iwreq_data	u;
 | 
						|
};
 | 
						|
 | 
						|
#endif	/* _LINUX_WIRELESS_H */
 | 
						|
 |