summaryrefslogtreecommitdiff
path: root/librt/mq_timedreceive.c
blob: db1ae1aa87257725a6a27bdb71ecaeed714ce946 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/*
 * Copyright (C) 2017 Waldemar Brodkorb <wbx@uclibc-ng.org>
 * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 */

#include <sys/syscall.h>
#include <mqueue.h>
#include <unistd.h>
#include <cancel.h>

#if defined(__UCLIBC_USE_TIME64__) && defined(__NR_mq_timedreceive_time64)
#define __NR___mq_timedreceive_nocancel __NR_mq_timedreceive_time64
#else
#define __NR___mq_timedreceive_nocancel __NR_mq_timedreceive
#endif

_syscall5(ssize_t, __NC(mq_timedreceive), mqd_t, mqdes, char *__restrict, msg_ptr, size_t, msg_len, unsigned int *__restrict, msq_prio, const struct timespec *__restrict, abs_timeout)

CANCELLABLE_SYSCALL(ssize_t, mq_timedreceive, (mqd_t mqdes, char *__restrict msg_ptr, size_t msq_len, unsigned int *__restrict msq_prio, const struct timespec *__restrict abs_timeout),
		    (mqdes, msg_ptr, msq_len, msq_prio, abs_timeout))

lt_libc_hidden(mq_timedreceive)