source: libabac/abac_c.c @ 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: 6.0 KB
RevLine 
[5d06689]1
2#include "abac_internal.h"
3
4/* a very thin layer to libabac calls so c interface and c++ interface
5   looks about the same */
6
7/* CONSTRAINT->abac_condition_t */
8void abac_constraint_add_integer_max(abac_condition_t *cond,int val)
9{ abac_condition_add_range_integer_item(cond,abac_max_item_type(),val); }
10void abac_constraint_add_integer_min(abac_condition_t *cond,int val)
11{ abac_condition_add_range_integer_item(cond,abac_min_item_type(),val); }
12void abac_constraint_add_integer_target(abac_condition_t *cond,int val)
13{ abac_condition_add_range_integer_item(cond,abac_target_item_type(),val); }
14void abac_constraint_add_float_max(abac_condition_t *cond,float val)
15{ abac_condition_add_range_float_item(cond,abac_max_item_type(),val); }
16void abac_constraint_add_float_min(abac_condition_t *cond,float val)
17{ abac_condition_add_range_float_item(cond,abac_min_item_type(),val); }
18void abac_constraint_add_float_target(abac_condition_t *cond,float val)
19{ abac_condition_add_range_float_item(cond,abac_target_item_type(),val); }
20void abac_constraint_add_time_max(abac_condition_t *cond,char* val)
21{ abac_condition_add_range_time_item(cond,abac_max_item_type(),val); }
22void abac_constraint_add_time_min(abac_condition_t *cond,char* val)
23{ abac_condition_add_range_time_item(cond,abac_min_item_type(),val); }
24void abac_constraint_add_time_target(abac_condition_t *cond,char* val)
25{ abac_condition_add_range_time_item(cond,abac_target_item_type(),val); }
26void abac_constraint_add_urn_target(abac_condition_t *cond,char* val)
27{ abac_condition_add_range_urn_item(cond,val); }
28void abac_constraint_add_string_target(abac_condition_t *cond,char* val)
29{ abac_condition_add_range_string_item(cond,val); }
30void abac_constraint_add_boolean_target(abac_condition_t *cond, char* val)
31{ abac_condition_add_range_boolean_item(cond,val); }
32abac_condition_t *abac_constraint_from_role(abac_aspect_t *ptr)
33{ return abac_condition_create_from_aspect(ptr); }
34abac_condition_t *abac_constraint_from_oset(abac_aspect_t *ptr)
35{ return abac_condition_create_from_aspect(ptr); }
[5f551d3]36char *abac_constraint_typed_string(abac_condition_t *ptr)
37{ return abac_condition_typed_string(ptr); }
38char *abac_constraint_string(abac_condition_t *ptr)
39{ return abac_condition_string(ptr); }
[5d06689]40
41/* ROLE/OSET -> abac_aspect_t */
42abac_aspect_t *abac_role_principal_create(char *principal_name)
43{ return abac_aspect_role_principal_create(principal_name); }
44abac_aspect_t *abac_oset_principal_create(char *principal_name)
45{ return abac_aspect_principal_new(e_ASPECTTYPE_OSET,principal_name); }
46abac_aspect_t *abac_oset_create(char *principal_name, char *oset_name)
47{ return abac_aspect_new(e_ASPECTTYPE_OSET,principal_name,oset_name); }
48abac_aspect_t *abac_role_create(char *principal_name, char *role_name)
49{ return abac_aspect_new(e_ASPECTTYPE_ROLE,principal_name,role_name); }
[7211a95]50abac_aspect_t *abac_oset_linked_create(char *principal_name, char *linked_role_name, char *oset_name)
51{ return abac_aspect_linking_new(e_ASPECTTYPE_OSET,principal_name,linked_role_name,oset_name); }
52abac_aspect_t *abac_role_linked_create(char *principal_name, char *linked_role_name, char *role_name)
53{ return abac_aspect_linking_new(e_ASPECTTYPE_ROLE,principal_name,linked_role_name,role_name); }
54
[5d06689]55abac_aspect_t *abac_oset_object_create(abac_term_t *object)
56{ return abac_aspect_object_new(e_ASPECTTYPE_OSET,object); }
57bool abac_oset_is_object(abac_aspect_t *ptr)
58{ return abac_aspect_is_object(ptr); }
59bool abac_oset_is_principal(abac_aspect_t *ptr)
60{ return abac_aspect_is_principal(ptr); }
61bool abac_role_is_principal(abac_aspect_t *ptr)
62{ return abac_aspect_is_principal(ptr); }
63bool abac_oset_is_linking(abac_aspect_t *ptr)
64{ return abac_aspect_is_linking(ptr); }
65bool abac_role_is_linking(abac_aspect_t *ptr)
66{ return abac_aspect_is_linking(ptr); }
67char *abac_role_linked_role(abac_aspect_t *ptr)
68{ return abac_aspect_linked_role_name(ptr); }
69char *abac_oset_linked_role(abac_aspect_t *ptr)
70{ return abac_aspect_linked_role_name(ptr); }
71char *abac_role_name(abac_aspect_t *ptr)
72{ return abac_aspect_aspect_name(ptr); }
73char *abac_oset_name(abac_aspect_t *ptr)
74{ return abac_aspect_aspect_name(ptr); }
75char *abac_role_principal(abac_aspect_t *ptr)
76{ return abac_aspect_principal_name(ptr); }
77char *abac_oset_principal(abac_aspect_t *ptr)
78{ return abac_aspect_principal_name(ptr); }
79void abac_role_add_data_term(abac_aspect_t *ptr, abac_term_t *param)
80{ abac_aspect_add_param(ptr, param); }
81void abac_oset_add_data_term(abac_aspect_t *ptr, abac_term_t *param)
82{ abac_aspect_add_param(ptr, param); }
83void abac_role_add_linked_data_term(abac_aspect_t *ptr, abac_term_t *param)
84{ abac_aspect_add_linked_param(ptr, param); }
85void abac_oset_add_linked_data_term(abac_aspect_t *ptr, abac_term_t *param)
86{ abac_aspect_add_linked_param(ptr, param); }
87char *abac_oset_object(abac_aspect_t *ptr)
88{ return abac_aspect_object_name(ptr); }
89
90/* ATTRIBUTE -> abac_attribute_t */
91char *abac_head_string(abac_attribute_t *ptr)
92{
93  abac_aspect_t *head=abac_attribute_head(ptr);
94  char *string=abac_aspect_string(head);
95  return string;
96}
97char *abac_tail_string(abac_attribute_t *ptr)
98{
99  abac_aspect_t *tail=abac_attribute_tail(ptr);
100  char *string=abac_aspect_string(tail);
101  return string;
102}
103char *abac_head_typed_string(abac_attribute_t *ptr)
104{
105  abac_aspect_t *head=abac_attribute_head(ptr);
106  char *string=abac_aspect_typed_string(head);
107  return string;
108}
109char *abac_tail_typed_string(abac_attribute_t *ptr)
110{
111  abac_aspect_t *tail=abac_attribute_tail(ptr);
112  char *string=abac_aspect_typed_string(tail);
113  return string;
114}
115
116/* CONTEXT -> abac_context_t */
117int abac_context_load_id(abac_context_t *ptr, abac_id_t *id)
118{ return abac_context_load_id_id(ptr, id); }
119int abac_context_load_id_file(abac_context_t *ptr, char *filename)
120{ return abac_context_load_id_idkey_file(ptr, filename); }
121int abac_context_load_id_files(abac_context_t *ptr, char *filename, char *keyfilename)
122{ return abac_context_load_id_id_file_key_file(ptr, filename, keyfilename); }
123int abac_context_load_attribute(abac_context_t *ptr, abac_attribute_t *attr)
124{ return abac_context_load_attribute_attribute(ptr, attr); }
125
126
127
128
129
130
131
132
133
134
135
Note: See TracBrowser for help on using the repository browser.