Patch to add new api to logsys to get priority names from subsystem names.
[openais.git] / include / ipc_msg.h
blobb9278452631810f46c31e74e8cf993b69ef9a1ad
1 /*
2 * Copyright (c) 2005 MontaVista Software, Inc.
4 * All rights reserved.
6 * Author: Steven Dake (sdake@mvista.com)
8 * This software licensed under BSD license, the text of which follows:
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions are met:
13 * - Redistributions of source code must retain the above copyright notice,
14 * this list of conditions and the following disclaimer.
15 * - Redistributions in binary form must reproduce the above copyright notice,
16 * this list of conditions and the following disclaimer in the documentation
17 * and/or other materials provided with the distribution.
18 * - Neither the name of the MontaVista Software, Inc. nor the names of its
19 * contributors may be used to endorse or promote products derived from this
20 * software without specific prior written permission.
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
26 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
32 * THE POSSIBILITY OF SUCH DAMAGE.
34 #ifndef IPC_MSG_H_DEFINED
35 #define IPC_MSG_H_DEFINED
37 #include "saAis.h"
38 #include "saMsg.h"
39 #include "ipc_gen.h"
41 enum req_lib_msg_queue_types {
42 MESSAGE_REQ_MSG_QUEUEOPEN = 0,
43 MESSAGE_REQ_MSG_QUEUEOPENASYNC = 1,
44 MESSAGE_REQ_MSG_QUEUECLOSE = 2,
45 MESSAGE_REQ_MSG_QUEUESTATUSGET = 3,
46 MESSAGE_REQ_MSG_QUEUEUNLINK = 4,
47 MESSAGE_REQ_MSG_QUEUEGROUPCREATE = 5,
48 MESSAGE_REQ_MSG_QUEUEGROUPINSERT = 6,
49 MESSAGE_REQ_MSG_QUEUEGROUPREMOVE = 7,
50 MESSAGE_REQ_MSG_QUEUEGROUPDELETE = 8,
51 MESSAGE_REQ_MSG_QUEUEGROUPTRACK = 9,
52 MESSAGE_REQ_MSG_QUEUEGROUPTRACKSTOP = 10,
53 MESSAGE_REQ_MSG_MESSAGESEND = 11,
54 MESSAGE_REQ_MSG_MESSAGEGET = 12,
55 MESSAGE_REQ_MSG_MESSAGECANCEL = 13,
56 MESSAGE_REQ_MSG_MESSAGESENDRECEIVE = 14,
57 MESSAGE_REQ_MSG_MESSAGEREPLY = 15
60 enum res_lib_msg_queue_types {
61 MESSAGE_RES_MSG_QUEUEOPEN = 0,
62 MESSAGE_RES_MSG_QUEUEOPENASYNC = 2,
63 MESSAGE_RES_MSG_QUEUECLOSE = 3,
64 MESSAGE_RES_MSG_QUEUESTATUSGET = 4,
65 MESSAGE_RES_MSG_QUEUEUNLINK = 5,
66 MESSAGE_RES_MSG_QUEUEGROUPCREATE = 6,
67 MESSAGE_RES_MSG_QUEUEGROUPINSERT = 7,
68 MESSAGE_RES_MSG_QUEUEGROUPREMOVE = 8,
69 MESSAGE_RES_MSG_QUEUEGROUPDELETE = 9,
70 MESSAGE_RES_MSG_QUEUEGROUPTRACK = 10,
71 MESSAGE_RES_MSG_QUEUEGROUPTRACKSTOP = 11,
72 MESSAGE_RES_MSG_MESSAGESEND = 12,
73 MESSAGE_RES_MSG_MESSAGESENDASYNC = 13,
74 MESSAGE_RES_MSG_MESSAGEGET = 14,
75 MESSAGE_RES_MSG_MESSAGECANCEL = 15,
76 MESSAGE_RES_MSG_MESSAGESENDRECEIVE = 16,
77 MESSAGE_RES_MSG_MESSAGEREPLY = 17,
78 MESSAGE_RES_MSG_MESSAGEREPLYASYNC = 18
81 struct req_lib_msg_queueopen {
82 mar_req_header_t header;
83 SaInvocationT invocation;
84 SaNameT queueName;
85 SaMsgQueueCreationAttributesT creationAttributes;
86 int creationAttributesSet;
87 SaMsgQueueOpenFlagsT openFlags;
88 SaMsgQueueHandleT queueHandle;
89 SaTimeT timeout;
90 int async_call;
93 struct res_lib_msg_queueopen {
94 mar_res_header_t header;
95 SaMsgQueueHandleT queueHandle;
96 mar_message_source_t source;
99 struct res_lib_msg_queueopenasync {
100 mar_res_header_t header;
101 SaInvocationT invocation;
102 SaMsgQueueHandleT queueHandle;
103 mar_message_source_t source;
106 struct req_lib_msg_queueclose {
107 mar_req_header_t header;
108 SaNameT queueName;
109 SaMsgQueueHandleT queueHandle;
112 struct res_lib_msg_queueclose {
113 mar_res_header_t header;
116 struct req_lib_msg_queuestatusget {
117 mar_req_header_t header;
118 SaNameT queueName;
121 struct res_lib_msg_queuestatusget {
122 mar_res_header_t header;
123 SaMsgQueueStatusT queueStatus;
126 struct req_lib_msg_queueunlink {
127 mar_req_header_t header;
128 SaNameT queueName;
131 struct res_lib_msg_queueunlink {
132 mar_res_header_t header;
135 struct req_lib_msg_queuegroupcreate {
136 mar_req_header_t header;
137 SaNameT queueGroupName;
138 SaMsgQueueGroupPolicyT queueGroupPolicy;
141 struct res_lib_msg_queuegroupcreate {
142 mar_res_header_t header;
145 struct req_lib_msg_queuegroupinsert {
146 mar_req_header_t header;
147 SaNameT queueGroupName;
148 SaNameT queueName;
151 struct res_lib_msg_queuegroupinsert {
152 mar_res_header_t header;
155 struct req_lib_msg_queuegroupremove {
156 mar_req_header_t header;
157 SaNameT queueGroupName;
158 SaNameT queueName;
161 struct res_lib_msg_queuegroupremove {
162 mar_res_header_t header;
165 struct req_lib_msg_queuegroupdelete {
166 mar_req_header_t header;
167 SaNameT queueGroupName;
170 struct res_lib_msg_queuegroupdelete {
171 mar_res_header_t header;
174 struct req_lib_msg_queuegrouptrack {
175 mar_req_header_t header;
176 SaNameT queueGroupName;
177 SaUint8T trackFlags;
180 struct res_lib_msg_queuegrouptrack {
181 mar_res_header_t header;
184 struct req_lib_msg_queuegrouptrackstop {
185 mar_req_header_t header;
186 SaNameT queueGroupName;
189 struct res_lib_msg_queuegrouptrackstop {
190 mar_res_header_t header;
193 struct req_lib_msg_messagesend {
194 mar_req_header_t header;
195 SaInvocationT invocation;
196 SaNameT destination;
197 SaMsgMessageT message;
198 SaTimeT timeout;
199 SaMsgAckFlagsT ackFlags;
200 int async_call;
203 struct res_lib_msg_messagesend {
204 mar_res_header_t header;
207 struct res_lib_msg_messagesendasync {
208 mar_res_header_t header;
211 struct req_lib_msg_messageget {
212 mar_req_header_t header;
213 SaNameT queueName;
214 SaTimeT timeout;
217 struct res_lib_msg_messageget {
218 mar_res_header_t header;
219 SaTimeT sendTime;
220 SaMsgSenderIdT senderId;
221 SaMsgMessageT message;
224 struct req_lib_msg_messagecancel {
225 mar_req_header_t header;
226 SaNameT queueName;
229 struct res_lib_msg_messagecancel {
230 mar_res_header_t header;
233 struct req_lib_msg_messagesendreceive {
234 mar_req_header_t header;
235 SaNameT destination;
236 SaTimeT timeout;
237 SaNameT queueName;
238 SaMsgMessageT sendMessage;
241 struct res_lib_msg_messagesendreceive {
242 mar_res_header_t header;
243 SaTimeT replySendTime;
244 SaMsgMessageT receiveMessage;
247 struct req_lib_msg_messagereply {
248 mar_req_header_t header;
249 SaInvocationT invocation;
250 SaNameT queueName;
251 SaNameT senderId;
252 SaMsgMessageT replyMessage;
253 SaTimeT timeout;
254 SaMsgAckFlagsT ackFlags;
255 int async_call;
258 struct res_lib_msg_messagereply {
259 mar_res_header_t header;
262 struct res_lib_msg_messagereplyasync {
263 mar_res_header_t header;
266 #endif /* IPC_MSG_H_DEFINED */