]> Pileus Git - ~andy/linux/blob - drivers/staging/csr/csr_wifi_fsm_event.h
Merge tag 'kvm-3.7-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[~andy/linux] / drivers / staging / csr / csr_wifi_fsm_event.h
1 /*****************************************************************************
2
3             (c) Cambridge Silicon Radio Limited 2011
4             All rights reserved and confidential information of CSR
5
6             Refer to LICENSE.txt included with this source for details
7             on the license terms.
8
9 *****************************************************************************/
10
11 #ifndef CSR_WIFI_FSM_EVENT_H
12 #define CSR_WIFI_FSM_EVENT_H
13
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17
18 #include "csr_prim_defs.h"
19 #include "csr_sched.h"
20
21 /**
22  * @brief
23  *   FSM event header.
24  *
25  * @par Description
26  *   All events MUST have this struct as the FIRST member.
27  *   The next member is used internally for linked lists
28  */
29 typedef struct CsrWifiFsmEvent
30 {
31     CsrPrim     type;
32     u16   primtype;
33     CsrSchedQid destination;
34     CsrSchedQid source;
35
36     /* Private pointer to allow an optimal Event list */
37     /* NOTE: Ignore this pointer.
38      *       Do not waste code initializing OR freeing it.
39      *       The pointer is used internally in the CsrWifiFsm code
40      *       to avoid a second malloc when queuing events.
41      */
42     struct CsrWifiFsmEvent *next;
43 } CsrWifiFsmEvent;
44
45 #ifdef __cplusplus
46 }
47 #endif
48
49 #endif /* CSR_WIFI_FSM_EVENT_H */
50