12184c93cSStathis Kamperis /* $NetBSD: mqueue.h,v 1.4 2009/01/11 03:04:12 christos Exp $ */ 22184c93cSStathis Kamperis 32184c93cSStathis Kamperis /* 42184c93cSStathis Kamperis * Copyright (c) 2007, Mindaugas Rasiukevicius <rmind at NetBSD org> 52184c93cSStathis Kamperis * All rights reserved. 62184c93cSStathis Kamperis * 72184c93cSStathis Kamperis * Redistribution and use in source and binary forms, with or without 82184c93cSStathis Kamperis * modification, are permitted provided that the following conditions 92184c93cSStathis Kamperis * are met: 102184c93cSStathis Kamperis * 1. Redistributions of source code must retain the above copyright 112184c93cSStathis Kamperis * notice, this list of conditions and the following disclaimer. 122184c93cSStathis Kamperis * 2. Redistributions in binary form must reproduce the above copyright 132184c93cSStathis Kamperis * notice, this list of conditions and the following disclaimer in the 142184c93cSStathis Kamperis * documentation and/or other materials provided with the distribution. 152184c93cSStathis Kamperis * 162184c93cSStathis Kamperis * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 172184c93cSStathis Kamperis * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 182184c93cSStathis Kamperis * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 192184c93cSStathis Kamperis * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 202184c93cSStathis Kamperis * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 212184c93cSStathis Kamperis * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 222184c93cSStathis Kamperis * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 232184c93cSStathis Kamperis * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 242184c93cSStathis Kamperis * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 252184c93cSStathis Kamperis * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 262184c93cSStathis Kamperis * SUCH DAMAGE. 272184c93cSStathis Kamperis */ 282184c93cSStathis Kamperis 292184c93cSStathis Kamperis #ifndef _MQUEUE_H_ 302184c93cSStathis Kamperis #define _MQUEUE_H_ 312184c93cSStathis Kamperis 322184c93cSStathis Kamperis #include <sys/cdefs.h> 332184c93cSStathis Kamperis #include <sys/mqueue.h> 34*1b5a8ba1SSascha Wildner #include <sys/_pthreadtypes.h> 35*1b5a8ba1SSascha Wildner #include <sys/signal.h> 36*1b5a8ba1SSascha Wildner #include <sys/_timespec.h> 37*1b5a8ba1SSascha Wildner 38*1b5a8ba1SSascha Wildner #ifndef _SIZE_T_DECLARED 39*1b5a8ba1SSascha Wildner typedef __size_t size_t; 40*1b5a8ba1SSascha Wildner #define _SIZE_T_DECLARED 41*1b5a8ba1SSascha Wildner #endif 42*1b5a8ba1SSascha Wildner 43*1b5a8ba1SSascha Wildner #ifndef _SSIZE_T_DECLARED 44*1b5a8ba1SSascha Wildner typedef __ssize_t ssize_t; 45*1b5a8ba1SSascha Wildner #define _SSIZE_T_DECLARED 46*1b5a8ba1SSascha Wildner #endif 472184c93cSStathis Kamperis 482184c93cSStathis Kamperis __BEGIN_DECLS 492184c93cSStathis Kamperis int mq_close(mqd_t); 502184c93cSStathis Kamperis int mq_getattr(mqd_t, struct mq_attr *); 512184c93cSStathis Kamperis int mq_notify(mqd_t, const struct sigevent *); 522184c93cSStathis Kamperis mqd_t mq_open(const char *, int, ...); 532184c93cSStathis Kamperis ssize_t mq_receive(mqd_t, char *, size_t, unsigned *); 542184c93cSStathis Kamperis int mq_send(mqd_t, const char *, size_t, unsigned); 552184c93cSStathis Kamperis int mq_setattr(mqd_t, const struct mq_attr * __restrict, 562184c93cSStathis Kamperis struct mq_attr * __restrict); 572184c93cSStathis Kamperis ssize_t mq_timedreceive(mqd_t, char * __restrict, size_t, 582184c93cSStathis Kamperis unsigned * __restrict, const struct timespec * __restrict); 592184c93cSStathis Kamperis int mq_timedsend(mqd_t, const char *, size_t, unsigned, 602184c93cSStathis Kamperis const struct timespec *); 612184c93cSStathis Kamperis int mq_unlink(const char *); 622184c93cSStathis Kamperis __END_DECLS 632184c93cSStathis Kamperis 642184c93cSStathis Kamperis #endif /* _MQUEUE_H_ */ 652184c93cSStathis Kamperis 66