SYNOPSIS

#include <sys/personality.h>

int personality(unsigned long persona);

DESCRIPTION

Linux supports different execution domains, or personalities, for each process. Among other things, execution domains tell Linux how to map signal numbers into signal actions. The execution domain system allows Linux to provide limited support for binaries compiled under other UNIX-like operating systems.

If persona is not 0xffffffff, then personality() sets the caller's execution domain to the value specified by persona. Specifying persona as 0xffffffff provides a way of retrieving the current persona without changing it.

A list of the available execution domains can be found in <sys/personality.h>.

RETURN VALUE

On success, the previous persona is returned. On error, -1 is returned, and errno is set appropriately.

ERRORS

EINVAL

The kernel was unable to change the personality.

CONFORMING TO

personality() is Linux-specific and should not be used in programs intended to be portable.

COLOPHON

This page is part of release 3.74 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at http://www.kernel.org/doc/man-pages/.