Merge branch 'for-linus' of git://opensource.wolfsonmicro.com/regmap
[pandora-kernel.git] / drivers / staging / rtl8712 / rtl871x_event.h
1 #ifndef _RTL871x_EVENT_H_
2 #define _RTL871x_EVENT_H_
3
4 #include "osdep_service.h"
5
6 #include "wlan_bssdef.h"
7 #include <linux/semaphore.h>
8 #include <linux/sem.h>
9
10 /*
11  * Used to report a bss has been scanned
12 */
13 struct survey_event     {
14         struct ndis_wlan_bssid_ex bss;
15 };
16
17 /*
18  * Used to report that the requested site survey has been done.
19  * bss_cnt indicates the number of bss that has been reported.
20 */
21 struct surveydone_event {
22         unsigned int    bss_cnt;
23
24 };
25
26 /*
27  * Used to report the link result of joinning the given bss
28  * join_res:
29  *  -1: authentication fail
30  *  -2: association fail
31  *  > 0: TID
32 */
33 struct joinbss_event {
34         struct  wlan_network    network;
35 };
36
37 /*
38  * Used to report a given STA has joinned the created BSS.
39  * It is used in AP/Ad-HoC(M) mode.
40 */
41 struct stassoc_event {
42         unsigned char macaddr[6];
43         unsigned char rsvd[2];
44         int    cam_id;
45 };
46
47 struct stadel_event {
48         unsigned char macaddr[6];
49         unsigned char rsvd[2];
50 };
51
52 struct addba_event {
53         unsigned int tid;
54 };
55
56 #define GEN_EVT_CODE(event)     event ## _EVT_
57
58 struct fwevent {
59         u32     parmsize;
60         void (*event_callback)(struct _adapter *dev, u8 *pbuf);
61 };
62
63 #define C2HEVENT_SZ                     32
64 struct event_node {
65         unsigned char *node;
66         unsigned char evt_code;
67         unsigned short evt_sz;
68         /*volatile*/ int *caller_ff_tail;
69         int     caller_ff_sz;
70 };
71
72 struct c2hevent_queue {
73         /*volatile*/ int        head;
74         /*volatile*/ int        tail;
75         struct  event_node      nodes[C2HEVENT_SZ];
76         unsigned char   seq;
77 };
78
79 #define NETWORK_QUEUE_SZ        4
80
81 struct network_queue {
82         /*volatile*/ int        head;
83         /*volatile*/ int        tail;
84         struct wlan_bssid_ex networks[NETWORK_QUEUE_SZ];
85 };
86
87 struct ADDBA_Req_Report_parm {
88         unsigned char MacAddress[ETH_ALEN];
89         unsigned short StartSeqNum;
90         unsigned char tid;
91 };
92 #include "rtl8712_event.h"
93
94 #endif /* _WLANEVENT_H_ */
95