NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO
#include <sys/tsol/ipcl.h>int getmsgqcmwlabel(int msgqid, bclabel_t *clabel);
These functions return the value of the CMW labels associated with message queues, shared memory, and semaphore structures.
getmsgqcmwlabel() returns the CMW label for the message queue identified by msgqid into the label buffer to which clabel points. The information label portion of the CMW label is undefined for message queues; therefore the sensitivity label portion may have to be extracted using getcsl(3TSOL) in order to be useful.
getshmcmwlabel() returns the CMW label for the shared-memory segment identified by shmid into the label buffer to which clabel points.
getsemcmwlabel() returns the CMW label for the semaphore array identified by semid into the label buffer to which clabel points.
The calling process must have mandatory read access to the IPC or must have asserted the PRIV_IPC_MAC_READ
privilege, and must have discretionary read access to the data structure or must have the PRIV_IPC_DAC_READ
privilege in its set of effective privileges.
getmsgqcmwlabel(), getshmcmwlabel(), and getsemcmwlabel() return:
On success.
On failure, and sets errno to indicate the error.
These functions will fail if any of these conditions is true:
Read access is denied to the calling process, which does not have one or both of these privileges in its set of effective privileges: PRIV_IPC_DAC_READ
and PRIV_IPC_MAC_READ
.
msgqid,semid, or shmid is not a valid IPC object identifier.
clabel points to an illegal address.
NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO