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. 2007 8 * 9 */ 10 11 #ifndef _OBJ_DELFAMILY_H_ 12 #define _OBJ_DELFAMILY_H_ 13 14 #ifdef TSS_BUILD_DELEGATION 15 16 #define TSS_DELFAMILY_FLAGS_STATE_ENABLED (((UINT32)1)<<0) 17 #define TSS_DELFAMILY_FLAGS_STATE_LOCKED (((UINT32)1)<<1) 18 19 /* structures */ 20 struct tr_delfamily_obj { 21 UINT32 stateFlags; 22 UINT32 verCount; 23 UINT32 familyID; 24 BYTE label; 25 }; 26 27 /* obj_delfamily.c */ 28 void delfamily_free(void *data); 29 TSS_BOOL obj_is_delfamily(TSS_HOBJECT); 30 TSS_RESULT obj_delfamily_add(TSS_HCONTEXT, TSS_HOBJECT *); 31 TSS_RESULT obj_delfamily_remove(TSS_HDELFAMILY, TSS_HOBJECT); 32 void obj_delfamily_find_by_familyid(TSS_HOBJECT, UINT32, TSS_HDELFAMILY *); 33 TSS_RESULT obj_delfamily_get_tsp_context(TSS_HDELFAMILY, TSS_HCONTEXT *); 34 TSS_RESULT obj_delfamily_set_locked(TSS_HDELFAMILY, TSS_BOOL, TSS_BOOL); 35 TSS_RESULT obj_delfamily_get_locked(TSS_HDELFAMILY, TSS_BOOL *); 36 TSS_RESULT obj_delfamily_set_enabled(TSS_HDELFAMILY, TSS_BOOL, TSS_BOOL); 37 TSS_RESULT obj_delfamily_get_enabled(TSS_HDELFAMILY, TSS_BOOL *); 38 TSS_RESULT obj_delfamily_set_vercount(TSS_HDELFAMILY, UINT32); 39 TSS_RESULT obj_delfamily_get_vercount(TSS_HDELFAMILY, UINT32 *); 40 TSS_RESULT obj_delfamily_set_familyid(TSS_HDELFAMILY, UINT32); 41 TSS_RESULT obj_delfamily_get_familyid(TSS_HDELFAMILY, UINT32 *); 42 TSS_RESULT obj_delfamily_set_label(TSS_HDELFAMILY, BYTE); 43 TSS_RESULT obj_delfamily_get_label(TSS_HDELFAMILY, BYTE *); 44 45 46 #define DELFAMILY_LIST_DECLARE struct obj_list delfamily_list 47 #define DELFAMILY_LIST_DECLARE_EXTERN extern struct obj_list delfamily_list 48 #define DELFAMILY_LIST_INIT() tspi_list_init(&delfamily_list) 49 #define DELFAMILY_LIST_CONNECT(a,b) obj_connectContext_list(&delfamily_list, a, b) 50 #define DELFAMILY_LIST_CLOSE(a) obj_list_close(&delfamily_list, &delfamily_free, a) 51 52 #else 53 54 #define obj_is_delfamily(a) FALSE 55 56 #define DELFAMILY_LIST_DECLARE 57 #define DELFAMILY_LIST_DECLARE_EXTERN 58 #define DELFAMILY_LIST_INIT() 59 #define DELFAMILY_LIST_CONNECT(a,b) 60 #define DELFAMILY_LIST_CLOSE(a) 61 62 #endif 63 64 #endif 65