Provided by: libselinux1-dev_2.7-2build2_amd64 bug


       get_ordered_context_list,     get_ordered_context_list_with_level,    get_default_context,
       get_default_context_with_level,                             get_default_context_with_role,
       get_default_context_with_rolelevel,     query_user_context,     manual_user_enter_context,
       get_default_role - determine SELinux context(s) for user sessions


       #include <selinux/selinux.h>
       #include <selinux/get_context_list.h>

       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

       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() invokes the security_compute_user(3)  function  to  obtain  the
       list  of  contexts  for  the  specified user that are reachable from the specified fromcon
       context.   The  function  then  orders  the   resulting   list   based   on   the   global
       /etc/selinux/{SELINUXTYPE}/contexts/default_contexts     file     and     the     per-user
       /etc/selinux/{SELINUXTYPE}/contexts/users/<username>  file  if  it  exists.   The  fromcon
       parameter  may  be NULL to indicate that the current context should be used.  The function
       returns the number of contexts in the list, or -1 upon errors.  The  list  must  be  freed
       using the freeconary(3) function.

       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

       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.


       get_ordered_context_list()  and get_ordered_context_list_with_level() return the number of
       contexts in the list upon success or -1 upon errors.  The other  functions  return  0  for
       success or -1 for errors.


       selinux(8), freeconary(3), freecon(3), security_compute_av(3), getseuserbyname(3)