diff options
Diffstat (limited to 'testsuites/psxtests/psxhdrs/mqueue/mq_send.c')
-rw-r--r-- | testsuites/psxtests/psxhdrs/mqueue/mq_send.c | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/testsuites/psxtests/psxhdrs/mqueue/mq_send.c b/testsuites/psxtests/psxhdrs/mqueue/mq_send.c new file mode 100644 index 0000000000..a2f457ce61 --- /dev/null +++ b/testsuites/psxtests/psxhdrs/mqueue/mq_send.c @@ -0,0 +1,53 @@ +/** + * @file + * @brief mq_send() 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; + const char *q_name; + int msg_ptr; + unsigned int msg_prio; + int result; + + mqstat.mq_maxmsg = MQ_MAXMSG; + mqstat.mq_msgsize = MQ_MSGSIZE; + msg_prio = 1; + msg_ptr = 9; + q_name = "queue"; + + mqdes = mq_open( q_name, O_CREAT | O_RDWR, 0x777, &mqstat ); + result = mq_send( mqdes, (const char *)&msg_ptr, MQ_MSGSIZE, msg_prio ); + + return result; + } |