#ifndef __MESSAGE_H__
#define __MESSAGE_H__

/**
 ** @fn PostMsg
 ** @brief Post a message to the destination task.
 ** @param MsgPkt   - Message to be posted.
 ** @param Queue       - Queue to post this message to.
 ** @return   0 if success, -1 if failed.
 ***/
int
PostMsg (int fd, MsgPkt_T* pMsgPkt);

/**
 * @fn GetMsg
 * @brief Gets the message posted to this task.
 * @param MsgPkt   - Pointer to the buffer to hold the message packet.
 * @param Queue    - Queue to fetch the message from.
 * @param Timeout    - Number of seconds to wait.
 * 
 * WAIT_NONE       - If the function has to return immediately.
 * WAIT_INFINITE   - If the function has to wait infinitely.
 * NOTE :
 * @return   0 if success, -1 if failed.
**/
int
GetMsg (int fd, MsgPkt_T* pMsgPkt, int16_t Timeout);


#endif /* __MESSAGE_H__ */