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 */ 20struct tr_delfamily_obj { 21 UINT32 stateFlags; 22 UINT32 verCount; 23 UINT32 familyID; 24 BYTE label; 25}; 26 27/* obj_delfamily.c */ 28void delfamily_free(void *data); 29TSS_BOOL obj_is_delfamily(TSS_HOBJECT); 30TSS_RESULT obj_delfamily_add(TSS_HCONTEXT, TSS_HOBJECT *); 31TSS_RESULT obj_delfamily_remove(TSS_HDELFAMILY, TSS_HOBJECT); 32void obj_delfamily_find_by_familyid(TSS_HOBJECT, UINT32, TSS_HDELFAMILY *); 33TSS_RESULT obj_delfamily_get_tsp_context(TSS_HDELFAMILY, TSS_HCONTEXT *); 34TSS_RESULT obj_delfamily_set_locked(TSS_HDELFAMILY, TSS_BOOL, TSS_BOOL); 35TSS_RESULT obj_delfamily_get_locked(TSS_HDELFAMILY, TSS_BOOL *); 36TSS_RESULT obj_delfamily_set_enabled(TSS_HDELFAMILY, TSS_BOOL, TSS_BOOL); 37TSS_RESULT obj_delfamily_get_enabled(TSS_HDELFAMILY, TSS_BOOL *); 38TSS_RESULT obj_delfamily_set_vercount(TSS_HDELFAMILY, UINT32); 39TSS_RESULT obj_delfamily_get_vercount(TSS_HDELFAMILY, UINT32 *); 40TSS_RESULT obj_delfamily_set_familyid(TSS_HDELFAMILY, UINT32); 41TSS_RESULT obj_delfamily_get_familyid(TSS_HDELFAMILY, UINT32 *); 42TSS_RESULT obj_delfamily_set_label(TSS_HDELFAMILY, BYTE); 43TSS_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() 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