xref: /third_party/musl/libc-test/src/api/mqueue.c (revision 570af302)
1#include "options.h"
2#ifdef POSIX_MESSAGE_PASSING
3#include <mqueue.h>
4#define T(t) (t*)0;
5#define F(t,n) {t *y = &x.n;}
6static void f()
7{
8T(mqd_t)
9T(pthread_attr_t)
10T(size_t)
11T(ssize_t)
12T(struct timespec)
13T(struct sigevent)
14{
15struct mq_attr x;
16F(long, mq_flags)
17F(long, mq_maxmsg)
18F(long, mq_msgsize)
19F(long, mq_curmsgs)
20}
21{int(*p)(mqd_t) = mq_close;}
22{int(*p)(mqd_t,struct mq_attr*) = mq_getattr;}
23{int(*p)(mqd_t,const struct sigevent*) = mq_notify;}
24{mqd_t(*p)(const char*,int,...) = mq_open;}
25{ssize_t(*p)(mqd_t,char*,size_t,unsigned*) = mq_receive;}
26{int(*p)(mqd_t,const char*,size_t,unsigned) = mq_send;}
27{int(*p)(mqd_t,const struct mq_attr*restrict,struct mq_attr*restrict) = mq_setattr;}
28{int(*p)(const char*) = mq_unlink;}
29}
30#include <time.h>
31static void g()
32{
33{ssize_t(*p)(mqd_t,char*restrict,size_t,unsigned*restrict,const struct timespec*restrict) = mq_timedreceive;}
34{int(*p)(mqd_t,const char*,size_t,unsigned,const struct timespec*) = mq_timedsend;}
35}
36#endif
37
38