##
## Freedesktop standard locations (formerly known as X Desktop Group)
##
########################################
##
## Mark the selected type as an xdg_cache_type
##
##
##
## Type to give the xdg_cache_type attribute to
##
##
#
interface(`xdg_cache_content',`
gen_require(`
attribute xdg_cache_type;
')
typeattribute $1 xdg_cache_type;
userdom_user_home_content($1)
')
########################################
##
## Mark the selected type as an xdg_config_type
##
##
##
## Type to give the xdg_config_type attribute to
##
##
#
interface(`xdg_config_content',`
gen_require(`
attribute xdg_config_type;
')
typeattribute $1 xdg_config_type;
userdom_user_home_content($1)
')
########################################
##
## Mark the selected type as an xdg_data_type
##
##
##
## Type to give the xdg_data_type attribute to
##
##
#
interface(`xdg_data_content',`
gen_require(`
attribute xdg_data_type;
')
typeattribute $1 xdg_data_type;
userdom_user_home_content($1)
')
########################################
##
## Read the xdg cache home files
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_read_cache_files',`
gen_require(`
type xdg_cache_t;
')
read_files_pattern($1, xdg_cache_t, xdg_cache_t)
list_dirs_pattern($1, xdg_cache_t, xdg_cache_t)
userdom_search_user_home_dirs($1)
')
########################################
##
## Read all xdg_cache_type files
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_read_all_cache_files',`
gen_require(`
attribute xdg_cache_type;
')
read_files_pattern($1, xdg_cache_type, xdg_cache_type)
userdom_search_user_home_dirs($1)
')
########################################
##
## Create objects in an xdg_cache directory
## with an automatic type transition to
## a specified private type.
##
##
##
## Domain allowed access.
##
##
##
##
## The type of the object to create.
##
##
##
##
## The class of the object to be created.
##
##
##
##
## Name of the file or directory created
##
##
#
interface(`xdg_cache_filetrans',`
gen_require(`
type xdg_cache_t;
')
userdom_search_user_home_dirs($1)
filetrans_pattern($1, xdg_cache_t, $2, $3, $4)
xdg_create_cache_dirs($1)
xdg_generic_user_home_dir_filetrans_cache($1, dir, ".cache")
')
########################################
##
## Create objects in the user home dir with an automatic type transition to
## the xdg_cache_t type.
##
##
##
## Domain allowed access.
##
##
##
##
## The class of the object to be created.
##
##
##
##
## Name of the directory created
##
##
#
interface(`xdg_generic_user_home_dir_filetrans_cache',`
gen_require(`
type xdg_cache_t;
')
userdom_user_home_dir_filetrans($1, xdg_cache_t, $2, $3)
')
########################################
##
## Create xdg cache home directories
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_create_cache_dirs',`
gen_require(`
type xdg_cache_t;
')
allow $1 xdg_cache_t:dir create_dir_perms;
')
########################################
##
## Manage the xdg cache home files
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_manage_cache',`
gen_require(`
type xdg_cache_t;
')
manage_dirs_pattern($1, xdg_cache_t, xdg_cache_t)
manage_files_pattern($1, xdg_cache_t, xdg_cache_t)
manage_lnk_files_pattern($1, xdg_cache_t, xdg_cache_t)
manage_fifo_files_pattern($1, xdg_cache_t, xdg_cache_t)
manage_sock_files_pattern($1, xdg_cache_t, xdg_cache_t)
userdom_search_user_home_dirs($1)
')
########################################
##
## Manage all the xdg cache home files regardless of their specific type
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_manage_all_cache',`
gen_require(`
attribute xdg_cache_type;
')
manage_dirs_pattern($1, xdg_cache_type, xdg_cache_type)
manage_files_pattern($1, xdg_cache_type, xdg_cache_type)
manage_lnk_files_pattern($1, xdg_cache_type, xdg_cache_type)
manage_fifo_files_pattern($1, xdg_cache_type, xdg_cache_type)
manage_sock_files_pattern($1, xdg_cache_type, xdg_cache_type)
userdom_search_user_home_dirs($1)
')
########################################
##
## Allow relabeling the xdg cache home files
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_relabel_cache',`
gen_require(`
type xdg_cache_t;
')
relabel_dirs_pattern($1, xdg_cache_t, xdg_cache_t)
relabel_files_pattern($1, xdg_cache_t, xdg_cache_t)
relabel_lnk_files_pattern($1, xdg_cache_t, xdg_cache_t)
relabel_fifo_files_pattern($1, xdg_cache_t, xdg_cache_t)
relabel_sock_files_pattern($1, xdg_cache_t, xdg_cache_t)
userdom_search_user_home_dirs($1)
')
########################################
##
## Allow relabeling the xdg cache home files, regardless of their specific type
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_relabel_all_cache',`
gen_require(`
attribute xdg_cache_type;
')
relabel_dirs_pattern($1, xdg_cache_type, xdg_cache_type)
relabel_files_pattern($1, xdg_cache_type, xdg_cache_type)
relabel_lnk_files_pattern($1, xdg_cache_type, xdg_cache_type)
relabel_fifo_files_pattern($1, xdg_cache_type, xdg_cache_type)
relabel_sock_files_pattern($1, xdg_cache_type, xdg_cache_type)
userdom_search_user_home_dirs($1)
')
########################################
##
## Search through the xdg config home directories
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_search_config_dirs',`
gen_require(`
type xdg_config_t;
')
search_dirs_pattern($1, xdg_config_t, xdg_config_t)
userdom_search_user_home_dirs($1)
')
########################################
##
## Read the xdg config home files
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_read_config_files',`
gen_require(`
type xdg_config_t;
')
read_files_pattern($1, xdg_config_t, xdg_config_t)
list_dirs_pattern($1, xdg_config_t, xdg_config_t)
userdom_search_user_home_dirs($1)
')
########################################
##
## Read all xdg_config_type files
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_read_all_config_files',`
gen_require(`
attribute xdg_config_type;
')
read_files_pattern($1, xdg_config_type, xdg_config_type)
userdom_search_user_home_dirs($1)
')
########################################
##
## Create objects in an xdg_config directory
## with an automatic type transition to
## a specified private type.
##
##
##
## Domain allowed access.
##
##
##
##
## The type of the object to create.
##
##
##
##
## The class of the object to be created.
##
##
##
##
## Name of the file or directory created
##
##
#
interface(`xdg_config_filetrans',`
gen_require(`
type xdg_config_t;
')
userdom_search_user_home_dirs($1)
filetrans_pattern($1, xdg_config_t, $2, $3, $4)
xdg_create_config_dirs($1)
xdg_generic_user_home_dir_filetrans_config($1, dir, ".config")
')
########################################
##
## Create objects in the user home dir with an automatic type transition to
## the xdg_config_t type.
##
##
##
## Domain allowed access.
##
##
##
##
## The class of the object to be created.
##
##
##
##
## Name of the directory created
##
##
#
interface(`xdg_generic_user_home_dir_filetrans_config',`
gen_require(`
type xdg_config_t;
')
userdom_user_home_dir_filetrans($1, xdg_config_t, $2, $3)
')
########################################
##
## Create xdg config home directories
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_create_config_dirs',`
gen_require(`
type xdg_config_t;
')
allow $1 xdg_config_t:dir create_dir_perms;
')
########################################
##
## Manage the xdg config home files
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_manage_config',`
gen_require(`
type xdg_config_t;
')
manage_dirs_pattern($1, xdg_config_t, xdg_config_t)
manage_files_pattern($1, xdg_config_t, xdg_config_t)
manage_lnk_files_pattern($1, xdg_config_t, xdg_config_t)
manage_fifo_files_pattern($1, xdg_config_t, xdg_config_t)
manage_sock_files_pattern($1, xdg_config_t, xdg_config_t)
userdom_search_user_home_dirs($1)
')
########################################
##
## Manage all the xdg config home files regardless of their specific type
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_manage_all_config',`
gen_require(`
attribute xdg_config_type;
')
manage_dirs_pattern($1, xdg_config_type, xdg_config_type)
manage_files_pattern($1, xdg_config_type, xdg_config_type)
manage_lnk_files_pattern($1, xdg_config_type, xdg_config_type)
manage_fifo_files_pattern($1, xdg_config_type, xdg_config_type)
manage_sock_files_pattern($1, xdg_config_type, xdg_config_type)
userdom_search_user_home_dirs($1)
')
########################################
##
## Allow relabeling the xdg config home files
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_relabel_config',`
gen_require(`
type xdg_config_t;
')
relabel_dirs_pattern($1, xdg_config_t, xdg_config_t)
relabel_files_pattern($1, xdg_config_t, xdg_config_t)
relabel_lnk_files_pattern($1, xdg_config_t, xdg_config_t)
relabel_fifo_files_pattern($1, xdg_config_t, xdg_config_t)
relabel_sock_files_pattern($1, xdg_config_t, xdg_config_t)
userdom_search_user_home_dirs($1)
')
########################################
##
## Allow relabeling the xdg config home files, regardless of their specific type
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_relabel_all_config',`
gen_require(`
attribute xdg_config_type;
')
relabel_dirs_pattern($1, xdg_config_type, xdg_config_type)
relabel_files_pattern($1, xdg_config_type, xdg_config_type)
relabel_lnk_files_pattern($1, xdg_config_type, xdg_config_type)
relabel_fifo_files_pattern($1, xdg_config_type, xdg_config_type)
relabel_sock_files_pattern($1, xdg_config_type, xdg_config_type)
userdom_search_user_home_dirs($1)
')
########################################
##
## Read the xdg data home files
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_read_data_files',`
gen_require(`
type xdg_data_t;
')
read_files_pattern($1, xdg_data_t, xdg_data_t)
list_dirs_pattern($1, xdg_data_t, xdg_data_t)
userdom_search_user_home_dirs($1)
')
########################################
##
## Read all xdg_data_type files
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_read_all_data_files',`
gen_require(`
attribute xdg_data_type;
')
read_files_pattern($1, xdg_data_type, xdg_data_type)
userdom_search_user_home_dirs($1)
')
########################################
##
## Create objects in an xdg_data directory
## with an automatic type transition to
## a specified private type.
##
##
##
## Domain allowed access.
##
##
##
##
## The type of the object to create.
##
##
##
##
## The class of the object to be created.
##
##
##
##
## Optional name of the file or directory created
##
##
#
interface(`xdg_data_filetrans',`
gen_require(`
type xdg_data_t;
')
userdom_search_user_home_dirs($1)
filetrans_pattern($1, xdg_data_t, $2, $3, $4)
xdg_create_data_dirs($1)
xdg_generic_user_home_dir_filetrans_data($1, dir, ".local")
')
########################################
##
## Create objects in the user home dir with an automatic type transition to
## the xdg_data_t type.
##
##
##
## Domain allowed access.
##
##
##
##
## The class of the object to be created.
##
##
##
##
## Name of the directory created
##
##
#
interface(`xdg_generic_user_home_dir_filetrans_data',`
gen_require(`
type xdg_data_t;
')
userdom_user_home_dir_filetrans($1, xdg_data_t, $2, $3)
')
########################################
##
## Create xdg data home directories
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_create_data_dirs',`
gen_require(`
type xdg_data_t;
')
allow $1 xdg_data_t:dir create_dir_perms;
')
########################################
##
## Manage the xdg data home files
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_manage_data',`
gen_require(`
type xdg_data_t;
')
manage_dirs_pattern($1, xdg_data_t, xdg_data_t)
manage_files_pattern($1, xdg_data_t, xdg_data_t)
manage_lnk_files_pattern($1, xdg_data_t, xdg_data_t)
manage_fifo_files_pattern($1, xdg_data_t, xdg_data_t)
manage_sock_files_pattern($1, xdg_data_t, xdg_data_t)
userdom_search_user_home_dirs($1)
')
########################################
##
## Manage all the xdg data home files, regardless of their specific type
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_manage_all_data',`
gen_require(`
attribute xdg_data_type;
')
manage_dirs_pattern($1, xdg_data_type, xdg_data_type)
manage_files_pattern($1, xdg_data_type, xdg_data_type)
manage_lnk_files_pattern($1, xdg_data_type, xdg_data_type)
manage_fifo_files_pattern($1, xdg_data_type, xdg_data_type)
manage_sock_files_pattern($1, xdg_data_type, xdg_data_type)
userdom_search_user_home_dirs($1)
')
########################################
##
## Allow relabeling the xdg data home files
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_relabel_data',`
gen_require(`
type xdg_data_t;
')
relabel_dirs_pattern($1, xdg_data_t, xdg_data_t)
relabel_files_pattern($1, xdg_data_t, xdg_data_t)
relabel_lnk_files_pattern($1, xdg_data_t, xdg_data_t)
relabel_fifo_files_pattern($1, xdg_data_t, xdg_data_t)
relabel_sock_files_pattern($1, xdg_data_t, xdg_data_t)
userdom_search_user_home_dirs($1)
')
########################################
##
## Allow relabeling the xdg data home files, regardless of their type
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_relabel_all_data',`
gen_require(`
attribute xdg_data_type;
')
relabel_dirs_pattern($1, xdg_data_type, xdg_data_type)
relabel_files_pattern($1, xdg_data_type, xdg_data_type)
relabel_lnk_files_pattern($1, xdg_data_type, xdg_data_type)
relabel_fifo_files_pattern($1, xdg_data_type, xdg_data_type)
relabel_sock_files_pattern($1, xdg_data_type, xdg_data_type)
userdom_search_user_home_dirs($1)
')
########################################
##
## Create objects in the user home dir with an automatic type transition to
## the xdg_documents_t type.
##
##
##
## Domain allowed access.
##
##
##
##
## The class of the object to be created.
##
##
##
##
## Name of the directory created
##
##
#
interface(`xdg_generic_user_home_dir_filetrans_documents',`
gen_require(`
type xdg_documents_t;
')
userdom_user_home_dir_filetrans($1, xdg_documents_t, $2, $3)
')
#########################################
##
## Manage documents content
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_manage_documents',`
gen_require(`
type xdg_documents_t;
')
manage_dirs_pattern($1, xdg_documents_t, xdg_documents_t)
manage_files_pattern($1, xdg_documents_t, xdg_documents_t)
')
########################################
##
## Allow relabeling the documents resources
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_relabel_documents',`
gen_require(`
type xdg_documents_t;
')
relabel_dirs_pattern($1, xdg_documents_t, xdg_documents_t)
relabel_files_pattern($1, xdg_documents_t, xdg_documents_t)
relabel_lnk_files_pattern($1, xdg_documents_t, xdg_documents_t)
userdom_search_user_home_dirs($1)
')
#########################################
##
## Read downloaded content
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_read_downloads',`
gen_require(`
type xdg_downloads_t;
')
read_files_pattern($1, xdg_downloads_t, xdg_downloads_t)
userdom_search_user_home_dirs($1)
')
#########################################
##
## Create downloaded content
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_create_downloads',`
gen_require(`
type xdg_downloads_t;
')
create_files_pattern($1, xdg_downloads_t, xdg_downloads_t)
userdom_search_user_home_dirs($1)
')
#########################################
##
## Write downloaded content
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_write_downloads',`
gen_require(`
type xdg_downloads_t;
')
write_files_pattern($1, xdg_downloads_t, xdg_downloads_t)
userdom_search_user_home_dirs($1)
')
########################################
##
## Create objects in the user home dir with an automatic type transition to
## the xdg_downloads_t type.
##
##
##
## Domain allowed access.
##
##
##
##
## The class of the object to be created.
##
##
##
##
## Name of the directory created
##
##
#
interface(`xdg_generic_user_home_dir_filetrans_downloads',`
gen_require(`
type xdg_downloads_t;
')
userdom_user_home_dir_filetrans($1, xdg_downloads_t, $2, $3)
')
#########################################
##
## Manage downloaded content
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_manage_downloads',`
gen_require(`
type xdg_downloads_t;
')
manage_dirs_pattern($1, xdg_downloads_t, xdg_downloads_t)
manage_files_pattern($1, xdg_downloads_t, xdg_downloads_t)
')
########################################
##
## Allow relabeling the downloads resources
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_relabel_downloads',`
gen_require(`
type xdg_downloads_t;
')
relabel_dirs_pattern($1, xdg_downloads_t, xdg_downloads_t)
relabel_files_pattern($1, xdg_downloads_t, xdg_downloads_t)
relabel_lnk_files_pattern($1, xdg_downloads_t, xdg_downloads_t)
userdom_search_user_home_dirs($1)
')
#########################################
##
## Read user pictures content
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_read_pictures',`
gen_require(`
type xdg_pictures_t;
')
read_files_pattern($1, xdg_pictures_t, xdg_pictures_t)
list_dirs_pattern($1, xdg_pictures_t, xdg_pictures_t)
userdom_search_user_home_dirs($1)
')
########################################
##
## Create objects in the user home dir with an automatic type transition to
## the xdg_pictures_t type.
##
##
##
## Domain allowed access.
##
##
##
##
## The class of the object to be created.
##
##
##
##
## Name of the directory created
##
##
#
interface(`xdg_generic_user_home_dir_filetrans_pictures',`
gen_require(`
type xdg_pictures_t;
')
userdom_user_home_dir_filetrans($1, xdg_pictures_t, $2, $3)
')
#########################################
##
## Manage pictures content
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_manage_pictures',`
gen_require(`
type xdg_pictures_t;
')
manage_dirs_pattern($1, xdg_pictures_t, xdg_pictures_t)
manage_files_pattern($1, xdg_pictures_t, xdg_pictures_t)
')
########################################
##
## Allow relabeling the pictures resources
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_relabel_pictures',`
gen_require(`
type xdg_pictures_t;
')
relabel_dirs_pattern($1, xdg_pictures_t, xdg_pictures_t)
relabel_files_pattern($1, xdg_pictures_t, xdg_pictures_t)
relabel_lnk_files_pattern($1, xdg_pictures_t, xdg_pictures_t)
userdom_search_user_home_dirs($1)
')
#########################################
##
## Read user music content
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_read_music',`
gen_require(`
type xdg_music_t;
')
read_files_pattern($1, xdg_music_t, xdg_music_t)
list_dirs_pattern($1, xdg_music_t, xdg_music_t)
userdom_search_user_home_dirs($1)
')
########################################
##
## Create objects in the user home dir with an automatic type transition to
## the xdg_pictures_t type.
##
##
##
## Domain allowed access.
##
##
##
##
## The class of the object to be created.
##
##
##
##
## Name of the directory created
##
##
#
interface(`xdg_generic_user_home_dir_filetrans_music',`
gen_require(`
type xdg_music_t;
')
userdom_user_home_dir_filetrans($1, xdg_music_t, $2, $3)
')
#########################################
##
## Manage music content
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_manage_music',`
gen_require(`
type xdg_music_t;
')
manage_dirs_pattern($1, xdg_music_t, xdg_music_t)
manage_files_pattern($1, xdg_music_t, xdg_music_t)
')
########################################
##
## Allow relabeling the music resources
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_relabel_music',`
gen_require(`
type xdg_music_t;
')
relabel_dirs_pattern($1, xdg_music_t, xdg_music_t)
relabel_files_pattern($1, xdg_music_t, xdg_music_t)
relabel_lnk_files_pattern($1, xdg_music_t, xdg_music_t)
userdom_search_user_home_dirs($1)
')
#########################################
##
## Read user video content
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_read_videos',`
gen_require(`
type xdg_videos_t;
')
read_files_pattern($1, xdg_videos_t, xdg_videos_t)
list_dirs_pattern($1, xdg_videos_t, xdg_videos_t)
userdom_search_user_home_dirs($1)
')
########################################
##
## Create objects in the user home dir with an automatic type transition to
## the xdg_videos_t type.
##
##
##
## Domain allowed access.
##
##
##
##
## The class of the object to be created.
##
##
##
##
## Name of the directory created
##
##
#
interface(`xdg_generic_user_home_dir_filetrans_videos',`
gen_require(`
type xdg_videos_t;
')
userdom_user_home_dir_filetrans($1, xdg_videos_t, $2, $3)
')
#########################################
##
## Manage video content
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_manage_videos',`
gen_require(`
type xdg_videos_t;
')
manage_dirs_pattern($1, xdg_videos_t, xdg_videos_t)
manage_files_pattern($1, xdg_videos_t, xdg_videos_t)
')
########################################
##
## Allow relabeling the videos resources
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_relabel_videos',`
gen_require(`
type xdg_videos_t;
')
relabel_dirs_pattern($1, xdg_videos_t, xdg_videos_t)
relabel_files_pattern($1, xdg_videos_t, xdg_videos_t)
relabel_lnk_files_pattern($1, xdg_videos_t, xdg_videos_t)
userdom_search_user_home_dirs($1)
')
# Gentoo specific under here
# Compat interfaces for old names that were upstreamed
########################################
##
## Mark the selected type as an xdg_cache_home_type
##
##
##
## Type to give the xdg_cache_home_type attribute to
##
##
#
interface(`xdg_cache_home_content',`
xdg_cache_content($1)
')
########################################
##
## Mark the selected type as an xdg_config_home_type
##
##
##
## Type to give the xdg_config_home_type attribute to
##
##
#
interface(`xdg_config_home_content',`
xdg_config_content($1)
')
########################################
##
## Mark the selected type as an xdg_data_home_type
##
##
##
## Type to give the xdg_data_home_type attribute to
##
##
#
interface(`xdg_data_home_content',`
xdg_data_content($1)
')
########################################
##
## Read the xdg cache home files
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_read_cache_home_files',`
xdg_read_cache_files($1)
')
########################################
##
## Read all xdg_cache_home_type files
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_read_all_cache_home_files',`
xdg_read_all_cache_files($1)
')
########################################
##
## Create objects in an xdg_cache_home directory
## with an automatic type transition to
## a specified private type.
##
##
##
## Domain allowed access.
##
##
##
##
## The type of the object to create.
##
##
##
##
## The class of the object to be created.
##
##
##
##
## Name of the file or directory created
##
##
#
interface(`xdg_cache_home_filetrans',`
xdg_cache_filetrans($1, $2, $3, $4)
')
########################################
##
## Create objects in the user home dir with an automatic type transition to
## the xdg_cache_home_t type.
##
##
##
## Domain allowed access.
##
##
##
##
## The class of the object to be created.
##
##
##
##
## Name of the directory created
##
##
#
interface(`xdg_generic_user_home_dir_filetrans_cache_home',`
xdg_generic_user_home_dir_filetrans_cache($1, $2, $3)
')
########################################
##
## Create xdg cache home directories
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_create_cache_home_dirs',`
xdg_create_cache_dirs($1)
')
########################################
##
## Manage the xdg cache home files
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_manage_cache_home',`
xdg_manage_cache($1)
')
########################################
##
## Manage all the xdg cache home files regardless of their specific type
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_manage_all_cache_home',`
xdg_manage_all_cache($1)
')
########################################
##
## Allow relabeling the xdg cache home files
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_relabel_cache_home',`
xdg_relabel_cache($1)
')
########################################
##
## Allow relabeling the xdg cache home files, regardless of their specific type
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_relabel_all_cache_home',`
xdg_relabel_all_cache($1)
')
########################################
##
## Search through the xdg config home directories
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_search_config_home_dirs',`
xdg_search_config_dirs($1)
')
########################################
##
## Read the xdg config home files
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_read_config_home_files',`
xdg_read_config_files($1)
')
########################################
##
## Read all xdg_config_home_type files
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_read_all_config_home_files',`
xdg_read_all_config_files($1)
')
########################################
##
## Create objects in an xdg_config_home directory
## with an automatic type transition to
## a specified private type.
##
##
##
## Domain allowed access.
##
##
##
##
## The type of the object to create.
##
##
##
##
## The class of the object to be created.
##
##
##
##
## Name of the file or directory created
##
##
#
interface(`xdg_config_home_filetrans',`
xdg_config_filetrans($1, $2, $3, $4)
')
########################################
##
## Create objects in the user home dir with an automatic type transition to
## the xdg_config_home_t type.
##
##
##
## Domain allowed access.
##
##
##
##
## The class of the object to be created.
##
##
##
##
## Name of the directory created
##
##
#
interface(`xdg_generic_user_home_dir_filetrans_config_home',`
xdg_generic_user_home_dir_filetrans_config($1, $2, $3)
')
########################################
##
## Create xdg config home directories
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_create_config_home_dirs',`
xdg_create_config_dirs($1)
')
########################################
##
## Manage the xdg config home files
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_manage_config_home',`
xdg_manage_config($1)
')
########################################
##
## Manage all the xdg config home files regardless of their specific type
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_manage_all_config_home',`
xdg_manage_all_config($1)
')
########################################
##
## Allow relabeling the xdg config home files
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_relabel_config_home',`
xdg_relabel_config($1)
')
########################################
##
## Allow relabeling the xdg config home files, regardless of their specific type
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_relabel_all_config_home',`
xdg_relabel_all_config($1)
')
########################################
##
## Read the xdg data home files
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_read_data_home_files',`
xdg_read_data_files($1)
')
########################################
##
## Read all xdg_data_home_type files
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_read_all_data_home_files',`
xdg_read_all_data_files($1)
')
########################################
##
## Create objects in an xdg_data_home directory
## with an automatic type transition to
## a specified private type.
##
##
##
## Domain allowed access.
##
##
##
##
## The type of the object to create.
##
##
##
##
## The class of the object to be created.
##
##
##
##
## Optional name of the file or directory created
##
##
#
interface(`xdg_data_home_filetrans',`
xdg_data_filetrans($1, $2, $3, $4)
')
########################################
##
## Create objects in the user home dir with an automatic type transition to
## the xdg_data_home_t type.
##
##
##
## Domain allowed access.
##
##
##
##
## The class of the object to be created.
##
##
##
##
## Name of the directory created
##
##
#
interface(`xdg_generic_user_home_dir_filetrans_data_home',`
xdg_generic_user_home_dir_filetrans_data($1, $2, $3)
')
########################################
##
## Create xdg data home directories
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_create_data_home_dirs',`
xdg_create_data_dirs($1)
')
########################################
##
## Manage the xdg data home files
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_manage_data_home',`
xdg_manage_data($1)
')
########################################
##
## Manage all the xdg data home files, regardless of their specific type
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_manage_all_data_home',`
xdg_manage_all_data($1)
')
########################################
##
## Allow relabeling the xdg data home files
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_relabel_data_home',`
xdg_relabel_data($1)
')
########################################
##
## Allow relabeling the xdg data home files, regardless of their type
##
##
##
## Domain allowed access.
##
##
#
interface(`xdg_relabel_all_data_home',`
xdg_relabel_all_data($1)
')
#########################################
##
## Read downloaded content
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_read_downloads_home',`
xdg_read_downloads($1)
')
#########################################
##
## Read user video content
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_read_videos_home',`
xdg_read_videos($1)
')
#########################################
##
## Read user pictures content
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_read_pictures_home',`
xdg_read_pictures($1)
')
#########################################
##
## Read user music content
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_read_music_home',`
xdg_read_music($1)
')
#########################################
##
## Create downloaded content
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_create_downloads_home',`
xdg_create_downloads($1)
')
#########################################
##
## Write downloaded content
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_write_downloads_home',`
xdg_write_downloads($1)
')
#########################################
##
## Manage downloaded content
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_manage_downloads_home',`
xdg_manage_downloads($1)
')
#########################################
##
## Manage documents content
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_manage_documents_home',`
xdg_manage_documents($1)
')
#########################################
##
## Manage music content
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_manage_music_home',`
xdg_manage_music($1)
')
#########################################
##
## Manage pictures content
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_manage_pictures_home',`
xdg_manage_pictures($1)
')
#########################################
##
## Manage video content
##
##
##
## Domain allowed access
##
##
#
interface(`xdg_manage_videos_home',`
xdg_manage_videos($1)
')