Solaris Trusted Extensions Reference Manual
この本のみを検索
この本を見る:
PDF 文書ファイルをダウンロードする (937 KB)

System Calls

fgetlabel(2)

NAME | Synopsis | Description | Return Values | Errors | Attributes | See Also

NAME

    getlabel, fgetlabel – get file sensitivity label

Synopsis

    cc [flags...] file... -ltsol [library...]
    #include <tsol/label.h>
    
    int getlabel(const char *path, m_label_t *label_p);
    int fgetlabel(int fd, m_label_t *label_p);

Description

    getlabel() obtains the sensitivity label of the file that is named by path. Discretionary read, write or execute permission to the final component of path is not required, but all directories in the path prefix of path must be searchable.

    fgetlabel() obtains the label of an open file that is referred to by the argument descriptor, such as would be obtained by an open(2) call.

    label_p is a pointer to an opaque label structure. The caller must allocate space for label_p by using m_label_alloc(3TSOL).

Return Values

    getlabel() and fgetlabel() return:

    0

    On success.

    -1

    On failure, and set errno to indicate the error.

Errors

    getlabel() fails if one or more of the following are true:

    EACCES

    Search permission is denied for a component of the path prefix of path. To override this restriction, the calling process can assert the PRIV_FILE_DAC_SEARCH privilege.

    EFAULT

    label_p or path points to an invalid address.

    EIO

    An I/O error occurred while reading from or writing to the file system.

    ELOOP

    Too many symbolic links were encountered in translating path.

    ENAMETOOLONG

    The length of the path argument exceeds PATH_MAX.

    A pathname component is longer than NAME_MAX while _POSIX_NO_TRUNC is in effect (see pathconf(2)).

    ENOENT

    The file referred to by path does not exist.

    ENOTDIR

    A component of the path prefix of path is not a directory.

    fgetlabel() fails if one or more of the following are true:

    EBADF

    fd is not a valid open file descriptor.

    EFAULT

    label_p points to an invalid address.

    EIO

    An I/O error occurred while reading from or writing to the file system.

Attributes

    See attributes(5) for descriptions of the following attributes:

    ATTRIBUTE TYPE

    ATTRIBUTE VALUE

    Availability

    SUNWcslr

    Interface Stability

    Stable

See Also

SunOS 5.10 Last Revised 31 May 2006

NAME | Synopsis | Description | Return Values | Errors | Attributes | See Also

getlabel(2)

NAME | Synopsis | Description | Return Values | Errors | Attributes | See Also

NAME

    getlabel, fgetlabel – get file sensitivity label

Synopsis

    cc [flags...] file... -ltsol [library...]
    #include <tsol/label.h>
    
    int getlabel(const char *path, m_label_t *label_p);
    int fgetlabel(int fd, m_label_t *label_p);

Description

    getlabel() obtains the sensitivity label of the file that is named by path. Discretionary read, write or execute permission to the final component of path is not required, but all directories in the path prefix of path must be searchable.

    fgetlabel() obtains the label of an open file that is referred to by the argument descriptor, such as would be obtained by an open(2) call.

    label_p is a pointer to an opaque label structure. The caller must allocate space for label_p by using m_label_alloc(3TSOL).

Return Values

    getlabel() and fgetlabel() return:

    0

    On success.

    -1

    On failure, and set errno to indicate the error.

Errors

    getlabel() fails if one or more of the following are true:

    EACCES

    Search permission is denied for a component of the path prefix of path. To override this restriction, the calling process can assert the PRIV_FILE_DAC_SEARCH privilege.

    EFAULT

    label_p or path points to an invalid address.

    EIO

    An I/O error occurred while reading from or writing to the file system.

    ELOOP

    Too many symbolic links were encountered in translating path.

    ENAMETOOLONG

    The length of the path argument exceeds PATH_MAX.

    A pathname component is longer than NAME_MAX while _POSIX_NO_TRUNC is in effect (see pathconf(2)).

    ENOENT

    The file referred to by path does not exist.

    ENOTDIR

    A component of the path prefix of path is not a directory.

    fgetlabel() fails if one or more of the following are true:

    EBADF

    fd is not a valid open file descriptor.

    EFAULT

    label_p points to an invalid address.

    EIO

    An I/O error occurred while reading from or writing to the file system.

Attributes

    See attributes(5) for descriptions of the following attributes:

    ATTRIBUTE TYPE

    ATTRIBUTE VALUE

    Availability

    SUNWcslr

    Interface Stability

    Stable

See Also

SunOS 5.10 Last Revised 31 May 2006

NAME | Synopsis | Description | Return Values | Errors | Attributes | See Also