* 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.
This commit is contained in:
45
winsup/cygwin/include/mqueue.h
Normal file
45
winsup/cygwin/include/mqueue.h
Normal file
@ -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 */
|
Reference in New Issue
Block a user