1 2 /* 3 * Licensed Materials - Property of IBM 4 * 5 * trousers - An open source TCG Software Stack 6 * 7 * (C) Copyright International Business Machines Corp. 2006 8 * 9 */ 10 11 #ifndef _TSPPS_H_ 12 #define _TSPPS_H_ 13 14 #define PASSWD_BUFSIZE 4096 15 16 #define TSS_USER_PS_DIR ".trousers" 17 #define TSS_USER_PS_FILE "user.data" 18 19 TSS_RESULT get_file(int *); 20 int put_file(int); 21 TSS_RESULT read_data(int, void *, UINT32); 22 TSS_RESULT write_data(int, void *, UINT32); 23 UINT32 psfile_get_num_keys(int); 24 TSS_RESULT psfile_get_parent_uuid_by_uuid(int, TSS_UUID *, TSS_UUID *); 25 TSS_RESULT psfile_remove_key_by_uuid(int, TSS_UUID *); 26 TSS_RESULT psfile_get_key_by_uuid(int, TSS_UUID *, BYTE *); 27 TSS_RESULT psfile_get_ps_type_by_uuid(int, TSS_UUID *, UINT32 *); 28 TSS_RESULT psfile_is_pub_registered(int, TCPA_STORE_PUBKEY *, TSS_BOOL *); 29 TSS_RESULT psfile_is_key_registered(int, TSS_UUID *, TSS_BOOL *); 30 TSS_RESULT psfile_get_uuid_by_pub(int, UINT32, BYTE *, TSS_UUID *); 31 TSS_RESULT psfile_write_key(int, TSS_UUID *, TSS_UUID *, UINT32, BYTE *, UINT16); 32 TSS_RESULT psfile_get_key_by_pub(int, TSS_UUID *, UINT32, BYTE *, BYTE *); 33 TSS_RESULT psfile_get_registered_keys(int, TSS_UUID *, TSS_UUID *, UINT32 *, TSS_KM_KEYINFO **); 34 TSS_RESULT psfile_get_registered_keys2(int, TSS_UUID *, TSS_UUID *, UINT32 *, TSS_KM_KEYINFO2 **); 35 TSS_RESULT psfile_remove_key(int, TSS_UUID *); 36 TSS_RESULT psfile_get_parent_ps_type(int, TSS_UUID *, UINT32 *); 37 TSS_RESULT psfile_get_cache_entry_by_uuid(int, TSS_UUID *, struct key_disk_cache *); 38 TSS_RESULT psfile_get_cache_entry_by_pub(int, UINT32, BYTE *, struct key_disk_cache *); 39 void psfile_close(int); 40 41 TSS_RESULT ps_remove_key(TSS_UUID *); 42 TSS_RESULT ps_write_key(TSS_UUID *, TSS_UUID *, UINT32, UINT32, BYTE *); 43 TSS_RESULT ps_get_key_by_uuid(TSS_HCONTEXT, TSS_UUID *, TSS_HKEY *); 44 TSS_RESULT ps_init_disk_cache(); 45 TSS_RESULT ps_close(); 46 TSS_RESULT ps_get_key_by_pub(TSS_HCONTEXT, UINT32, BYTE *, TSS_HKEY *); 47 TSS_RESULT ps_get_parent_uuid_by_uuid(TSS_UUID *, TSS_UUID *); 48 TSS_RESULT ps_get_parent_ps_type_by_uuid(TSS_UUID *, UINT32 *); 49 TSS_RESULT ps_is_key_registered(TSS_UUID *, TSS_BOOL *); 50 TSS_RESULT ps_get_registered_keys(TSS_UUID *uuid, TSS_UUID *, UINT32 *size, TSS_KM_KEYINFO **); 51 TSS_RESULT ps_get_registered_keys2(TSS_UUID *uuid, TSS_UUID *, UINT32 *size, TSS_KM_KEYINFO2 **); 52 53 #ifdef TSS_BUILD_PS 54 #define PS_close() ps_close() 55 #else 56 #define PS_close() 57 #endif 58 59 #endif 60