versadac  1
versadac - Scalable Recorder Firmware
exchange.h
1 /*******************************************************************************
2 FILE : exchange.h
3 SYSTEM : Gnu C C++ for ARM under vxWorks
4 AUTHOR : Karl Wakeham
5 DATE : 29/04/2009
6 DESCRIPTION : Header file for exchange.c
7 *******************************************************************************/
8 #ifndef __MSG_EXCHANGE
9 #define __MSG_EXCHANGE
10 
11 #include "stdtypes.h"
12 #include "msgqlib.h"
13 
14 #define MAX_MESSAGES_PER_EXCHANGE 4
15 #define MAX_MESSAGE_LENGTH 16
16 #define MAX_NO_OF_EXCHANGES 63
17 
18 #define EX_SUCCESS 0
19 #define EX_NAME_NOT_FOUND 1
20 #define EX_NOT_CREATED 2
21 #define EX_NO_MORE_EXCHANGES 3
22 #define EX_NO_MORE_MESSAGES 4
23 #define EX_EXCHANGE_DELETED 5
24 #define EX_NO_MESSAGE 6
25 #define EX_MSG_TIMEOUT 7
26 
27 extern void initialise_x();
28 extern uint8 create_x(char * name, exchange_id * xid);
29 extern uint8 delete_x(exchange_id xid);
30 extern uint8 attach_x(char * name, exchange_id * xid);
31 extern uint8 send_x(exchange_id xid, void * message);
32 extern uint8 request_x(exchange_id xid, void * message, uint8 wait, uint32 timeout);
33 
34 extern uint32 create_lock(char * name);
35 extern void lock(uint32 lock_id);
36 extern void unlock(uint32 lock_id);
37 extern bool lock_if_free(uint32 lock_id);
38 
39 extern void * g_interface_lock_user;
40 extern uint8 g_interface_lock_count;
41 extern uint32 g_interface_lock;
42 extern uint32 g_queue_lock;
43 
44 #endif /* __MSG_EXCHANGE */
Definition: stdtypes.h:213