From a54ad9edce697133a024aff096e50f7e4f389d5b Mon Sep 17 00:00:00 2001 From: Florent Duchon Date: Sun, 18 Mar 2012 12:22:02 +0100 Subject: digital/beacon: import Zigbit stack (bitcloud) & avr sources --- .../MAC_HWI/include/machwiTransactionQueue.h | 123 +++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 digital/beacon/src/Bitcloud_stack/Components/MAC_PHY/MAC_HWI/include/machwiTransactionQueue.h (limited to 'digital/beacon/src/Bitcloud_stack/Components/MAC_PHY/MAC_HWI/include/machwiTransactionQueue.h') diff --git a/digital/beacon/src/Bitcloud_stack/Components/MAC_PHY/MAC_HWI/include/machwiTransactionQueue.h b/digital/beacon/src/Bitcloud_stack/Components/MAC_PHY/MAC_HWI/include/machwiTransactionQueue.h new file mode 100644 index 00000000..584924a0 --- /dev/null +++ b/digital/beacon/src/Bitcloud_stack/Components/MAC_PHY/MAC_HWI/include/machwiTransactionQueue.h @@ -0,0 +1,123 @@ +/****************************************************************************** + \file machwiTransactionQueue.h + + \author + Atmel Corporation: http://www.atmel.com \n + Support email: avr@atmel.com + + Copyright (c) 2008-2011, Atmel Corporation. All rights reserved. + Licensed under Atmel's Limited License Agreement (BitCloudTM). + + \internal + History: + 25/06/07 A. Mandychev - Created. +******************************************************************************/ + +#ifndef _MACHWITRANSACTIONQUEUE_H +#define _MACHWITRANSACTIONQUEUE_H +#ifdef _FFD_ + +/****************************************************************************** + Includes section +******************************************************************************/ +#include +#include +#include +#include +#include + +/****************************************************************************** + Define(s) section +******************************************************************************/ + +/****************************************************************************** + Types section +******************************************************************************/ +// Transaction event. +typedef enum +{ + MAC_TRANSACTION_EXPIRED_EVENT = MAC_TRANSACTION_EXPIRED_STATUS, + MAC_TRANSACTION_ACTIVATED_EVENT +} MachwiTransactionEvent_t; + +// Transaction. +typedef union +{ + MAC_DataReq_t dataReq; + MAC_AssociateResp_t associateResp; + MAC_DisassociateReq_t disassociateReq; +} MachwiTransaction_t; + +/****************************************************************************** + Constants section +******************************************************************************/ + +/****************************************************************************** + External variables +******************************************************************************/ + +/****************************************************************************** + Prototypes section +******************************************************************************/ +/****************************************************************************** + TBD. +******************************************************************************/ +void machwiPutTransactionToQueue(MachwiTransaction_t *transaction); + +/****************************************************************************** + TBD. +******************************************************************************/ +result_t machwiPurgeTransactionFromQueue(uint8_t msduHandle); + +/**************************************************************************//** + \brief Compares MAC Data Request command's parameters with transactions in the + transaction queue. If matched - transaction is marked as "activated". + + \param frameDescr - Data Request MAC command descriptor. + \return true if transaction to be transmitted is found, false otherwise +******************************************************************************/ +bool machwiTestAndKickQueueTransactions(MAC_FrameDescr_t *frameDescr); + +/**************************************************************************//** + \brief Finds trunsactions which were already activated. + + \return Activated transaction pointer if found, NULL otherwise. +******************************************************************************/ +MachwiTransaction_t *machwiGetActivatedTransactionFromQueue(void); + +/****************************************************************************** + TBD. +******************************************************************************/ +uint8_t* machwiFillPendingAddrSpecAndList(uint8_t *beaconPayload); + +/****************************************************************************** + Resets transaction queue. + Parameters: + none. + Returns: + none. +******************************************************************************/ +void machwiResetTransactionQueue(void); + +/****************************************************************************** + Deletes transaction from queue. + Parameters: + transaction - pointer to transaction wich should be deleted. + Returns: + none. +******************************************************************************/ +void machwiDeleteTransactionFromQueue(MachwiTransaction_t *transaction); + +/****************************************************************************** + Checks if MAC transaction queue is empty + Parameters: + none + Returns: + true, if MAC transaction queue is empty, false otherwise. +******************************************************************************/ +bool machwiTransactionQueueEmpty(void); + +#endif //_FFD_ +#endif /* _MACHWITRANSACTIONQUEUE_H */ + +// eof machwiTransactionQueue.h -- cgit v1.2.3