The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
Copyright © 2001-2004 The IEEE and The Open Group, All Rights reserved.

#### NAME

> sys/msg.h - XSI message queue structures

#### SYNOPSIS

> `[XSI] #include <sys/msg.h>`

#### DESCRIPTION

> The <sys/msg.h> header shall define the following data types through typedef:

> msgqnum_t
>   Used for the number of messages in the message queue.
> msglen_t
>   Used for the number of bytes allowed in a message queue.

> These types shall be unsigned integer types that are able to store values at least as large as a type unsigned short.

> The <sys/msg.h> header shall define the following constant as a message operation flag:

> MSG_NOERROR
>   No error if big message.

> The msqid_ds structure shall contain the following members:

>     struct ipc_perm msg_perm   Operation permission structure.
>     msgqnum_t       msg_qnum   Number of messages currently on queue.
>     msglen_t        msg_qbytes Maximum number of bytes allowed on queue.
>     pid_t           msg_lspid  Process ID of last msgsnd
>      ().
>     pid_t           msg_lrpid  Process ID of last msgrcv
>      ().
>     time_t          msg_stime  Time of last msgsnd
>      ().
>     time_t          msg_rtime  Time of last msgrcv
>      ().
>     time_t          msg_ctime  Time of last change.

> The pid_t, time_t, key_t, size_t, and ssize_t types shall be defined as described in <sys/types.h>.

> The following shall be declared as functions and may also be defined as macros. Function prototypes shall be provided.

>     int       msgctl(int, int, struct msqid_ds *);
>     int       msgget(key_t, int);
>     ssize_t   msgrcv(int, void *, size_t, long, int);
>     int       msgsnd(int, const void *, size_t, int);

> In addition, all of the symbols from <sys/ipc.h> shall be defined when this header is included.

The following sections are informative.

#### APPLICATION USAGE

> None.

#### RATIONALE

> None.

#### FUTURE DIRECTIONS

> None.

#### SEE ALSO

> <sys/ipc.h>, <sys/types.h>, msgctl(), msgget(), msgrcv(), msgsnd()

#### CHANGE HISTORY

> First released in Issue 2. Derived from System V Release 2.0.

End of informative text.

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[ Main Index | XBD | XCU | XSH | XRAT ]