summaryrefslogtreecommitdiffstats
path: root/testsuites/psxtests/psxhdrs/mqueue/mq_notify.c
diff options
context:
space:
mode:
authorHimanshu40 <himanshuwindows8.1@gmail.com>2018-11-28 13:34:34 +0530
committerJoel Sherrill <joel@rtems.org>2018-11-28 10:59:24 -0600
commit93ccf479e2621109b4711f0cd4568d2463ae6b68 (patch)
treea6b6eb7ef474853ccd100d121113f82212c83e58 /testsuites/psxtests/psxhdrs/mqueue/mq_notify.c
parentlm3s3749-testsuite.tcfg: Add dl07 (diff)
downloadrtems-93ccf479e2621109b4711f0cd4568d2463ae6b68.tar.bz2
psxtests: add POSIX API signature compliance tests for mqueue.h file (GCI 2018)
Diffstat (limited to 'testsuites/psxtests/psxhdrs/mqueue/mq_notify.c')
-rw-r--r--testsuites/psxtests/psxhdrs/mqueue/mq_notify.c52
1 files changed, 52 insertions, 0 deletions
diff --git a/testsuites/psxtests/psxhdrs/mqueue/mq_notify.c b/testsuites/psxtests/psxhdrs/mqueue/mq_notify.c
new file mode 100644
index 0000000000..3b4ace44a0
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/mqueue/mq_notify.c
@@ -0,0 +1,52 @@
+/**
+ * @file
+ * @brief mq_notify() API Conformance Test
+ */
+
+ /*
+ * COPYRIGHT (c) 2018.
+ * Himanshu Sekhar Nayak
+ *
+ * Permission to use, copy, modify, and/or distribute this software
+ * for any purpose with or without fee is hereby granted.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+ * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR
+ * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
+ * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+ #ifdef HAVE_CONFIG_H
+ #include "config.h"
+ #endif
+
+ #include <fcntl.h>
+ #include <mqueue.h>
+
+ int test( void );
+
+ #define MQ_MAXMSG 1
+ #define MQ_MSGSIZE sizeof(int)
+
+ int test( void )
+ {
+ mqd_t mqdes;
+ struct mq_attr mqstat;
+ struct sigevent sevp;
+ const char *q_name;
+ int result;
+
+ mqstat.mq_maxmsg = MQ_MAXMSG;
+ mqstat.mq_msgsize = MQ_MSGSIZE;
+ sevp.sigev_notify = SIGEV_SIGNAL;
+ sevp.sigev_signo = SIGUSR1;
+ q_name = "queue";
+
+ mqdes = mq_open( q_name, O_CREAT | O_RDWR, 0x777, &mqstat );
+ result = mq_notify( mqdes, &sevp );
+
+ return result;
+ }