| /* |
| * Copyright (c) 2018 Intel Corporation |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #ifndef ZEPHYR_INCLUDE_POSIX_MESSAGE_PASSING_H_ |
| #define ZEPHYR_INCLUDE_POSIX_MESSAGE_PASSING_H_ |
| |
| #include <zephyr/kernel.h> |
| #include <zephyr/posix/time.h> |
| #include <zephyr/posix/fcntl.h> |
| #include <zephyr/posix/signal.h> |
| #include <zephyr/posix/sys/stat.h> |
| #include <zephyr/posix/posix_types.h> |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| typedef void *mqd_t; |
| |
| struct mq_attr { |
| long mq_flags; |
| long mq_maxmsg; |
| long mq_msgsize; |
| long mq_curmsgs; /* Number of messages currently queued. */ |
| }; |
| |
| mqd_t mq_open(const char *name, int oflags, ...); |
| int mq_close(mqd_t mqdes); |
| int mq_unlink(const char *name); |
| int mq_getattr(mqd_t mqdes, struct mq_attr *mqstat); |
| int mq_receive(mqd_t mqdes, char *msg_ptr, size_t msg_len, |
| unsigned int *msg_prio); |
| int mq_send(mqd_t mqdes, const char *msg_ptr, size_t msg_len, |
| unsigned int msg_prio); |
| int mq_setattr(mqd_t mqdes, const struct mq_attr *mqstat, |
| struct mq_attr *omqstat); |
| int mq_timedreceive(mqd_t mqdes, char *msg_ptr, size_t msg_len, |
| unsigned int *msg_prio, const struct timespec *abstime); |
| int mq_timedsend(mqd_t mqdes, const char *msg_ptr, size_t msg_len, |
| unsigned int msg_prio, const struct timespec *abstime); |
| int mq_notify(mqd_t mqdes, const struct sigevent *notification); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* ZEPHYR_INCLUDE_POSIX_MESSAGE_PASSING_H_ */ |