diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2007-02-14 10:06:46 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2007-02-14 10:06:46 +0000 |
commit | 7b487ba942079101fdedf8fced7a6d90c2c62b0b (patch) | |
tree | a93007d0b748360f3e48d5c3268a17dd98c6d4c6 /winsup/cygwin/include/mqueue.h | |
parent | 77da924b40fd4396e88df54bf6dc5d01db0907ee (diff) | |
download | cygnal-7b487ba942079101fdedf8fced7a6d90c2c62b0b.tar.gz cygnal-7b487ba942079101fdedf8fced7a6d90c2c62b0b.tar.bz2 cygnal-7b487ba942079101fdedf8fced7a6d90c2c62b0b.zip |
* 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.
Diffstat (limited to 'winsup/cygwin/include/mqueue.h')
-rw-r--r-- | winsup/cygwin/include/mqueue.h | 45 |
1 files changed, 45 insertions, 0 deletions
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 <time.h> +#include <sys/types.h> +#include <sys/signal.h> +#include <sys/cdefs.h> + +#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 */ |