From 93ccf479e2621109b4711f0cd4568d2463ae6b68 Mon Sep 17 00:00:00 2001 From: Himanshu40 Date: Wed, 28 Nov 2018 13:34:34 +0530 Subject: psxtests: add POSIX API signature compliance tests for mqueue.h file (GCI 2018) --- testsuites/psxtests/psxhdrs/mqueue/mq_notify.c | 52 ++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 testsuites/psxtests/psxhdrs/mqueue/mq_notify.c (limited to 'testsuites/psxtests/psxhdrs/mqueue/mq_notify.c') 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 + #include + + 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; + } -- cgit v1.2.3