1ec3d1a
## <summary>Load keyboard mappings.</summary>
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	Execute the loadkeys program in the loadkeys domain.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed to transition.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`loadkeys_domtrans',`
1ec3d1a
	gen_require(`
1ec3d1a
		type loadkeys_t, loadkeys_exec_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	corecmd_search_bin($1)
1ec3d1a
	domtrans_pattern($1, loadkeys_exec_t, loadkeys_t)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
	ifdef(`hide_broken_symptoms',`
Chris PeBenito 9401ae1
		dontaudit loadkeys_t $1:socket_class_set { read write };
Chris PeBenito 9401ae1
	')
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	Execute the loadkeys program in the loadkeys domain.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed to transition.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
## <param name="role">
1ec3d1a
##	<summary>
1ec3d1a
##	The role to allow the loadkeys domain.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
## <rolecap/>
1ec3d1a
#
1ec3d1a
interface(`loadkeys_run',`
1ec3d1a
	gen_require(`
1ec3d1a
		type loadkeys_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	loadkeys_domtrans($1)
1ec3d1a
	role $2 types loadkeys_t;
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	Execute the loadkeys program in the caller domain.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`loadkeys_exec',`
1ec3d1a
	gen_require(`
1ec3d1a
		type loadkeys_exec_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	can_exec($1, loadkeys_exec_t)
1ec3d1a
')