xref: /netbsd-src/crypto/external/cpl/trousers/dist/src/include/obj_delfamily.h (revision 1023804e3833a0bd94414f2545512128f6502c74)
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