Trusted Solaris Developer's Guide

Programming Interface Declarations

These programming interfaces let you manage labels on System V IPC objects. The original unlabeled interfaces are still valid and available. These Trusted Solaris extensions provide access to the label information.

Message Queues

The getmsgqcmwlabel(2) routine gets the message queue CMW label.

The msggetl(2) routine creates a message descriptor at the specified sensitivity label.

See the msgget(2) and msgctl(2) man pages.

 int  getmsgqcmwlabel(int msqid, bclabel_t *cmwlabel);
 int  msggetl(key_t key, int msgflg, bslabel_t *senslabel);

Semaphore Sets

The getsemcmwlabel(2) routine gets the semaphore set CMW label.

The semgetl(2) routine creates a semaphore set at the specified sensitivity label.

 int  getsemcmwlabel(int semid, bclabel_t *cmwlabel);

 int  semgetl(key_t key,
    int nsems,
    int semflg,
    bslabel_t *senslabel);

Shared Memory Regions

The getshmcmwlabel(2) routine gets the shared memory region CMW label.

The shmgetl(2) routine creates a shared memory region at the specified sensitivity label.

 int  getshmcmwlabel(int shmid, bclabel_t *cmwlabel);
 int  shmgetl(key_t key, size_t size, int shmflg, bslabel_t *senslabel);