diff options
Diffstat (limited to 'kernel/drivers/staging/rtl8712/rtl871x_ioctl.h')
-rw-r--r-- | kernel/drivers/staging/rtl8712/rtl871x_ioctl.h | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/kernel/drivers/staging/rtl8712/rtl871x_ioctl.h b/kernel/drivers/staging/rtl8712/rtl871x_ioctl.h new file mode 100644 index 000000000..8e6ef5d49 --- /dev/null +++ b/kernel/drivers/staging/rtl8712/rtl871x_ioctl.h @@ -0,0 +1,97 @@ +#ifndef __IOCTL_H +#define __IOCTL_H + +#include "osdep_service.h" +#include "drv_types.h" + +#ifndef OID_802_11_CAPABILITY + #define OID_802_11_CAPABILITY 0x0d010122 +#endif + +#ifndef OID_802_11_PMKID + #define OID_802_11_PMKID 0x0d010123 +#endif + + +/* For DDK-defined OIDs*/ +#define OID_NDIS_SEG1 0x00010100 +#define OID_NDIS_SEG2 0x00010200 +#define OID_NDIS_SEG3 0x00020100 +#define OID_NDIS_SEG4 0x01010100 +#define OID_NDIS_SEG5 0x01020100 +#define OID_NDIS_SEG6 0x01020200 +#define OID_NDIS_SEG7 0xFD010100 +#define OID_NDIS_SEG8 0x0D010100 +#define OID_NDIS_SEG9 0x0D010200 +#define OID_NDIS_SEG10 0x0D020200 +#define SZ_OID_NDIS_SEG1 23 +#define SZ_OID_NDIS_SEG2 3 +#define SZ_OID_NDIS_SEG3 6 +#define SZ_OID_NDIS_SEG4 6 +#define SZ_OID_NDIS_SEG5 4 +#define SZ_OID_NDIS_SEG6 8 +#define SZ_OID_NDIS_SEG7 7 +#define SZ_OID_NDIS_SEG8 36 +#define SZ_OID_NDIS_SEG9 24 +#define SZ_OID_NDIS_SEG10 19 + +/* For Realtek-defined OIDs*/ +#define OID_MP_SEG1 0xFF871100 +#define OID_MP_SEG2 0xFF818000 +#define OID_MP_SEG3 0xFF818700 +#define OID_MP_SEG4 0xFF011100 + +enum oid_type { + QUERY_OID, + SET_OID +}; + +struct oid_funs_node { + unsigned int oid_start; /*the starting number for OID*/ + unsigned int oid_end; /*the ending number for OID*/ + struct oid_obj_priv *node_array; + unsigned int array_sz; /*the size of node_array*/ + int query_counter; /*count the number of query hits for this segment*/ + int set_counter; /*count the number of set hits for this segment*/ +}; + +struct oid_par_priv { + void *adapter_context; + uint oid; + void *information_buf; + unsigned long information_buf_len; + unsigned long *bytes_rw; + unsigned long *bytes_needed; + enum oid_type type_of_oid; + unsigned int dbg; +}; + +struct oid_obj_priv { + unsigned char dbg; /* 0: without OID debug message + * 1: with OID debug message */ + uint (*oidfuns)(struct oid_par_priv *poid_par_priv); +}; + +uint oid_null_function(struct oid_par_priv *poid_par_priv); + +extern struct iw_handler_def r871x_handlers_def; + +extern uint drv_query_info( + struct net_device *MiniportAdapterContext, + uint Oid, + void *InformationBuffer, + u32 InformationBufferLength, + u32 *BytesWritten, + u32 *BytesNeeded +); + +extern uint drv_set_info( + struct net_device *MiniportAdapterContext, + uint Oid, + void *InformationBuffer, + u32 InformationBufferLength, + u32 *BytesRead, + u32 *BytesNeeded +); + +#endif |