1e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti/* Copyright (c) 2011, The Linux Foundation. All rights reserved. 2e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * 3e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * Redistribution and use in source and binary forms, with or without 4e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * modification, are permitted provided that the following conditions are 5e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * met: 6e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * * Redistributions of source code must retain the above copyright 7e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * notice, this list of conditions and the following disclaimer. 8e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * * Redistributions in binary form must reproduce the above 9e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * copyright notice, this list of conditions and the following 10e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * disclaimer in the documentation and/or other materials provided 11e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * with the distribution. 12e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * * Neither the name of The Linux Foundation nor the names of its 13e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * contributors may be used to endorse or promote products derived 14e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * from this software without specific prior written permission. 15e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * 16e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 17e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT 19e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 20e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 23e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 24e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 25e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 26e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti */ 28e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 29e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#ifndef __MSG_Q_H__ 30e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#define __MSG_Q_H__ 31e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 32e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#ifdef __cplusplus 33e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletiextern "C" { 34e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#endif /* __cplusplus */ 35e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 36e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#include <stdlib.h> 37e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 38e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti/** Linked List Return Codes */ 39e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletitypedef enum 40e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 41e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti eMSG_Q_SUCCESS = 0, 42e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti /**< Request was successful. */ 43e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti eMSG_Q_FAILURE_GENERAL = -1, 44e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti /**< Failed because of a general failure. */ 45e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti eMSG_Q_INVALID_PARAMETER = -2, 46e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti /**< Failed because the request contained invalid parameters. */ 47e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti eMSG_Q_INVALID_HANDLE = -3, 48e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti /**< Failed because an invalid handle was specified. */ 49e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti eMSG_Q_UNAVAILABLE_RESOURCE = -4, 50e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti /**< Failed because an there were not enough resources. */ 51e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti eMSG_Q_INSUFFICIENT_BUFFER = -5, 52e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti /**< Failed because an the supplied buffer was too small. */ 53e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti}msq_q_err_type; 54e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 55e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti/*=========================================================================== 56e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiFUNCTION msg_q_init 57e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 58e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDESCRIPTION 59e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti Initializes internal structures for message queue. 60e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 61e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti msg_q_data: pointer to an opaque Q handle to be returned; NULL if fails 62e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 63e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEPENDENCIES 64e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti N/A 65e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 66e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiRETURN VALUE 67e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti Look at error codes above. 68e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 69e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiSIDE EFFECTS 70e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti N/A 71e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 72e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti===========================================================================*/ 73e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletimsq_q_err_type msg_q_init(void** msg_q_data); 74e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 75e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti/*=========================================================================== 76e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiFUNCTION msg_q_init2 77e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 78e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDESCRIPTION 79e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti Initializes internal structures for message queue. 80e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 81e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEPENDENCIES 82e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti N/A 83e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 84e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiRETURN VALUE 85e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti opaque handle to the Q created; NULL if create fails 86e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 87e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiSIDE EFFECTS 88e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti N/A 89e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 90e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti===========================================================================*/ 91e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleticonst void* msg_q_init2(); 92e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 93e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti/*=========================================================================== 94e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiFUNCTION msg_q_destroy 95e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 96e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDESCRIPTION 97e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti Releases internal structures for message queue. 98e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 99e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti msg_q_data: State of message queue to be released. 100e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 101e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEPENDENCIES 102e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti N/A 103e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 104e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiRETURN VALUE 105e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti Look at error codes above. 106e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 107e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiSIDE EFFECTS 108e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti N/A 109e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 110e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti===========================================================================*/ 111e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletimsq_q_err_type msg_q_destroy(void** msg_q_data); 112e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 113e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti/*=========================================================================== 114e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiFUNCTION msg_q_snd 115e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 116e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDESCRIPTION 117e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti Sends data to the message queue. The passed in data pointer 118e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti is not modified or freed. Passed in msg_obj is expected to live throughout 119e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti the use of the msg_q (i.e. data is not allocated internally) 120e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 121e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti msg_q_data: Message Queue to add the element to. 122e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti msgp: Pointer to data to add into message queue. 123e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti dealloc: Function used to deallocate memory for this element. Pass NULL 124e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti if you do not want data deallocated during a flush operation 125e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 126e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEPENDENCIES 127e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti N/A 128e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 129e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiRETURN VALUE 130e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti Look at error codes above. 131e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 132e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiSIDE EFFECTS 133e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti N/A 134e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 135e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti===========================================================================*/ 136e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletimsq_q_err_type msg_q_snd(void* msg_q_data, void* msg_obj, void (*dealloc)(void*)); 137e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 138e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti/*=========================================================================== 139e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiFUNCTION msg_q_rcv 140e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 141e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDESCRIPTION 142e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti Retrieves data from the message queue. msg_obj is the oldest message received 143e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti and pointer is simply removed from message queue. 144e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 145e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti msg_q_data: Message Queue to copy data from into msgp. 146e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti msg_obj: Pointer to space to copy msg_q contents to. 147e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 148e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEPENDENCIES 149e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti N/A 150e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 151e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiRETURN VALUE 152e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti Look at error codes above. 153e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 154e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiSIDE EFFECTS 155e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti N/A 156e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 157e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti===========================================================================*/ 158e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletimsq_q_err_type msg_q_rcv(void* msg_q_data, void** msg_obj); 159e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 160e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti/*=========================================================================== 161e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiFUNCTION msg_q_flush 162e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 163e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDESCRIPTION 164e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti Function removes all elements from the message queue. 165e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 166e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti msg_q_data: Message Queue to remove elements from. 167e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 168e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEPENDENCIES 169e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti N/A 170e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 171e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiRETURN VALUE 172e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti Look at error codes above. 173e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 174e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiSIDE EFFECTS 175e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti N/A 176e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 177e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti===========================================================================*/ 178e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletimsq_q_err_type msg_q_flush(void* msg_q_data); 179e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 180e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti/*=========================================================================== 181e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiFUNCTION msg_q_unblock 182e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 183e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDESCRIPTION 184e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti This function will stop use of the message queue. All waiters will wake up 185e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti and likely receive nothing from the queue resulting in a negative return 186e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti value. The message queue can no longer be used until it is destroyed 187e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti and initialized again after calling this function. 188e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 189e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti msg_q_data: Message queue to unblock. 190e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 191e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEPENDENCIES 192e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti N/A 193e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 194e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiRETURN VALUE 195e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti Look at error codes above. 196e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 197e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiSIDE EFFECTS 198e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti N/A 199e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 200e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti===========================================================================*/ 201e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletimsq_q_err_type msg_q_unblock(void* msg_q_data); 202e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 203e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#ifdef __cplusplus 204e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 205e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#endif /* __cplusplus */ 206e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 207e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#endif /* __MSG_Q_H__ */ 208