SAMA5D4 Xplained Ultra Board BSP
guowenxue
2019-08-19 2e7235d10c6dbff81960282e1a1e2e798f9b8db8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/******************************************************************************
 *
 * 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 */