1
0
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:
David Xu 2005-11-26 12:42:35 +00:00
parent 2d967b8216
commit 655291f2ae
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=152825
6 changed files with 2382 additions and 6 deletions

View File

@ -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

View File

@ -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

File diff suppressed because it is too large Load Diff

View File

@ -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) */

View File

@ -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

View File

@ -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