int get_ordered_context_list(const char *user, char *fromcon, char ***list);
int get_ordered_context_list_with_level(const char *user, const char *level, char *fromcon, char ***list);
int get_default_context(const char *user, char *fromcon, char **newcon);
int get_default_context_with_level(const char *user, const char *level, char *fromcon, char **newcon);
int get_default_context_with_role(const char *user, const char *role, char *fromcon, char **newcon);
int get_default_context_with_rolelevel(const char *user, const char *role, const char *level, char *fromcon, char **newcon);
int query_user_context(char **list, char **newcon);
int manual_user_enter_context(const char *user, char **newcon);
int get_default_type(const char *role, char **type);
get_ordered_context_list_with_level() invokes the get_ordered_context_list() function and applies the specified level.
get_default_context() is the same as get_ordered_context_list() but only returns a single context which has to be freed with freecon(3).
get_default_context_with_level() invokes the get_default_context() function and applies the specified level.
get_default_context_with_role() is the same as get_default_context() but only returns a context with the specified role, returning -1 if no such context is reachable for the user.
get_default_context_with_rolelevel() invokes the get_default_context_with_role() function and applies the specified level.
query_user_context() takes a list of contexts, queries the user via stdin/stdout as to which context they want, and returns a new context as selected by the user (which has to be freed with freecon(3)).
manual_user_enter_context() allows the user to manually enter a context as a fallback if a list of authorized contexts could not be obtained. Caller must free via freecon(3).
get_default_type() Get the default type (domain) for role and set type to refer to it, which has to be freed with free.