Chris PeBenito ca83af
########################################
Chris PeBenito ca83af
#
Chris PeBenito ca83af
# Macros for switching between source policy
Chris PeBenito ca83af
# and loadable policy module support
Chris PeBenito ca83af
#
Chris PeBenito ca83af
Chris PeBenito ca83af
##############################
Chris PeBenito ca83af
#
Chris PeBenito ca83af
# For adding the module statement
Chris PeBenito ca83af
#
Chris PeBenito ca83af
define(`policy_module',`
Chris PeBenito 254bbc
	ifdef(`monolithic_policy',`',`
Chris PeBenito 254bbc
		module $1 $2;
Chris PeBenito 254bbc
	')
Chris PeBenito ca83af
')
Chris PeBenito ca83af
Chris PeBenito ca83af
##############################
Chris PeBenito ca83af
#
Chris PeBenito ca83af
# For use in interfaces, to optionally insert a requires block
Chris PeBenito ca83af
#
Chris PeBenito ca83af
define(`requires_block_template',`
Chris PeBenito 254bbc
	ifdef(`monolithic_policy',`',`
Chris PeBenito 254bbc
		require {
Chris PeBenito 254bbc
			$1
Chris PeBenito 254bbc
		}
Chris PeBenito 254bbc
	')
Chris PeBenito 254bbc
')
Chris PeBenito ca83af
Chris PeBenito ca83af
##############################
Chris PeBenito ca83af
#
Chris PeBenito ca83af
# Optional policy handling
Chris PeBenito ca83af
#
Chris PeBenito ca83af
define(`optional_policy',`
Chris PeBenito 254bbc
	ifdef(`monolithic_policy',`
Chris PeBenito 254bbc
		ifdef(`$1',$2,$3)
Chris PeBenito 254bbc
	',`
Chris PeBenito 254bbc
		optional {
Chris PeBenito 254bbc
			$2
Chris PeBenito 254bbc
		} else {
Chris PeBenito 254bbc
			$3
Chris PeBenito 254bbc
		}
Chris PeBenito 254bbc
	')
Chris PeBenito 254bbc
')
Chris PeBenito ca83af
Chris PeBenito ca83af
##############################
Chris PeBenito ca83af
#
Chris PeBenito ca83af
# Tunable policy handling
Chris PeBenito ca83af
#
Chris PeBenito ca83af
define(`tunable_policy',`
Chris PeBenito 254bbc
	ifdef(`monolithic_policy',`
Chris PeBenito 254bbc
		if (`$1') {
Chris PeBenito 254bbc
			$2
Chris PeBenito 254bbc
		} else {
Chris PeBenito 254bbc
			$3
Chris PeBenito 254bbc
		}
Chris PeBenito 254bbc
	',`
Chris PeBenito 254bbc
		optional {
Chris PeBenito 254bbc
			require { `$1' }
Chris PeBenito 254bbc
			$2
Chris PeBenito 254bbc
		} else {
Chris PeBenito 254bbc
			$3
Chris PeBenito 254bbc
		}
Chris PeBenito 254bbc
	')
Chris PeBenito 254bbc
')