Chris PeBenito e0d57f
## <summary>PCMCIA card management services</summary>
Chris PeBenito e0d57f
Chris PeBenito e0d57f
########################################
Chris PeBenito e0d57f
## <summary>
Chris PeBenito 725926
##	PCMCIA stub interface.  No access allowed.
Chris PeBenito 725926
## </summary>
Chris PeBenito 725926
## <param name="domain" optional="true">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito 725926
##	N/A
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 725926
## </param>
Chris PeBenito 725926
#
Chris PeBenito 725926
interface(`pcmcia_stub',`
Chris PeBenito 725926
	gen_require(`
Chris PeBenito 725926
		type cardmgr_t;
Chris PeBenito 725926
	')
Chris PeBenito 725926
')
Chris PeBenito 725926
Chris PeBenito 725926
########################################
Chris PeBenito 725926
## <summary>
Chris PeBenito 50f650
##	Execute cardmgr in the cardmgr domain.
Chris PeBenito 50f650
## </summary>
Chris PeBenito 50f650
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito 50f650
##	The type of the process performing this action.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 50f650
## </param>
Chris PeBenito 50f650
#
Chris PeBenito 50f650
interface(`pcmcia_domtrans_cardmgr',`
Chris PeBenito 50f650
	gen_require(`
Chris PeBenito 50f650
		type cardmgr_t, cardmgr_exec_t;
Chris PeBenito 50f650
	')
Chris PeBenito 50f650
Chris PeBenito 50f650
	domain_auto_trans($1,cardmgr_exec_t,cardmgr_t)
Chris PeBenito 50f650
Chris PeBenito 50f650
	allow $1 cardmgr_t:fd use;
Chris PeBenito 50f650
	allow cardmgr_t $1:fd use;
Chris PeBenito 50f650
	allow cardmgr_t $1:fifo_file rw_file_perms;
Chris PeBenito 50f650
	allow cardmgr_t $1:process sigchld;
Chris PeBenito 50f650
')
Chris PeBenito 50f650
Chris PeBenito 50f650
########################################
Chris PeBenito 50f650
## <summary>
Chris PeBenito cf6a7d
##	Inherit and use file descriptors from cardmgr.
Chris PeBenito cf6a7d
## </summary>
Chris PeBenito cf6a7d
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito cf6a7d
##	Domain allowed access.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito cf6a7d
## </param>
Chris PeBenito cf6a7d
#
Chris PeBenito cf6a7d
interface(`pcmcia_use_cardmgr_fd',`
Chris PeBenito cf6a7d
	gen_require(`
Chris PeBenito cf6a7d
		type cardmgr_t;
Chris PeBenito cf6a7d
	')
Chris PeBenito cf6a7d
Chris PeBenito cf6a7d
	allow $1 cardmgr_t:fd use;
Chris PeBenito cf6a7d
')
Chris PeBenito cf6a7d
Chris PeBenito cf6a7d
########################################
Chris PeBenito cf6a7d
## <summary>
Chris PeBenito e0d57f
##	Execute cardctl in the cardmgr domain.
Chris PeBenito e0d57f
## </summary>
Chris PeBenito e0d57f
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito e0d57f
##	The type of the process performing this action.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito e0d57f
## </param>
Chris PeBenito e0d57f
#
Chris PeBenito e0d57f
interface(`pcmcia_domtrans_cardctl',`
Chris PeBenito e0d57f
	gen_require(`
Chris PeBenito e0d57f
		type cardmgr_t, cardctl_exec_t;
Chris PeBenito e0d57f
	')
Chris PeBenito e0d57f
Chris PeBenito e0d57f
	domain_auto_trans($1,cardctl_exec_t,cardmgr_t)
Chris PeBenito e0d57f
Chris PeBenito e0d57f
	allow $1 cardmgr_t:fd use;
Chris PeBenito e0d57f
	allow cardmgr_t $1:fd use;
Chris PeBenito e0d57f
	allow cardmgr_t $1:fifo_file rw_file_perms;
Chris PeBenito e0d57f
	allow cardmgr_t $1:process sigchld;
Chris PeBenito e0d57f
')
Chris PeBenito e0d57f
Chris PeBenito e0d57f
########################################
Chris PeBenito e0d57f
## <summary>
Chris PeBenito e0d57f
##	Execute cardmgr in the cardctl domain, and
Chris PeBenito e0d57f
##	allow the specified role the cardmgr domain.
Chris PeBenito e0d57f
## </summary>
Chris PeBenito e0d57f
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito e0d57f
##	The type of the process performing this action.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito e0d57f
## </param>
Chris PeBenito e0d57f
## <param name="role">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito e0d57f
##	The role to be allowed the cardmgr domain.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito e0d57f
## </param>
Chris PeBenito e0d57f
## <param name="terminal">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito e0d57f
##	The type of the terminal allow the cardmgr domain to use.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito e0d57f
## </param>
Chris PeBenito e0d57f
#
Chris PeBenito e0d57f
interface(`pcmcia_run_cardctl',`
Chris PeBenito e0d57f
	gen_require(`
Chris PeBenito e0d57f
		type cardmgr_t;
Chris PeBenito e0d57f
	')
Chris PeBenito e0d57f
Chris PeBenito e0d57f
	pcmcia_domtrans_cardctl($1)
Chris PeBenito e0d57f
	role $2 types cardmgr_t;
Chris PeBenito e0d57f
	allow cardmgr_t $3:chr_file rw_term_perms;
Chris PeBenito e0d57f
')
Chris PeBenito d9fd8e
Chris PeBenito d9fd8e
########################################
Chris PeBenito d9fd8e
## <summary>
Chris PeBenito 2ec4c9
##	Read cardmgr pid files.
Chris PeBenito 2ec4c9
## </summary>
Chris PeBenito 2ec4c9
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito 2ec4c9
##	Domain allowed access.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito 2ec4c9
## </param>
Chris PeBenito 2ec4c9
#
Chris PeBenito 2ec4c9
interface(`pcmcia_read_pid',`
Chris PeBenito 2ec4c9
	gen_require(`
Chris PeBenito 2ec4c9
		type cardmgr_var_run_t;
Chris PeBenito 2ec4c9
	')
Chris PeBenito 2ec4c9
Chris PeBenito 2ec4c9
	files_search_pids($1)
Chris PeBenito 2ec4c9
	allow $1 cardmgr_var_run_t:dir r_dir_perms;
Chris PeBenito 2ec4c9
	allow $1 cardmgr_var_run_t:file r_file_perms;
Chris PeBenito 725926
	allow $1 cardmgr_var_run_t:lnk_file { getattr read };
Chris PeBenito 2ec4c9
')
Chris PeBenito 2ec4c9
Chris PeBenito 2ec4c9
########################################
Chris PeBenito 2ec4c9
## <summary>
Chris PeBenito d9fd8e
##	Create, read, write, and delete
Chris PeBenito d9fd8e
##	cardmgr pid files.
Chris PeBenito d9fd8e
## </summary>
Chris PeBenito d9fd8e
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito d9fd8e
##	Domain allowed access.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito d9fd8e
## </param>
Chris PeBenito d9fd8e
#
Chris PeBenito d9fd8e
interface(`pcmcia_manage_pid',`
Chris PeBenito d9fd8e
	gen_require(`
Chris PeBenito d9fd8e
		type cardmgr_var_run_t;
Chris PeBenito d9fd8e
	')
Chris PeBenito d9fd8e
Chris PeBenito d9fd8e
	files_search_pids($1)
Chris PeBenito d9fd8e
	allow $1 cardmgr_var_run_t:dir rw_dir_perms;
Chris PeBenito d9fd8e
	allow $1 cardmgr_var_run_t:file create_file_perms;
Chris PeBenito d9fd8e
')
Chris PeBenito d9fd8e
Chris PeBenito d9fd8e
########################################
Chris PeBenito d9fd8e
## <summary>
Chris PeBenito d9fd8e
##	Create, read, write, and delete
Chris PeBenito d9fd8e
##	cardmgr runtime character nodes.
Chris PeBenito d9fd8e
## </summary>
Chris PeBenito d9fd8e
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito d9fd8e
##	Domain allowed access.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito d9fd8e
## </param>
Chris PeBenito d9fd8e
#
Chris PeBenito 1815ba
interface(`pcmcia_manage_pid_chr_files',`
Chris PeBenito d9fd8e
	gen_require(`
Chris PeBenito d9fd8e
		type cardmgr_var_run_t;
Chris PeBenito d9fd8e
	')
Chris PeBenito d9fd8e
Chris PeBenito d9fd8e
	files_search_pids($1)
Chris PeBenito d9fd8e
	allow $1 cardmgr_var_run_t:dir rw_dir_perms;
Chris PeBenito d9fd8e
	allow $1 cardmgr_var_run_t:chr_file create_file_perms;
Chris PeBenito d9fd8e
')