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