16
16
extern struct key_disk_cache *key_disk_cache_head;
17
17
/* file handles for the persistent stores */
18
18
extern int system_ps_fd;
19
19
/* The lock that surrounds all manipulations of the disk cache */
20
extern pthread_mutex_t disk_cache_lock;
20
MUTEX_DECLARE_EXTERN(disk_cache_lock);
27
27
inline TSS_RESULT write_data(int, void *, UINT32);
28
28
int write_key_init(int, UINT32, UINT32, UINT32);
29
29
TSS_RESULT cache_key(UINT32, UINT16, TSS_UUID *, TSS_UUID *, UINT16, UINT32, UINT32);
30
TSS_RESULT UnloadBlob_KEY_PS(UINT16 *, BYTE *, TCPA_KEY *);
30
TSS_RESULT UnloadBlob_KEY_PS(UINT16 *, BYTE *, TSS_KEY *);
31
31
TSS_RESULT psfile_get_parent_uuid_by_uuid(int, TSS_UUID *, TSS_UUID *);
32
32
TSS_RESULT psfile_remove_key_by_uuid(int, TSS_UUID *);
33
33
TSS_RESULT psfile_get_key_by_uuid(int, TSS_UUID *, BYTE *, UINT16 *);
34
34
TSS_RESULT psfile_get_key_by_cache_entry(int, struct key_disk_cache *, BYTE *, UINT16 *);
35
35
TSS_RESULT psfile_get_ps_type_by_uuid(int, TSS_UUID *, UINT32 *);
36
TSS_RESULT psfile_get_vendor_data(int, struct key_disk_cache *, UINT32 *, BYTE **);
36
37
TSS_RESULT psfile_is_pub_registered(int, TCPA_STORE_PUBKEY *, TSS_BOOL *);
37
38
TSS_RESULT psfile_get_uuid_by_pub(int, TCPA_STORE_PUBKEY *, TSS_UUID **);
38
39
TSS_RESULT psfile_write_key(int, TSS_UUID *, TSS_UUID *, UINT32 *, BYTE *, UINT32, BYTE *, UINT16);
51
52
TSS_RESULT ps_write_key(TSS_UUID *, TSS_UUID *, BYTE *, UINT32, BYTE *, UINT32);
52
53
TSS_RESULT ps_get_key_by_uuid(TSS_UUID *, BYTE *, UINT16 *);
53
54
TSS_RESULT ps_get_key_by_cache_entry(struct key_disk_cache *, BYTE *, UINT16 *);
55
TSS_RESULT ps_get_vendor_data(struct key_disk_cache *, UINT32 *, BYTE **);
54
56
TSS_RESULT ps_init_disk_cache();
55
57
void ps_close_disk_cache();
56
58
TSS_RESULT ps_get_key_by_pub(TCPA_STORE_PUBKEY *, UINT32 *, BYTE **);
61
#define PS_init_disk_cache() ps_init_disk_cache()
62
#define PS_close_disk_cache() ps_close_disk_cache()
64
#define PS_init_disk_cache() (TSS_SUCCESS)
65
#define PS_close_disk_cache()