📄 mqueue.h
字号:
/* mqueue.h,v 1.4 2000/07/14 21:09:06 joeh Exp
* ============================================================================
*
* = LIBRARY
* pace
*
* = FILENAME
* pace/emulation/mqueue.h
*
* = AUTHOR
* John Heitmann
*
* = DESCRIPTION
* An implementation of POSIX message queues originally built for Linux,
* which lacks mqueue.h. Some ideas were taken from the W. Richard Stevens
* book Unix Network Programming Interprocess Communications Volume 2
* Second Edition.
* Memory Mapped io is used to enable a quick but persistent queue.
*
* ============================================================================ */
#ifndef PACE_EMU_MQUEUE_H
#define PACE_EMU_MQUEUE_H
#if defined (PACE_HAS_CPLUSPLUS)
extern "C" {
#endif /* PACE_HAS_CPLUSPLUS */
#define PACE_MQ_ATTR
typedef struct mq_attr
{
long mq_flags;
long mq_maxmsg;
long mq_msgsize;
long mq_curmsgs;
} pace_mq_attr;
struct mqd
{
long length;
int oflag;
char* mptr;
};
#define PACE_MQD_T
typedef struct mqd* pace_mqd_t;
#if (PACE_HAS_POSIX_NONUOF_FUNCS)
pace_mqd_t mq_open (const char* name,
int oflag,
pace_mode_t mode,
pace_mq_attr* attr);
#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
#if (PACE_HAS_POSIX_NONUOF_FUNCS)
int mq_close (pace_mqd_t mqdes);
#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
#if (PACE_HAS_POSIX_NONUOF_FUNCS)
int mq_unlink (const char* name);
#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
#if (PACE_HAS_POSIX_NONUOF_FUNCS)
int mq_send (pace_mqd_t mqdes,
const char* ptr,
pace_size_t length,
unsigned int priority);
#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
#if (PACE_HAS_POSIX_NONUOF_FUNCS)
pace_ssize_t mq_receive (pace_mqd_t mqdes,
char * msg_ptr,
pace_size_t msg_len,
unsigned int * nmsg_prio);
#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
#if (PACE_HAS_POSIX_NONUOF_FUNCS)
int mq_getattr (pace_mqd_t mqdes, pace_mq_attr * mqstat);
#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
#if (PACE_HAS_POSIX_NONUOF_FUNCS)
int mq_setattr(pace_mqd_t mqdes,
const pace_mq_attr * mqstat,
pace_mq_attr * omqstat);
#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
#if (PACE_HAS_POSIX_NONUOF_FUNCS)
int mq_notify (pace_mqd_t mqd, const pace_sigevent* notification);
#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
#if defined (PACE_HAS_CPLUSPLUS)
}
#endif /* PACE_HAS_CPLUSPLUS */
#endif /* PACE_EMU_MQUEUE_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -