#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
|