source: libabac/abac_internal.h @ 5f551d3

mei_rt2mei_rt2_fix_1
Last change on this file since 5f551d3 was 5f551d3, checked in by Mei <mei@…>, 12 years ago

1) add more python examples

  • Property mode set to 100644
File size: 5.3 KB
RevLine 
[8bd77b5]1#ifndef __ABAC_I_H__
2#define __ABAC_I_H__
3
4#include <credentials/certificates/x509.h>
5#include <credentials/certificates/certificate.h>
6#include <credentials/certificates/ac.h>
7#include <credentials/keys/private_key.h>
8
[5d06689]9#include "abac_list.h"
10#include "abac_stack.h"
11#include "abac_util.h"
12
[8bd77b5]13#include "abac.h"
14
[5f551d3]15char *abac_condition_typed_string(abac_condition_t *ptr);
16char *abac_condition_string(abac_condition_t *ptr);
[5d06689]17abac_condition_t *abac_condition_create_from_aspect(abac_aspect_t *ptr);
[440ba20]18int abac_condition_set_aspect_ptr(abac_condition_t *ptr, abac_aspect_t *aptr);
19int abac_condition_set_aspect_string(abac_condition_t *ptr, char *str);
20int abac_condition_set_range_string(abac_condition_t *ptr);
21int abac_condition_is_range(abac_condition_t *ptr);
22abac_aspect_t *abac_condition_of_aspect(abac_condition_t *ptr);
[7211a95]23void abac_condition_add_range_integer_item(abac_condition_t *ptr, int itype, int val);
24void abac_condition_add_range_float_item(abac_condition_t *ptr, int itype, float val);
25void abac_condition_add_range_time_item(abac_condition_t *ptr, int itype, char* val);
26void abac_condition_add_range_urn_item(abac_condition_t *ptr, char *val);
27void abac_condition_add_range_string_item(abac_condition_t *ptr, char *val);void abac_condition_add_range_boolean_item(abac_condition_t *ptr, char* val);
[440ba20]28
[5d06689]29abac_aspect_t *abac_aspect_role_principal_new(char *principal_name);
30char *abac_aspect_aspect_param_string(abac_aspect_t *ptr);
[b1d4721]31abac_aspect_t *abac_aspect_linking_new(int, char*,char*, char*);
[5d06689]32abac_aspect_t *abac_aspect_oset_linking_new(char *, char *, char *);
33abac_aspect_t *abac_aspect_role_linking_new(char *, char *, char *);
34abac_aspect_t *abac_aspect_oset_object_new(abac_term_t *object);
35abac_aspect_t *abac_aspect_oset_principal_new(char *principal_name);
36abac_aspect_t *abac_aspect_oset_new(char *principal_name, char *oset_name);
37abac_aspect_t *abac_aspect_role_new(char *principal_name, char *role_name);
38abac_list_t *abac_aspect_prereqs(abac_aspect_t *ptr);
39abac_aspect_t *abac_aspect_intersection_new(abac_aspect_t *);
40abac_id_t *abac_aspect_get_issuer_id(abac_aspect_t *ptr);
41char *abac_aspect_object_name(abac_aspect_t *ptr);
42char *abac_aspect_linked_role_name(abac_aspect_t *ptr);
43char *abac_aspect_principal_name(abac_aspect_t *ptr);
44char *abac_aspect_aspect_name(abac_aspect_t *ptr);
45abac_aspect_t *abac_aspect_role_principal_create(char *principal_name);
46abac_aspect_t *abac_aspect_principal_new(int type, char *principal_name);
47abac_aspect_t *abac_aspect_new(int type, char *principal_name, char *aspect_name);
48abac_aspect_t *abac_aspect_object_new(int type, abac_term_t *object);
[440ba20]49void abac_aspect_dump(abac_aspect_t *ptr, char* offset);
50abac_term_t *abac_aspect_object_term(abac_aspect_t *ptr);
[5d06689]51char* abac_aspect_type_string(abac_aspect_t *ptr);
52char *abac_aspect_string_with_condition(abac_aspect_t *ptr);
53char* abac_aspect_get_issuer_keytype(abac_aspect_t *ptr);
54int abac_aspect_get_issuer_idtype(abac_aspect_t *ptr);
55char *abac_aspect_typed_string_with_condition(abac_aspect_t *ptr);
56char *abac_aspect_principal_principalname(abac_aspect_t *ptr);
57
[7211a95]58bool abac_term_is_time_type(abac_term_t *term);
59char *abac_time_to_term(char *string);
[5d06689]60abac_term_t *abac_term_new(int, char *, int, char *, void *);
61abac_term_t *abac_term_named_new(int idtype, char *name);
62char *abac_item_val(abac_item_t *ptr);
63char *abac_term_to_time(char *string);
64char *abac_cn_with_sha(char*);
65char *abac_idtype_with_sha(char*);
66char *abac_term_type_name(abac_term_t *term);
67abac_condition_t *abac_term_constraint(abac_term_t *term);
68abac_term_t *abac_term_create(char*, char*, abac_condition_t*);
[440ba20]69
70void abac_condition_dump(abac_condition_t *ptr, char *offset);
71abac_list_t *abac_condition_range_list(abac_condition_t *ptr);
72
73void abac_term_dump(abac_term_t *ptr, char *offset);
74
[ca72963]75abac_item_t *abac_item_new(int itype, char *val);
[440ba20]76int abac_item_type(abac_item_t *);
77char* abac_item_val(abac_item_t *);
[5d06689]78
79char* abac_param_list_string(abac_param_list_t *ptr);
[440ba20]80void abac_param_dump(abac_param_list_t *ptr, char *offset);
[5d06689]81char* abac_param_list_string_with_condition(abac_param_list_t *ptr);
82char* abac_param_list_typed_string_with_condition(abac_param_list_t *ptr);
[440ba20]83abac_list_t *abac_param_list(abac_param_list_t *ptr);
[5d06689]84abac_param_list_t *abac_param_list_new(abac_term_t *term);
[440ba20]85
[8bd77b5]86certificate_t *abac_attribute_issuer_cert(abac_attribute_t *ptr);
87certificate_t *abac_attribute_cert(abac_attribute_t *ptr);
88abac_attribute_t *abac_attribute_new(abac_id_t *issuer, certificate_t *cert, certificate_t *issuer_cert);
[5d06689]89abac_aspect_t *abac_attribute_tail(abac_attribute_t *ptr);
90abac_aspect_t *abac_attribute_head(abac_attribute_t *ptr);
91
92abac_id_credential_t *abac_id_credential_lookup(char *pname);
[8bd77b5]93abac_id_t *abac_id_new(int idtype,char *keyid, char *cn, certificate_t *cert);
94private_key_t *abac_id_privkey(abac_id_t *id);
95certificate_t *abac_id_cert(abac_id_t *id);
96abac_id_t *abac_id_keyid_new(char *keyid, char *cn, certificate_t *cert);
[5d06689]97char* abac_id_idtype_string(abac_id_t *id);
98char *abac_id_name(abac_id_t *id);
[8bd77b5]99
[d037f54]100char *abac_termtype_string(int i);
101char *abac_idtype_string(int);
102
[5d06689]103abac_credential_t *abac_credential_lookup(char *cred_string);
104abac_stack_t *abac_verifier_dump_creds();
105abac_stack_t *abac_verifier_dump_principals();
106
[d037f54]107extern int ABAC_IN_PROLOG;
108extern char *prologIt(char*);
109
110#define PROLOG(BODY) {  \
111    ABAC_IN_PROLOG++;      \
112    { BODY }               \
113    ABAC_IN_PROLOG--;      \
114}
115
116
[8bd77b5]117#endif /* __ABAC_I_H__ */
118
Note: See TracBrowser for help on using the repository browser.