MAC_CLEARED(3C)MAC_CLEARED(3C)NAME
mac_cleared, mac_clearedlbl, mac_cleared_fl, mac_cleared_fs,
mac_cleared_pl, mac_cleared_ps - report on user's clearance
SYNOPSIS
#include <clearance.h>
int mac_cleared (const struct clearance *clp, const char *lblstr);
int mac_clearedlbl (const struct clearance *clp, mac_t macp);
int mac_cleared_fl (const struct clearance *clp, mac_t macp);
int mac_cleared_fs (const struct clearance *, const char *lblstr);
int mac_cleared_pl (const struct clearance *clp, mac_t macp);
int mac_cleared_ps (const struct clearance *, const char *lblstr);
char *mac_clearance_error (int err);
DESCRIPTION
mac_cleared and mac_clearedlbl return a value indicating whether the user
is cleared for the label pointed to by the input argument lblstr or macp,
respectively. The user's clearance range is defined by the structure
pointed to by the input argument clp. If the user is cleared,
MAC_CLEARED is returned. mac_cleared is equivalent to
mac_cleared_ps(clp, lblstr). mac_clearedlbl is equivalent to
mac_cleared_pl(clp, macp).
mac_cleared_fl checks MAC clearance for setting labels on 'f'iles given a
'l'abel. If the user is cleared, MAC_CLEARED is returned.
mac_cleared_pl checks MAC clearance for setting labels on 'p'rocesses
given a 'l'abel. If the user is cleared, MAC_CLEARED is returned.
mac_cleared_fl checks MAC clearance for setting labels on 'f'iles given a
'l'abel. If the user is cleared, MAC_CLEARED is returned.
mac_cleared_fs checks MAC clearance for setting labels on 'f'iles given a
's'tring. If the user is cleared, MAC_CLEARED is returned.
mac_clearance_error translates one of the error values returned by the
MAC clearance functions into string form.
DIAGNOSTICS
mac_cleared, mac_clearedlbl, mac_cleared_fl, mac_cleared_pl,
mac_cleared_fs, and mac_cleared_ps return
[MAC_NULL_USER_INFO] The clp argument is NULL.
Page 1
MAC_CLEARED(3C)MAC_CLEARED(3C)
[MAC_NULL_REQD_LBL] The label argument is NULL or the user's
clearance label is NULL.
[MAC_BAD_REQD_LBL] The user's requested label is invalid.
[MAC_MSEN_EQUAL] Nobody can login at MSEN_EQUAL.
[MAC_MINT_EQUAL] Only root can login at MINT_EQUAL.
[MAC_BAD_USER_INFO] Bad clearance field in the /etc/clearance
file.
[MAC_BAD_RANGE] Bad label range in the clearance field in
the /etc/clearance file.
[MAC_BAD_NULL_CLEARANCE] No clearance field in the /etc/clearance
file.
[MAC_LBL_TOO_LOW] Only the low bound of the user's clearance
range(s) is not dominated by the user's
requested label.
[MAC_LBL_TOO_HIGH] Only the high bound of the user's clearance
range(s) does not dominate the user's
requested label.
[MAC_INCOMPARABLE] If there is an error with the low and high
label in the user's clearance range(s), or
if the requested label is above and below
the clearance range(s).
[MAC_NO_MEM] No memory available.
SEE ALSOclearance(4), dominance(5)NOTE
Page 2