From 7b487ba942079101fdedf8fced7a6d90c2c62b0b Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Wed, 14 Feb 2007 10:06:46 +0000 Subject: * Makefile.in (DLL_OFILES): Add posix_ipc.o. * cygwin.din (mq_close): Export. (mq_getattr): Export. (mq_notify): Export. (mq_open): Export. (mq_receive): Export. (mq_send): Export. (mq_setattr): Export. (mq_timedreceive): Export. (mq_timedsend): Export. (mq_unlink): Export. * posix_ipc.cc: New file implementing the above functions. Move shm_open and shm_unlink from syscalls.cc here. * sysconf.cc (sca): Set value of _SC_MQ_OPEN_MAX to MQ_OPEN_MAX, _SC_MQ_PRIO_MAX to MQ_PRIO_MAX, _SC_MESSAGE_PASSING to _POSIX_MESSAGE_PASSING. * include/limits.h (MQ_OPEN_MAX): Define. (MQ_PRIO_MAX): Define. * include/mqueue.h: New file. * include/cygwin/version.h: Bump API minor number. --- winsup/cygwin/include/mqueue.h | 45 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 winsup/cygwin/include/mqueue.h (limited to 'winsup/cygwin/include/mqueue.h') diff --git a/winsup/cygwin/include/mqueue.h b/winsup/cygwin/include/mqueue.h new file mode 100644 index 000000000..804a80919 --- /dev/null +++ b/winsup/cygwin/include/mqueue.h @@ -0,0 +1,45 @@ +/* mqueue.h: POSIX message queue interface + + Copyright 2007 Red Hat, Inc. + + This file is part of Cygwin. + + This software is a copyrighted work licensed under the terms of the + Cygwin license. Please consult the file "CYGWIN_LICENSE" for + details. */ + +#include +#include +#include +#include + +#ifndef _MQUEUE_H +#define _MQUEUE_H + +__BEGIN_DECLS + +typedef void *mqd_t; + +struct mq_attr { + long mq_flags; /* Message queue flags */ + long mq_maxmsg; /* Max number of messages in queue */ + long mq_msgsize; /* Max message size */ + long mq_curmsgs; /* Current number of messages in queue */ +}; + +int mq_close (mqd_t); +int mq_getattr (mqd_t, struct mq_attr *); +int mq_notify (mqd_t, const struct sigevent *); +mqd_t mq_open (const char *, int, ...); +ssize_t mq_receive (mqd_t, char *, size_t, unsigned int *); +int mq_send (mqd_t, const char *, size_t, unsigned int); +int mq_setattr (mqd_t, const struct mq_attr *, struct mq_attr *); +ssize_t mq_timedreceive (mqd_t, char *, size_t, unsigned int *, + const struct timespec *); +int mq_timedsend (mqd_t, const char *, size_t, unsigned int, + const struct timespec *); +int mq_unlink (const char *name); + +__END_DECLS + +#endif /* _MQUEUE_H */ -- cgit v1.2.3