StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
msgNQLib.h
1 #ifndef _MSG_NQ_LIB_H_
2 #define _MSG_NQ_LIB_H_
3 
4 // library used in Network Queueus for cline->evpDoor communication ONLY!
5 
6 #define WAIT_FOREVER (-1)
7 #define NO_WAIT 0
8 #define S_objLib_OBJ_TIMEOUT EAGAIN
9 
10 #define MSG_Q_TIMEOUT (-1)
11 #define MSG_Q_ERROR (-2) // OS-specific error i.e. write returns -1
12 #define MSG_Q_NOTASK (-3) // "no task present" error
13 
14 
15 #define MSG_NQ_MAXQUEUES 256
16 
17 
18 struct msgNQStruct {
19  int desc ;
20  int len ;
21  int locked ;
22  int task ;
23 } ;
24 
25 
26 
27 extern int msgNQCreate(char *host, int port, int msglen) ;
28 extern int msgNQSend(int desc, char *what, int size, int timeout = WAIT_FOREVER, int prio = 0) ;
29 extern int msgNQReceive(int desc, char *where, int size, int timeout = WAIT_FOREVER) ;
30 extern int msgNQDelete(int desc) ;
31 extern int msgNQCheck(int desc) ;
32 
33 #endif