The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
Parent:
171:3a7713b1edbc
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 171:3a7713b1edbc 1 /*************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 2 /*!
AnnaBridge 171:3a7713b1edbc 3 * \file wsf_msg.h
AnnaBridge 171:3a7713b1edbc 4 *
AnnaBridge 171:3a7713b1edbc 5 * \brief Message passing service.
AnnaBridge 171:3a7713b1edbc 6 *
AnnaBridge 171:3a7713b1edbc 7 * $Date: 2013-07-02 15:08:09 -0700 (Tue, 02 Jul 2013) $
AnnaBridge 171:3a7713b1edbc 8 * $Revision: 779 $
AnnaBridge 171:3a7713b1edbc 9 *
AnnaBridge 171:3a7713b1edbc 10 * Copyright (c) 2009 Wicentric, Inc., all rights reserved.
AnnaBridge 171:3a7713b1edbc 11 * Wicentric confidential and proprietary.
AnnaBridge 171:3a7713b1edbc 12 *
AnnaBridge 171:3a7713b1edbc 13 * IMPORTANT. Your use of this file is governed by a Software License Agreement
AnnaBridge 171:3a7713b1edbc 14 * ("Agreement") that must be accepted in order to download or otherwise receive a
AnnaBridge 171:3a7713b1edbc 15 * copy of this file. You may not use or copy this file for any purpose other than
AnnaBridge 171:3a7713b1edbc 16 * as described in the Agreement. If you do not agree to all of the terms of the
AnnaBridge 171:3a7713b1edbc 17 * Agreement do not use this file and delete all copies in your possession or control;
AnnaBridge 171:3a7713b1edbc 18 * if you do not have a copy of the Agreement, you must contact Wicentric, Inc. prior
AnnaBridge 171:3a7713b1edbc 19 * to any use, copying or further distribution of this software.
AnnaBridge 171:3a7713b1edbc 20 */
AnnaBridge 171:3a7713b1edbc 21 /*************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 22 #ifndef WSF_MSG_H
AnnaBridge 171:3a7713b1edbc 23 #define WSF_MSG_H
AnnaBridge 171:3a7713b1edbc 24
AnnaBridge 171:3a7713b1edbc 25 #include "wsf_queue.h"
AnnaBridge 171:3a7713b1edbc 26 #include "wsf_os.h"
AnnaBridge 171:3a7713b1edbc 27
AnnaBridge 171:3a7713b1edbc 28 #ifdef __cplusplus
AnnaBridge 171:3a7713b1edbc 29 extern "C" {
AnnaBridge 171:3a7713b1edbc 30 #endif
AnnaBridge 171:3a7713b1edbc 31
AnnaBridge 171:3a7713b1edbc 32 /**************************************************************************************************
AnnaBridge 171:3a7713b1edbc 33 Function Declarations
AnnaBridge 171:3a7713b1edbc 34 **************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 35
AnnaBridge 171:3a7713b1edbc 36 /*************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 37 /*!
AnnaBridge 171:3a7713b1edbc 38 * \fn WsfMsgAlloc
AnnaBridge 171:3a7713b1edbc 39 *
AnnaBridge 171:3a7713b1edbc 40 * \brief Allocate a message buffer to be sent with WsfMsgSend().
AnnaBridge 171:3a7713b1edbc 41 *
AnnaBridge 171:3a7713b1edbc 42 * \param len Message length in bytes.
AnnaBridge 171:3a7713b1edbc 43 *
AnnaBridge 171:3a7713b1edbc 44 * \return Pointer to message buffer or NULL if allocation failed.
AnnaBridge 171:3a7713b1edbc 45 */
AnnaBridge 171:3a7713b1edbc 46 /*************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 47 void *WsfMsgAlloc(uint16_t len);
AnnaBridge 171:3a7713b1edbc 48
AnnaBridge 171:3a7713b1edbc 49 /*************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 50 /*!
AnnaBridge 171:3a7713b1edbc 51 * \fn WsfMsgFree
AnnaBridge 171:3a7713b1edbc 52 *
AnnaBridge 171:3a7713b1edbc 53 * \brief Free a message buffer allocated with WsfMsgAlloc().
AnnaBridge 171:3a7713b1edbc 54 *
AnnaBridge 171:3a7713b1edbc 55 * \param pMsg Pointer to message buffer.
AnnaBridge 171:3a7713b1edbc 56 *
AnnaBridge 171:3a7713b1edbc 57 * \return None.
AnnaBridge 171:3a7713b1edbc 58 */
AnnaBridge 171:3a7713b1edbc 59 /*************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 60 void WsfMsgFree(void *pMsg);
AnnaBridge 171:3a7713b1edbc 61
AnnaBridge 171:3a7713b1edbc 62 /*************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 63 /*!
AnnaBridge 171:3a7713b1edbc 64 * \fn WsfMsgSend
AnnaBridge 171:3a7713b1edbc 65 *
AnnaBridge 171:3a7713b1edbc 66 * \brief Send a message to an event handler.
AnnaBridge 171:3a7713b1edbc 67 *
AnnaBridge 171:3a7713b1edbc 68 * \param handlerId Event handler ID.
AnnaBridge 171:3a7713b1edbc 69 * \param pMsg Pointer to message buffer.
AnnaBridge 171:3a7713b1edbc 70 *
AnnaBridge 171:3a7713b1edbc 71 * \return None.
AnnaBridge 171:3a7713b1edbc 72 */
AnnaBridge 171:3a7713b1edbc 73 /*************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 74 void WsfMsgSend(wsfHandlerId_t handlerId, void *pMsg);
AnnaBridge 171:3a7713b1edbc 75
AnnaBridge 171:3a7713b1edbc 76 /*************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 77 /*!
AnnaBridge 171:3a7713b1edbc 78 * \fn WsfMsgEnq
AnnaBridge 171:3a7713b1edbc 79 *
AnnaBridge 171:3a7713b1edbc 80 * \brief Enqueue a message.
AnnaBridge 171:3a7713b1edbc 81 *
AnnaBridge 171:3a7713b1edbc 82 * \param pQueue Pointer to queue.
AnnaBridge 171:3a7713b1edbc 83 * \param handerId Set message handler ID to this value.
AnnaBridge 171:3a7713b1edbc 84 * \param pElem Pointer to message buffer.
AnnaBridge 171:3a7713b1edbc 85 *
AnnaBridge 171:3a7713b1edbc 86 * \return None.
AnnaBridge 171:3a7713b1edbc 87 */
AnnaBridge 171:3a7713b1edbc 88 /*************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 89 void WsfMsgEnq(wsfQueue_t *pQueue, wsfHandlerId_t handlerId, void *pMsg);
AnnaBridge 171:3a7713b1edbc 90
AnnaBridge 171:3a7713b1edbc 91 /*************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 92 /*!
AnnaBridge 171:3a7713b1edbc 93 * \fn WsfMsgDeq
AnnaBridge 171:3a7713b1edbc 94 *
AnnaBridge 171:3a7713b1edbc 95 * \brief Dequeue a message.
AnnaBridge 171:3a7713b1edbc 96 *
AnnaBridge 171:3a7713b1edbc 97 * \param pQueue Pointer to queue.
AnnaBridge 171:3a7713b1edbc 98 * \param pHandlerId Handler ID of returned message; this is a return parameter.
AnnaBridge 171:3a7713b1edbc 99 *
AnnaBridge 171:3a7713b1edbc 100 * \return Pointer to message that has been dequeued or NULL if queue is empty.
AnnaBridge 171:3a7713b1edbc 101 */
AnnaBridge 171:3a7713b1edbc 102 /*************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 103 void *WsfMsgDeq(wsfQueue_t *pQueue, wsfHandlerId_t *pHandlerId);
AnnaBridge 171:3a7713b1edbc 104
AnnaBridge 171:3a7713b1edbc 105 /*************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 106 /*!
AnnaBridge 171:3a7713b1edbc 107 * \fn WsfMsgPeek
AnnaBridge 171:3a7713b1edbc 108 *
AnnaBridge 171:3a7713b1edbc 109 * \brief Get the next message without removing it from the queue.
AnnaBridge 171:3a7713b1edbc 110 *
AnnaBridge 171:3a7713b1edbc 111 * \param pQueue Pointer to queue.
AnnaBridge 171:3a7713b1edbc 112 * \param pHandlerId Handler ID of returned message; this is a return parameter.
AnnaBridge 171:3a7713b1edbc 113 *
AnnaBridge 171:3a7713b1edbc 114 * \return Pointer to the next message on the queue or NULL if queue is empty.
AnnaBridge 171:3a7713b1edbc 115 */
AnnaBridge 171:3a7713b1edbc 116 /*************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 117 void *WsfMsgPeek(wsfQueue_t *pQueue, wsfHandlerId_t *pHandlerId);
AnnaBridge 171:3a7713b1edbc 118
AnnaBridge 171:3a7713b1edbc 119 #ifdef __cplusplus
AnnaBridge 171:3a7713b1edbc 120 };
AnnaBridge 171:3a7713b1edbc 121 #endif
AnnaBridge 171:3a7713b1edbc 122
AnnaBridge 171:3a7713b1edbc 123 #endif /* WSF_MSG_H */