blob: 5fde0efb5dca4382cacae960906ca635b6aaca8e [file] [log] [blame]
/*****************************************************************************
(c) Cambridge Silicon Radio Limited 2011
All rights reserved and confidential information of CSR
Refer to LICENSE.txt included with this source for details
on the license terms.
*****************************************************************************/
#ifndef CSR_WIFI_LIB_H__
#define CSR_WIFI_LIB_H__
#include "csr_wifi_fsm_event.h"
/*----------------------------------------------------------------------------*
* CsrWifiFsmEventInit
*
* DESCRIPTION
* Macro to initialise the members of a CsrWifiFsmEvent.
*----------------------------------------------------------------------------*/
#define CsrWifiFsmEventInit(evt, p_primtype, p_msgtype, p_dst, p_src) \
(evt)->primtype = p_primtype; \
(evt)->type = p_msgtype; \
(evt)->destination = p_dst; \
(evt)->source = p_src
/*----------------------------------------------------------------------------*
* CsrWifiEvent_struct
*
* DESCRIPTION
* Generic message creator.
* Allocates and fills in a message with the signature CsrWifiEvent
*
*----------------------------------------------------------------------------*/
CsrWifiFsmEvent* CsrWifiEvent_struct(u16 primtype, u16 msgtype, CsrSchedQid dst, CsrSchedQid src);
typedef struct
{
CsrWifiFsmEvent common;
u8 value;
} CsrWifiEventCsrUint8;
/*----------------------------------------------------------------------------*
* CsrWifiEventCsrUint8_struct
*
* DESCRIPTION
* Generic message creator.
* Allocates and fills in a message with the signature CsrWifiEventCsrUint8
*
*----------------------------------------------------------------------------*/
CsrWifiEventCsrUint8* CsrWifiEventCsrUint8_struct(u16 primtype, u16 msgtype, CsrSchedQid dst, CsrSchedQid src, u8 value);
typedef struct
{
CsrWifiFsmEvent common;
u16 value;
} CsrWifiEventCsrUint16;
/*----------------------------------------------------------------------------*
* CsrWifiEventCsrUint16_struct
*
* DESCRIPTION
* Generic message creator.
* Allocates and fills in a message with the signature CsrWifiEventCsrUint16
*
*----------------------------------------------------------------------------*/
CsrWifiEventCsrUint16* CsrWifiEventCsrUint16_struct(u16 primtype, u16 msgtype, CsrSchedQid dst, CsrSchedQid src, u16 value);
typedef struct
{
CsrWifiFsmEvent common;
u32 value;
} CsrWifiEventCsrUint32;
/*----------------------------------------------------------------------------*
* CsrWifiEventCsrUint32_struct
*
* DESCRIPTION
* Generic message creator.
* Allocates and fills in a message with the signature CsrWifiEventCsrUint32
*
*----------------------------------------------------------------------------*/
CsrWifiEventCsrUint32* CsrWifiEventCsrUint32_struct(u16 primtype, u16 msgtype, CsrSchedQid dst, CsrSchedQid src, u32 value);
typedef struct
{
CsrWifiFsmEvent common;
u16 value16;
u8 value8;
} CsrWifiEventCsrUint16CsrUint8;
/*----------------------------------------------------------------------------*
* CsrWifiEventCsrUint16CsrUint8_struct
*
* DESCRIPTION
* Generic message creator.
* Allocates and fills in a message with the signature CsrWifiEventCsrUint16CsrUint8
*
*----------------------------------------------------------------------------*/
CsrWifiEventCsrUint16CsrUint8* CsrWifiEventCsrUint16CsrUint8_struct(u16 primtype, u16 msgtype, CsrSchedQid dst, CsrSchedQid src, u16 value16, u8 value8);
#endif /* CSR_WIFI_LIB_H__ */