mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-14 14:55:41 +00:00
Bring in experimental kernel support for POSIX message queue.
This commit is contained in:
parent
2d967b8216
commit
655291f2ae
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=152825
@ -1363,6 +1363,7 @@ kern/uipc_cow.c optional zero_copy_sockets
|
||||
kern/uipc_domain.c standard
|
||||
kern/uipc_mbuf.c standard
|
||||
kern/uipc_mbuf2.c standard
|
||||
kern/uipc_mqueue.c optional p1003_1b_mqueue
|
||||
kern/uipc_proto.c standard
|
||||
kern/uipc_sem.c optional p1003_1b_semaphores
|
||||
kern/uipc_socket.c standard
|
||||
|
@ -472,12 +472,22 @@
|
||||
257 AUE_NULL NOSTD { int lio_listio(int mode, \
|
||||
struct aiocb * const *acb_list, \
|
||||
int nent, struct sigevent *sig); }
|
||||
258 AUE_NULL UNIMPL nosys
|
||||
259 AUE_NULL UNIMPL nosys
|
||||
260 AUE_NULL UNIMPL nosys
|
||||
261 AUE_NULL UNIMPL nosys
|
||||
262 AUE_NULL UNIMPL nosys
|
||||
263 AUE_NULL UNIMPL nosys
|
||||
258 AUE_NULL MNOSTD { int mq_open(const char *path, int flags, \
|
||||
mode_t mode, const struct mq_attr *attr); }
|
||||
259 AUE_NULL MNOSTD { int mq_setattr(mqd_t mqd, \
|
||||
const struct mq_attr *attr, \
|
||||
struct mq_attr *oattr); }
|
||||
260 AUE_NULL MNOSTD { int mq_timedreceive(mqd_t mqd, \
|
||||
char *msg_ptr, size_t msg_len, \
|
||||
unsigned *msg_prio, \
|
||||
const struct timespec *abs_timeout); }
|
||||
261 AUE_NULL MNOSTD { int mq_timedsend(mqd_t mqd, \
|
||||
const char *msg_ptr, size_t msg_len,\
|
||||
unsigned msg_prio, \
|
||||
const struct timespec *abs_timeout);}
|
||||
262 AUE_NULL MNOSTD { int mq_notify(mqd_t mqd, \
|
||||
const struct sigevent *sigev); }
|
||||
263 AUE_NULL MNOSTD { int mq_unlink(const char *path); }
|
||||
264 AUE_NULL UNIMPL nosys
|
||||
265 AUE_NULL UNIMPL nosys
|
||||
266 AUE_NULL UNIMPL nosys
|
||||
|
2358
sys/kern/uipc_mqueue.c
Normal file
2358
sys/kern/uipc_mqueue.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -58,6 +58,7 @@ typedef __uint8_t __sa_family_t;
|
||||
typedef __uint32_t __socklen_t;
|
||||
typedef long __suseconds_t; /* microseconds (signed) */
|
||||
typedef __int32_t __timer_t; /* timer_gettime()... */
|
||||
typedef __int32_t __mqd_t; /* mq_open()... */
|
||||
typedef __uint32_t __uid_t;
|
||||
typedef unsigned int __useconds_t; /* microseconds (unsigned) */
|
||||
|
||||
|
@ -58,6 +58,7 @@ struct socket;
|
||||
#define DTYPE_FIFO 4 /* fifo (named pipe) */
|
||||
#define DTYPE_KQUEUE 5 /* event queue */
|
||||
#define DTYPE_CRYPTO 6 /* crypto */
|
||||
#define DTYPE_MQUEUE 7 /* posix message queue */
|
||||
|
||||
#ifdef _KERNEL
|
||||
|
||||
|
@ -249,6 +249,11 @@ typedef __timer_t timer_t;
|
||||
#define _TIMER_T_DECLARED
|
||||
#endif
|
||||
|
||||
#ifndef _MQD_T_DECLARED
|
||||
typedef __mqd_t mqd_t;
|
||||
#define _MQD_T_DECLARED
|
||||
#endif
|
||||
|
||||
typedef __u_register_t u_register_t;
|
||||
|
||||
#ifndef _UID_T_DECLARED
|
||||
|
Loading…
Reference in New Issue
Block a user