1ec3d1a
## <summary>PCMCIA card management services</summary>
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	PCMCIA stub interface.  No access allowed.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain" unused="true">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`pcmcia_stub',`
1ec3d1a
	gen_require(`
1ec3d1a
		type cardmgr_t;
1ec3d1a
	')
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	Execute cardmgr in the cardmgr domain.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed to transition.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`pcmcia_domtrans_cardmgr',`
1ec3d1a
	gen_require(`
1ec3d1a
		type cardmgr_t, cardmgr_exec_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	domtrans_pattern($1, cardmgr_exec_t, cardmgr_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	Inherit and use file descriptors from cardmgr.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`pcmcia_use_cardmgr_fds',`
1ec3d1a
	gen_require(`
1ec3d1a
		type cardmgr_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	allow $1 cardmgr_t:fd use;
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	Execute cardctl in the cardmgr domain.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed to transition.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`pcmcia_domtrans_cardctl',`
1ec3d1a
	gen_require(`
1ec3d1a
		type cardmgr_t, cardctl_exec_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	domtrans_pattern($1, cardctl_exec_t, cardmgr_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	Execute cardmgr in the cardctl domain, and
1ec3d1a
##	allow the specified role the cardmgr 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
##	Role allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
## <rolecap/>
1ec3d1a
#
1ec3d1a
interface(`pcmcia_run_cardctl',`
1ec3d1a
	gen_require(`
1ec3d1a
		type cardmgr_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	pcmcia_domtrans_cardctl($1)
1ec3d1a
	role $2 types cardmgr_t;
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	Read cardmgr pid files.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`pcmcia_read_pid',`
1ec3d1a
	gen_require(`
1ec3d1a
		type cardmgr_var_run_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	files_search_pids($1)
1ec3d1a
	read_files_pattern($1, cardmgr_var_run_t, cardmgr_var_run_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	Create, read, write, and delete
1ec3d1a
##	cardmgr pid files.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`pcmcia_manage_pid',`
1ec3d1a
	gen_require(`
1ec3d1a
		type cardmgr_var_run_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	files_search_pids($1)
1ec3d1a
	manage_files_pattern($1, cardmgr_var_run_t, cardmgr_var_run_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	Create, read, write, and delete
1ec3d1a
##	cardmgr runtime character nodes.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`pcmcia_manage_pid_chr_files',`
1ec3d1a
	gen_require(`
1ec3d1a
		type cardmgr_var_run_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	files_search_pids($1)
1ec3d1a
	manage_chr_files_pattern($1, cardmgr_var_run_t, cardmgr_var_run_t)
1ec3d1a
')