diff options
author | Himanshu40 <himanshuwindows8.1@gmail.com> | 2018-11-28 13:34:34 +0530 |
---|---|---|
committer | Joel Sherrill <joel@rtems.org> | 2018-11-28 10:59:24 -0600 |
commit | 93ccf479e2621109b4711f0cd4568d2463ae6b68 (patch) | |
tree | a6b6eb7ef474853ccd100d121113f82212c83e58 /testsuites/psxtests/psxhdrs/mqueue/mq_notify.c | |
parent | lm3s3749-testsuite.tcfg: Add dl07 (diff) | |
download | rtems-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.c | 52 |
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; + } |