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 | #include <credentials/sets/mem_cred.h> |
---|
9 | |
---|
10 | #include "abac_defines.h" |
---|
11 | |
---|
12 | /* used by abac_c */ |
---|
13 | extern int abac_context_creds_count(abac_context_t *); |
---|
14 | extern int abac_context_id_creds_count(abac_context_t *); |
---|
15 | extern void abac_aspect_add_linked_param(abac_aspect_t *ptr, abac_term_t *param); |
---|
16 | extern void abac_aspect_add_param(abac_aspect_t *ptr, abac_term_t *param); |
---|
17 | extern char *abac_aspect_aspect_name(abac_aspect_t*); |
---|
18 | extern int abac_aspect_is_linking(abac_aspect_t *ptr) ; |
---|
19 | extern int abac_aspect_is_object(abac_aspect_t *ptr); |
---|
20 | extern int abac_aspect_is_principal(abac_aspect_t *ptr); |
---|
21 | extern char *abac_aspect_linked_role_name(abac_aspect_t*); |
---|
22 | extern abac_aspect_t *abac_aspect_linking_new(int, char*,char*, char*); |
---|
23 | extern abac_aspect_t *abac_aspect_new(int, char*, char*); |
---|
24 | extern char *abac_aspect_object_name(abac_aspect_t*); |
---|
25 | extern abac_aspect_t *abac_aspect_object_new(int type, abac_term_t *object); |
---|
26 | extern char *abac_aspect_principal_name(abac_aspect_t*); |
---|
27 | extern abac_aspect_t *abac_aspect_principal_new(int, char*); |
---|
28 | extern abac_aspect_t *abac_aspect_role_principal_create(char*); |
---|
29 | extern char *abac_aspect_string(abac_aspect_t*); |
---|
30 | extern char *abac_aspect_typed_string(abac_aspect_t*); |
---|
31 | extern abac_aspect_t *abac_attribute_head(abac_attribute_t *ptr); |
---|
32 | extern abac_aspect_t *abac_attribute_tail(abac_attribute_t *ptr); |
---|
33 | extern abac_aspect_t **abac_attribute_tail_vectorized(abac_attribute_t*); |
---|
34 | extern int abac_attribute_write_cert(abac_attribute_t*, FILE *out); |
---|
35 | extern void abac_condition_add_range_boolean_item(abac_condition_t *ptr, char* val); |
---|
36 | extern void abac_condition_add_range_float_item(abac_condition_t *ptr, int itype, float val); |
---|
37 | extern void abac_condition_add_range_integer_item(abac_condition_t *ptr, int itype, int val); |
---|
38 | extern void abac_condition_add_range_string_item(abac_condition_t *ptr, char *val); |
---|
39 | extern void abac_condition_add_range_time_item(abac_condition_t *ptr, int itype, char* val); |
---|
40 | extern void abac_condition_add_range_urn_item(abac_condition_t *ptr, char *val); |
---|
41 | extern abac_condition_t *abac_condition_create(char*); |
---|
42 | extern abac_condition_t *abac_condition_create_from_aspect(abac_aspect_t*); |
---|
43 | extern char *abac_condition_string(abac_condition_t*); |
---|
44 | extern char *abac_condition_typed_string(abac_condition_t*); |
---|
45 | extern abac_id_credential_t *abac_context_id_credential_lookup(abac_context_t *ctx, char *); |
---|
46 | extern int abac_context_load_attribute_attribute(abac_context_t *ctx, abac_attribute_t *ptr); |
---|
47 | extern int abac_context_load_id_enc_id_file_key_file(abac_context_t *ctx, char *filename, char *keyfilename, char *pfile); |
---|
48 | extern int abac_context_load_id_enc_idkey_file(abac_context_t *ctx, char *filename, char *pfile); |
---|
49 | extern int abac_context_load_id(abac_context_t *ctx, abac_id_t *id); |
---|
50 | extern int abac_context_load_id_id_key_files(abac_context_t *ctx, char *filename, char *keyfilename); |
---|
51 | extern int abac_context_load_id_idkey_file(abac_context_t *ctx, char *filename); |
---|
52 | extern int abac_id_load_enc_privkey_file(abac_id_t *ptr, char *keyfile, char *pfile); |
---|
53 | extern void abac_id_write_cert(abac_id_t *id, FILE *out); |
---|
54 | extern int abac_id_write_privkey(abac_id_t *id, FILE *out); |
---|
55 | extern abac_term_t **abac_param_list_vectorize(abac_param_list_t*); |
---|
56 | extern abac_param_list_t *abac_aspect_aspect_params(abac_aspect_t *); |
---|
57 | extern abac_param_list_t *abac_aspect_linked_role_params(abac_aspect_t *); |
---|
58 | extern abac_param_list_t *abac_aspect_aspect_params(abac_aspect_t *); |
---|
59 | |
---|
60 | |
---|
61 | #endif /* __ABAC_I_H__ */ |
---|
62 | |
---|