source: libabac/abac_aspect.h @ d0efdec

mei_rt2
Last change on this file since d0efdec 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: 1.5 KB
Line 
1#ifndef __ABAC_ASPECT_H__
2#define __ABAC_ASPECT_H__
3
4#include "abac_defines.h"
5#include "abac_list.h"
6
7/* exported */
8/* for abac_term */
9extern char *abac_aspect_string_with_condition(abac_aspect_t *);
10extern char *abac_aspect_typed_string_with_condition(abac_aspect_t *);
11extern char *abac_aspect_string_with_condition(abac_aspect_t *);
12extern char *abac_aspect_principal_principalname(abac_aspect_t *);
13extern char* abac_aspect_type_string(abac_aspect_t *);
14extern abac_list_t *abac_aspect_prereqs(abac_aspect_t *);
15extern abac_aspect_t *abac_aspect_intersection_new(abac_aspect_t *);
16
17extern int abac_aspect_get_issuer_idtype(abac_aspect_t *);
18extern abac_id_t *abac_aspect_get_issuer_id(abac_aspect_t *);
19extern abac_term_t *abac_aspect_object_term(abac_aspect_t *ptr);
20extern abac_aspect_t *abac_aspect_oset_principal_new(char *);
21extern abac_aspect_t *abac_aspect_role_principal_new(char *);
22extern abac_aspect_t *abac_aspect_oset_object_new(abac_term_t *);
23extern abac_aspect_t *abac_aspect_oset_linking_new(char *, char *, char *);
24extern abac_aspect_t *abac_aspect_role_linking_new(char *, char *, char *);
25extern char *abac_aspect_aspect_param_string(abac_aspect_t *ptr);
26
27extern void abac_print_aspect_string_with_condition(abac_aspect_t *ptr,FILE *fp);
28extern void abac_print_aspect_typed_string_with_condition(abac_aspect_t *ptr,FILE *fp);
29
30extern abac_aspect_t *abac_aspect_copy(abac_aspect_t *);
31extern char *abac_aspect_aspect_name(abac_aspect_t *);
32extern abac_aspect_t *abac_aspect_dup(abac_aspect_t *ptr);
33
34
35#endif /* __ABAC_ASPECT_H__ */
Note: See TracBrowser for help on using the repository browser.