Erste CVS-Version
This commit is contained in:
37
firmware/message_queue.h
Normal file
37
firmware/message_queue.h
Normal file
@ -0,0 +1,37 @@
|
||||
#ifndef message_queue_h
|
||||
#define message_queue_h
|
||||
|
||||
/**
|
||||
* \file message_queue.h
|
||||
* \brief A message queue used to exchange messages between two concurrent
|
||||
* threads.
|
||||
* \author Thomas Stegemann
|
||||
* \version $Id: message_queue.h,v 1.1 2006/09/26 18:18:27 rschaten Exp $
|
||||
*
|
||||
* License: See documentation.
|
||||
*
|
||||
* - exchange messages between two concurrent threads (e.g.: main thread and
|
||||
* interrupt calls)
|
||||
* - before using any other function of the messageQueue, init must be called
|
||||
* - one thread must be data source (use isFull and write)
|
||||
* - the other thread must be the data sink (use isEmpty and read)
|
||||
* - two concurrent threads must not use both the write functions and two
|
||||
* concurrent threads must not use both the read functions
|
||||
* - read/write return True on success and False if the message could not be
|
||||
* read/written because the queue is empty/full
|
||||
* - the size of the messageQueue and the type of the
|
||||
* messageQueue_QueuedMessage are defined in config_message_queue.h
|
||||
* - only one messageQueue can be used in a project
|
||||
*/
|
||||
|
||||
#include "boolean.h"
|
||||
#include "config_message_queue.h"
|
||||
|
||||
void messageQueue_init (void);
|
||||
void messageQueue_cleanup(void);
|
||||
Boolean messageQueue_isEmpty(void);
|
||||
Boolean messageQueue_isFull (void);
|
||||
Boolean messageQueue_read (messageQueue_QueuedMessage* pMessage);
|
||||
Boolean messageQueue_write (messageQueue_QueuedMessage message);
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user