HP-UX Reference (11i v2 04/09) - 2 System Calls (vol 5)
m
mq_open(2) mq_open(2)
b. Contain no pathname component consisting of a dot or dot-dot; e.g.,
/./tmp and /../tmp.
c. Contain no illegal characters.
d. Contain no pathname components longer that
_POSIX_NAME_MAX
.
e. Entire name should not be longer that
_POSIX_PATH_MAX
.
To use this function, link in the realtime library by specifying
-lrt on the compiler or linker command
line.
RETURN VALUE
mq_open() returns the following values:
n Successful completion. n is a message queue descriptor for the opened message queue and is
greater than or equal to
0.
-1 Failure.
errno is set to indicate the error.
ERRORS
If
mq_open() fails, errno is set to one of the following values:
[EACCES] The message queue exists and the permissions specified by oflag are denied, or the
message queue does not exist and permission to create the queue is denied.
[EEXIST] The
O_CREAT and O_EXCL flags are set in oflag and the named message queue
exists.
[EINTR]
mq_open() was interrupted by a signal.
[EINVAL] The argument name, does not conform to the Message Queue Naming Convention .
O_CREAT has been specified in oflag, the value of attr is not NULL, and either
mq_maxmsg or mq_msgsize is less than or equal to zero.
[EMFILE] Too many message queue descriptors are currently in use by this process.
[ENAMETOOLONG]
The length of the name string exceeds
PATH_MAX bytes, or the length of a (path-
name) component of the name string exceeds NAME_MAX bytes while
_POSIX_NO_TRUNC is in effect.
[ENFILE] Too many message queues are currently open in the system.
[ENOENT] The
O_CREAT flag is not set in oflag and the named message queue does not exist.
[ENOSPC] There are insufficient resources for the creation of the new message queue.
[ENOSYS]
mq_open() is not supported by the implementation.
SEE ALSO
mq_close(2), mq_unlink(2), mq_send(2), mq_receive(2), mq_setattr(2), mq_getattr(2).
STANDARDS CONFORMANCE
mq_open(): POSIX 1003.1b
HP-UX 11i Version 2: September 2004 − 2 − Hewlett-Packard Company Section 2−−183