Home | History | Annotate | Line # | Download | only in include
      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