fujuntang
2021-11-30 490948a0d52a3ad7b3f94525a982fc7012d06011
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#ifndef __MSG_MGR_DEF_
#define __MSG_MGR_DEF_
 
#include "shm_allocator.h"
 
#define SEM_TYPE_ID   0
#define RSV_TYPE_ID   1
 
#define MSG_TYPE_SEM  1
#define MSG_TYPE_RSV  2
 
#define SEM_CREATE    0
#define SEM_GET       1
#define SEM_POST      2
#define SEM_RM        3
#define SEM_RESET     4
 
#define MSG_PATH      "/tmp/msgqueue"
#define MSG_RSV_PATH  "/tmp/msgqueue_rsv"
 
#define QUERY_MUTEX_KEY 0x8700
 
#define MAX_LOCK      100
#define MAX_LOCK_HOLD 10
 
#define SEM_WT_TIMEOUT  60
 
typedef struct _msg_info
{
  long mtype;
  int key;
  int id;
  int act;
  int count;
 
} Msg_info;
 
int msg_init(void);
void msg_distrib(int msg_id, Msg_info *message);
int get_msg_info(int msg_id, Msg_info *message);
void *sem_msg_handler(void *skptr);
void msg_info_set(int index, Msg_info msg_obj);
 
typedef std::set<int, std::less<int>, SHM_STL_Allocator<int> > recvbuf_val;
typedef std::map<int, recvbuf_val *, std::less<int>, SHM_STL_Allocator<std::pair<int, recvbuf_val *> > > recvbuf_data;
 
#endif  //end of file