source: libabac/abac_c.h @ 2e9455f

mei_rt2
Last change on this file since 2e9455f was 2e9455f, checked in by Mei <mei@…>, 11 years ago

1) added namespace
2) tweak ?This,
3) allowing linking role/oset as constraining conditions
4) adding access_tests regression testing that uses GENI's access policy
5) added couple multi contexts regression tests
6) add compression/uncompression calls to abac_encode_string/abac_decode_string
(libstrongwan only allows 512 char for attribute rule storage)
7) add attribute_now option to creddy that takes a whole char string for attribute
rule

  • Property mode set to 100644
File size: 4.6 KB
Line 
1#ifndef __ABAC_C_H__
2#define __ABAC_C_H__
3
4/* export visible routines from abac_c.c */
5extern void abac_constraint_add_integer_max(abac_condition_t *cond,int val);
6extern void abac_constraint_add_integer_min(abac_condition_t *cond,int val);
7extern void abac_constraint_add_integer_target(abac_condition_t *cond,int val);
8extern void abac_constraint_add_float_max(abac_condition_t *cond,float val);
9extern void abac_constraint_add_float_min(abac_condition_t *cond,float val);
10extern void abac_constraint_add_float_target(abac_condition_t *cond,float val);
11extern void abac_constraint_add_time_max(abac_condition_t *cond,char* val);
12extern void abac_constraint_add_time_min(abac_condition_t *cond,char* val);
13extern void abac_constraint_add_time_target(abac_condition_t *cond,char* val);
14extern void abac_constraint_add_urn_target(abac_condition_t *cond,char* val);
15extern void abac_constraint_add_string_target(abac_condition_t *cond,char* val);
16extern void abac_constraint_add_boolean_target(abac_condition_t *cond, char* val);
17extern abac_condition_t *abac_constraint_from_role(abac_aspect_t *ptr);
18extern abac_condition_t *abac_constraint_create(char *vtype);
19extern abac_condition_t *abac_constraint_from_oset(abac_aspect_t *ptr);
20extern char *abac_constraint_typed_string(abac_condition_t *ptr);
21extern char *abac_constraint_string(abac_condition_t *ptr);
22extern abac_aspect_t *abac_role_principal_create(char *principal_name);
23extern abac_aspect_t *abac_oset_principal_create(char *principal_name);
24extern abac_aspect_t *abac_oset_create(char *principal_name, char *oset_name);
25extern abac_aspect_t *abac_role_create(char *principal_name, char *role_name);
26extern abac_aspect_t *abac_oset_linked_create(char *principal_name, char *linked_role_name, char *oset_name);
27extern abac_aspect_t *abac_role_linked_create(char *principal_name, char *linked_role_name, char *role_name);
28extern abac_aspect_t *abac_oset_object_create(abac_term_t *object);
29extern int abac_oset_is_object(abac_aspect_t *ptr);
30extern int abac_oset_is_principal(abac_aspect_t *ptr);
31extern int abac_role_is_principal(abac_aspect_t *ptr);
32extern int abac_oset_is_linking(abac_aspect_t *ptr);
33extern int abac_role_is_linking(abac_aspect_t *ptr);
34extern char *abac_role_linked_role(abac_aspect_t *ptr);
35extern char *abac_oset_linked_role(abac_aspect_t *ptr);
36extern char *abac_role_name(abac_aspect_t *ptr);
37extern char *abac_oset_name(abac_aspect_t *ptr);
38extern char *abac_role_principal(abac_aspect_t *ptr);
39extern char *abac_oset_principal(abac_aspect_t *ptr);
40extern void abac_role_add_data_term(abac_aspect_t *ptr, abac_term_t *param);
41extern void abac_oset_add_data_term(abac_aspect_t *ptr, abac_term_t *param);
42extern void abac_role_add_linked_data_term(abac_aspect_t *ptr, abac_term_t *param);
43extern void abac_oset_add_linked_data_term(abac_aspect_t *ptr, abac_term_t *param);
44extern char *abac_oset_object(abac_aspect_t *ptr);
45extern char *abac_oset_typed_string(abac_aspect_t *ptr);
46extern char *abac_oset_string(abac_aspect_t *ptr);
47extern char *abac_role_typed_string(abac_aspect_t *ptr);
48extern char *abac_role_string(abac_aspect_t *ptr);
49extern abac_term_t **abac_oset_get_data_terms(abac_aspect_t *ptr);
50extern abac_term_t **abac_oset_get_linked_data_terms(abac_aspect_t *ptr);
51extern abac_term_t **abac_role_get_data_terms(abac_aspect_t *ptr);
52extern abac_term_t **abac_role_get_linked_data_terms(abac_aspect_t *ptr);
53extern void abac_id_write_cert_fname(abac_id_t *ptr,char *filename);
54extern void abac_id_write_privkey_fname(abac_id_t *ptr,char *filename);
55extern int abac_id_load_encrypted_privkey_file(abac_id_t *ptr, char *filename, char *pfile);
56extern char *abac_head_string(abac_attribute_t *ptr);
57extern char *abac_tail_string(abac_attribute_t *ptr);
58extern char *abac_head_typed_string(abac_attribute_t *ptr);
59extern char *abac_tail_typed_string(abac_attribute_t *ptr);
60extern void abac_attribute_write_cert_fname(abac_attribute_t *ptr,char *filename);
61extern abac_aspect_t **abac_attribute_role_tails(abac_attribute_t *ptr);
62extern abac_aspect_t **abac_attribute_oset_tails(abac_attribute_t *ptr);
63extern int abac_context_load_id(abac_context_t *ptr, abac_id_t *id);
64extern int abac_context_load_id_idkey_file(abac_context_t *ptr, char *filename);
65extern int abac_context_load_id_files(abac_context_t *ptr, char *filename, char *keyfilename);
66extern int abac_context_load_attribute(abac_context_t *ptr, abac_attribute_t *attr);
67extern int abac_context_load_encrypted_id_file(abac_context_t *ptr, char *filename, char *pfile);
68extern int abac_context_load_encrypted_id_files(abac_context_t *ptr, char *filename, char *keyfilename, char *pfile);
69
70#endif /* __ABAC_C_H__ */
Note: See TracBrowser for help on using the repository browser.