From 6ff55cefd060b4c8f6c0fa97d5521516f9ee43f1 Mon Sep 17 00:00:00 2001 From: a3955269 Date: Tue, 8 Jan 2013 16:14:56 +0000 Subject: Add Samsung TouchWiz decryption Change-Id: I418680e59372160dabfe3e2d5f0208229aa151ae --- crypto/ics/cryptfs.h | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) (limited to 'crypto/ics/cryptfs.h') diff --git a/crypto/ics/cryptfs.h b/crypto/ics/cryptfs.h index 1c1bc1aea..e2fb7a7f3 100644 --- a/crypto/ics/cryptfs.h +++ b/crypto/ics/cryptfs.h @@ -25,6 +25,13 @@ * of the partition. */ +#ifndef __CRYPTFS_H__ +#define __CRYPTFS_H__ + +#ifdef TW_INCLUDE_CRYPTO_SAMSUNG +#include "../libcrypt_samsung/include/libcrypt_samsung.h" +#endif + #define CRYPT_FOOTER_OFFSET 0x4000 #define MAX_CRYPTO_TYPE_NAME_LEN 64 @@ -37,11 +44,16 @@ #define CRYPT_ENCRYPTION_IN_PROGRESS 0x2 /* Set when starting encryption, * clear when done before rebooting */ +#ifdef TW_INCLUDE_CRYPTO_SAMSUNG +#define CRYPT_MNT_MAGIC_SAMSUNG 0xD0B5B1C5 +#endif #define CRYPT_MNT_MAGIC 0xD0B5B1C4 #define __le32 unsigned int #define __le16 unsigned short int +#pragma pack(1) + struct crypt_mnt_ftr { __le32 magic; /* See above */ __le16 major_version; @@ -53,37 +65,25 @@ struct crypt_mnt_ftr { __le64 fs_size; /* Size of the encrypted fs, in 512 byte sectors */ __le32 failed_decrypt_count; /* count of # of failed attempts to decrypt and mount, set to 0 on successful mount */ - unsigned char crypto_type_name[MAX_CRYPTO_TYPE_NAME_LEN]; /* The type of encryption + char crypto_type_name[MAX_CRYPTO_TYPE_NAME_LEN]; /* The type of encryption needed to decrypt this partition, null terminated */ +#ifdef TW_INCLUDE_CRYPTO_SAMSUNG + edk_payload_t edk_payload; + __le32 unknown_end; +#endif }; -struct volume_info { - unsigned int size; - unsigned int flags; - struct crypt_mnt_ftr crypt_ftr; - char mnt_point[256]; - char blk_dev[256]; - char crypto_blkdev[256]; - char label[256]; -}; -#define VOL_NONREMOVABLE 0x1 -#define VOL_ENCRYPTABLE 0x2 +#pragma pack() + #ifdef __cplusplus extern "C" { #endif - int cryptfs_crypto_complete(void); - int cryptfs_check_passwd(char *pw); - int cryptfs_verify_passwd(char *newpw); - int cryptfs_restart(void); - int cryptfs_enable(char *flag, char *passwd); - int cryptfs_changepw(char *newpw); - int cryptfs_setup_volume(const char *label, int major, int minor, - char *crypto_dev_path, unsigned int max_pathlen, - int *new_major, int *new_minor); - int cryptfs_revert_volume(const char *label); + int cryptfs_check_passwd(const char *pw); #ifdef __cplusplus } #endif +#endif // __CRYPTFS_H__ + -- cgit v1.2.3