config ECRYPT_FS
	tristate "eCrypt filesystem layer support"
	depends on KEYS && CRYPTO && (ENCRYPTED_KEYS || ENCRYPTED_KEYS=n)
	select CRYPTO_ECB
	select CRYPTO_CBC
	select CRYPTO_MD5
	select CRYPTO_SHA256
	help
	  Encrypted filesystem that operates on the VFS layer.  See
	  <file:Documentation/filesystems/ecryptfs.txt> to learn more about
	  eCryptfs.  Userspace components are required and can be
	  obtained from <http://ecryptfs.sf.net>.

	  To compile this file system support as a module, choose M here: the
	  module will be called ecryptfs.

config ECRYPT_FS_MESSAGING
	bool "Enable notifications for userspace key wrap/unwrap"
	depends on ECRYPT_FS
	help
	  Enables the /dev/ecryptfs entry for use by ecryptfsd. This allows
	  for userspace to wrap/unwrap file encryption keys by other
	  backends, like OpenSSL.

config SDP
	bool "Enables SDP"
	default n
	depends on ECRYPT_FS
	help
	Sensitive Data Protection

config SDP_KEY_DUMP
	bool "SDP KEY DUMP"
	default n

config DLP
	bool "Enables DLP"
	default n
	depends on SDP
	help
	Data Loss Prevention

config WTL_ENCRYPTION_FILTER
	bool "Enables filtering for some files not to encrypt on eCryptfs"
	default n
	depends on ECRYPT_FS
	help
	Modification of encrypted filesystem for SD card encryption
	
config ECRYPTFS_FEK_INTEGRITY
	bool "Enable check integrity of FEK(File encrypiton key) via HMAC"
	default n
	depends on ECRYPT_FS
	help
	MDFPP requirements: During file decryption of ecrypts, it should check integrity of FEK(File encrypiton key) via HMAC as per

