glossary.9 (2010 09)

m
glossary(9) glossary(9)
message queue identifier (msqid)
A unique positive integer created by a msgget(2) system call. Each msqid has a message queue and a
data structure associated with it. The data structure is referred to as
msqid_ds and contains the follow-
ing members:
struct
ipc_perm msg_perm; /* operation permission */
msgqnum_t msg_qnum; /* number of msgs on q */
msglen_t msg_qbytes; /* max number of bytes on q */
msglen_t msg_cbytes; /* current number of bytes on q */
pid_t msg_lspid; /* pid of last msgsnd operation */
pid_t msg_lrpid; /* pid of last msgrcv operation */
time_t msg_stime; /* last msgsnd time */
time_t msg_rtime; /* last msgrcv time */
time_t msg_ctime; /* last change time */
/* Times measured in secs since */
/* 00:00:00 GMT, Jan. 1, 1970 */
Message queue identifiers can be created using ftok (3C).
msg_perm is a ipc_perm structure that specifies the message operation permission (see below). This
structure includes the following members:
uid_t cuid; /* creator user id */
gid_t cgid; /* creator group id */
uid_t uid; /* user id */
gid_t gid; /* group id */
mode_t mode; /* r/w permission */
msg_qnum is the number of messages currently on the queue. msg_qbytes is the maximum number of
bytes allowed on the queue. msg_lspid is the process id of the last process that performed a
msgsnd
operation. msg_lrpid is the process id of the last process that performed a msgrcv operation.
msg_stime is the time of the last msgsnd operation, msg_rtime is the time of the last
msgrcv opera-
tion, and
msg_ctime is the time of the last msgctl (2) operation that changed a member of the above
structure.
message operation permissions
In the msgop(2) and msgctl(2) system call descriptions, the permission required for an operation is indi-
cated for each operation. Whether a particular process has these permissions for an object is determined
by the object’s permission mode bits as follows:
00400 Read by user
00200 Write by user
00060 Read, Write by group
00006 Read, Write by others
Read and Write permissions on a
msqid are granted to a process if one or more of the following are true:
The process’s effective user ID is superuser.
The process’s effective user ID matches
msg_perm.[c]uid in the data structure associated with
msqid and the appropriate bit of the "user" portion (0600) of msg_perm.mode is set.
The process’s effective user ID does not match
msg_perm.[c]uid and either the process’s effective
group ID matches msg_perm.[c]gid or one of msg_perm.[c]gid is in the process’s group access
list and the appropriate bit of the "group" portion (00060) of msg_perm.mode is set.
The process’s effective user ID does not match
msg_perm.[c]uid and the process’s effective group
ID does not match msg_perm.[c]gid and neither of msg_perm.[c]gid is in the process’s group
access list and the appropriate bit of the "other" portion (06) of msg_perm.mode is set.
Otherwise, the corresponding permissions are denied.
metacharacter
A character that has special meaning to the HP-UX shell, as well as to commands such as ed, find, and
grep (see ed(1), find(1), and grep (1)). The set of metacharacters includes: !, ", &, , *, ;, <, >, ?, [,
], , and |. Refer to sh(1) and the related shell manual entries for the meaning associated with each.
See also regular expression.
HP-UX 11i Version 3: September 2010 13 Hewlett-Packard Company 13