Screen permission masks

Updated: May 27, 2022

Types of permission masks

Synopsis:

#include <screen/screen.h>
enum {
    SCREEN_PERMISSION_IRWIN = (1 << 0),
    SCREEN_PERMISSION_IWWIN = (1 << 1),
    SCREEN_PERMISSION_IXWIN = (1 << 2),
    SCREEN_PERMISSION_IRTOP = (1 << 4),
    SCREEN_PERMISSION_IWTOP = (1 << 5),
    SCREEN_PERMISSION_IXTOP = (1 << 6),
    SCREEN_PERMISSION_IRPID = (1 << 8),
    SCREEN_PERMISSION_IWPID = (1 << 9),
    SCREEN_PERMISSION_IXPID = (1 << 10),
    SCREEN_PERMISSION_IRPGP = (1 << 12),
    SCREEN_PERMISSION_IWPGP = (1 << 13),
    SCREEN_PERMISSION_IXPGP = (1 << 14),
    SCREEN_PERMISSION_IRUSR = (1 << 16),
    SCREEN_PERMISSION_IWUSR = (1 << 17),
    SCREEN_PERMISSION_IXUSR = (1 << 18),
    SCREEN_PERMISSION_IRGRP = (1 << 20),
    SCREEN_PERMISSION_IWGRP = (1 << 21),
    SCREEN_PERMISSION_IXGRP = (1 << 22),
    SCREEN_PERMISSION_IRAGP = (1 << 24),
    SCREEN_PERMISSION_IWAGP = (1 << 25),
    SCREEN_PERMISSION_IXAGP = (1 << 26),
    SCREEN_PERMISSION_IROTH = (1 << 28),
    SCREEN_PERMISSION_IWOTH = (1 << 29),
    SCREEN_PERMISSION_IXOTH = (1 << 30)
};

Data:

SCREEN_PERMISSION_IRWIN
Read access to the owner of a window.
SCREEN_PERMISSION_IWWIN
Write access to the owner of a window.
SCREEN_PERMISSION_IXWIN
Inject access to the owner of a window.
SCREEN_PERMISSION_IRTOP
Read access to the parent of a window.
SCREEN_PERMISSION_IWTOP
Write access to the parent of a window.
SCREEN_PERMISSION_IXTOP
Inject access to the parent of a window.
SCREEN_PERMISSION_IRPID
Read access to contexts with the same process identifier.
SCREEN_PERMISSION_IWPID
Write access to contexts with the same process identifier.
SCREEN_PERMISSION_IXPID
Inject access to contexts with the same process identifier.
SCREEN_PERMISSION_IRPGP
Read access to others with the same process group identifier.
SCREEN_PERMISSION_IWPGP
Write access to others with the same process group identifier.
SCREEN_PERMISSION_IXPGP
Inject access to others with the same process group identifier.
SCREEN_PERMISSION_IRUSR
Read access to clients with the same user identifier.
SCREEN_PERMISSION_IWUSR
Write access to clients with the same user identifier.
SCREEN_PERMISSION_IXUSR
Inject access to clients with the same user identifier.
SCREEN_PERMISSION_IRGRP
Read access to clients with the same group identifier.
SCREEN_PERMISSION_IWGRP
Write access to clients with the same group identifier.
SCREEN_PERMISSION_IXGRP
Inject access to clients with the same group identifier.
SCREEN_PERMISSION_IRAGP
Read access to others in the same application group.
SCREEN_PERMISSION_IWAGP
Write access to others in the same application group.
SCREEN_PERMISSION_IXAGP
Inject access to others in the same application group.
SCREEN_PERMISSION_IROTH
Read access to all others.
SCREEN_PERMISSION_IWOTH
Write access to all others.
SCREEN_PERMISSION_IXOTH
Inject access to all others.

Library:

libscreen

Description:

These masks are intended to be combined in a single integer bitmask representing combinations of desired permissions to be applied to a window.