#ifndef __tl_fs_h__
#define __tl_fs_h__

#include "tl_softsim_logic.h"

extern int tl_fs_save_usim(usim_info_t*);
extern int tl_fs_retrieve_usim_all_be(uint8_t*, uint32_t*,
                void mask_func(usim_info_t*));
extern int tl_fs_retrieve_usim(uint8_t*, usim_info_t**,
                void mask_func(usim_info_t*));
extern int tl_fs_remove_usim(uint8_t*);
extern int tl_fs_remove_usim_all(void);
extern int tl_fs_get_saved_imsi_number(uint32_t *);
extern int tl_fs_get_all_saved_imsi(char *);
extern int tl_fs_get_apn_by_imsi(uint8_t*, char*);

extern int tl_fs_save_symmetric_key(uint8_t*, uint32_t);
extern int tl_fs_restore_symmetric_key(uint8_t*, uint32_t*);

extern int tl_fs_getsize_of_rsa_private_key(uint32_t*);
extern int tl_fs_save_rsa_private_key(uint8_t*, uint32_t);
extern int tl_fs_restore_rsa_private_key(uint8_t*, uint32_t*);

extern int tl_fs_save_rsa_certs_chain(uint8_t *, uint32_t);
extern int tl_fs_restore_rsa_certs_chain(uint8_t *, uint32_t*);

extern int tl_fs_getsize_of_service_cert(uint32_t*);
extern int tl_fs_save_service_cert(uint8_t*, uint32_t);
extern int tl_fs_restore_service_cert(uint8_t*, uint32_t*);

extern int tl_fs_save_using_imsi_info(uint8_t*, uint32_t);
extern int tl_fs_restore_using_imsi_info(uint8_t*, uint32_t*);
extern int tl_fs_remove_using_imsi_info(void);

extern int tl_fs_save_device_cert(uint8_t *, uint32_t);
extern int tl_fs_restore_device_cert(uint8_t *, uint32_t*);

extern int tl_fs_create_file(uint8_t *, uint32_t );
extern int tl_fs_remove_file(char *);

extern int tl_fs_remove_cached_files(void);

#endif /*__tl_fs_h__*/
