]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - rt/mqueue.h
Installed-header hygiene (BZ#20366): time.h types.
[thirdparty/glibc.git] / rt / mqueue.h
index d8c5e43f643d8c1ee6f4abcb75349b77bde5048b..db6022f0f1852fbf7f6fc2b40cb3f5728f82c70e 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2016 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -12,9 +12,8 @@
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
 
 #ifndef _MQUEUE_H
 #define _MQUEUE_H      1
@@ -24,8 +23,7 @@
 #include <fcntl.h>
 #define __need_sigevent_t
 #include <bits/siginfo.h>
-#define __need_timespec
-#include <time.h>
+#include <bits/types/struct_timespec.h>
 /* Get the definition of mqd_t and struct mq_attr.  */
 #include <bits/mqueue.h>
 
@@ -38,7 +36,7 @@ __BEGIN_DECLS
    argument is taken as `struct mq_attr *', pointer to message queue
    attributes.  If the fourth argument is NULL, default attributes are
    used.  */
-extern mqd_t mq_open (__const char *__name, int __oflag, ...)
+extern mqd_t mq_open (const char *__name, int __oflag, ...)
   __THROW __nonnull ((1));
 
 /* Removes the association between message queue descriptor MQDES and its
@@ -52,16 +50,16 @@ extern int mq_getattr (mqd_t __mqdes, struct mq_attr *__mqstat)
 /* Set attributes associated with message queue MQDES and if OMQSTAT is
    not NULL also query its old attributes.  */
 extern int mq_setattr (mqd_t __mqdes,
-                      __const struct mq_attr *__restrict __mqstat,
+                      const struct mq_attr *__restrict __mqstat,
                       struct mq_attr *__restrict __omqstat)
   __THROW __nonnull ((2));
 
 /* Remove message queue named NAME.  */
-extern int mq_unlink (__const char *__name) __THROW __nonnull ((1));
+extern int mq_unlink (const char *__name) __THROW __nonnull ((1));
 
 /* Register notification issued upon message arrival to an empty
    message queue MQDES.  */
-extern int mq_notify (mqd_t __mqdes, __const struct sigevent *__notification)
+extern int mq_notify (mqd_t __mqdes, const struct sigevent *__notification)
      __THROW;
 
 /* Receive the oldest from highest priority messages in message queue
@@ -70,7 +68,7 @@ extern ssize_t mq_receive (mqd_t __mqdes, char *__msg_ptr, size_t __msg_len,
                           unsigned int *__msg_prio) __nonnull ((2));
 
 /* Add message pointed by MSG_PTR to message queue MQDES.  */
-extern int mq_send (mqd_t __mqdes, __const char *__msg_ptr, size_t __msg_len,
+extern int mq_send (mqd_t __mqdes, const char *__msg_ptr, size_t __msg_len,
                    unsigned int __msg_prio) __nonnull ((2));
 
 #ifdef __USE_XOPEN2K
@@ -79,15 +77,21 @@ extern int mq_send (mqd_t __mqdes, __const char *__msg_ptr, size_t __msg_len,
 extern ssize_t mq_timedreceive (mqd_t __mqdes, char *__restrict __msg_ptr,
                                size_t __msg_len,
                                unsigned int *__restrict __msg_prio,
-                               __const struct timespec *__restrict __abs_timeout)
-  __nonnull ((1, 4));
+                               const struct timespec *__restrict __abs_timeout)
+  __nonnull ((2, 5));
 
 /* Add message pointed by MSG_PTR to message queue MQDES, stop blocking
    on full message queue if ABS_TIMEOUT expires.  */
-extern int mq_timedsend (mqd_t __mqdes, __const char *__msg_ptr,
+extern int mq_timedsend (mqd_t __mqdes, const char *__msg_ptr,
                         size_t __msg_len, unsigned int __msg_prio,
-                        __const struct timespec *__abs_timeout)
-  __nonnull ((1, 4));
+                        const struct timespec *__abs_timeout)
+  __nonnull ((2, 5));
+#endif
+
+/* Define some inlines helping to catch common problems.  */
+#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function \
+    && defined __va_arg_pack_len
+# include <bits/mqueue2.h>
 #endif
 
 __END_DECLS