blob: 92e6ae5ee0de4538bb001ccf3019efad5a822fb3 [file] [log] [blame]
Rich Felker23182072011-09-20 12:14:06 -04001#ifndef _MQUEUE_H
2#define _MQUEUE_H
Rich Felkerab113862011-06-07 01:52:27 -04003#ifdef __cplusplus
4extern "C" {
5#endif
6
7#define __NEED_size_t
8#define __NEED_ssize_t
9#define __NEED_pthread_attr_t
10#define __NEED_time_t
11#define __NEED_struct_timespec
12#include <bits/alltypes.h>
13
14typedef int mqd_t;
15struct mq_attr {
16 long mq_flags, mq_maxmsg, mq_msgsize, mq_curmsgs, __unused[4];
17};
18struct sigevent;
19
20int mq_close(mqd_t);
21int mq_getattr(mqd_t, struct mq_attr *);
22int mq_notify(mqd_t, const struct sigevent *);
23mqd_t mq_open(const char *, int, ...);
24ssize_t mq_receive(mqd_t, char *, size_t, unsigned *);
25int mq_send(mqd_t, const char *, size_t, unsigned);
26int mq_setattr(mqd_t, const struct mq_attr *, struct mq_attr *);
27ssize_t mq_timedreceive(mqd_t, char *, size_t, unsigned *, const struct timespec *);
28int mq_timedsend(mqd_t, const char *, size_t, unsigned, const struct timespec *);
29int mq_unlink(const char *);
30
31#ifdef __cplusplus
32}
33#endif
34#endif