source: libabac/abac_internal.h @ 440ba20

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

1) wrap up refactoring to move all the code gen to abac structure
2) all original testsuite passed
3) add couple more ui calls in abac.hh ie. manage constraint's

creation, hook to dump yap db.

  • Property mode set to 100644
File size: 1.9 KB
Line 
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
9#include "abac.h"
10
11int abac_condition_set_aspect_ptr(abac_condition_t *ptr, abac_aspect_t *aptr);
12int abac_condition_set_aspect_string(abac_condition_t *ptr, char *str);
13int abac_condition_set_range_string(abac_condition_t *ptr);
14int abac_condition_is_range(abac_condition_t *ptr);
15abac_aspect_t *abac_condition_of_aspect(abac_condition_t *ptr);
16
17void abac_aspect_dump(abac_aspect_t *ptr, char* offset);
18abac_term_t *abac_aspect_object_term(abac_aspect_t *ptr);
19
20void abac_condition_dump(abac_condition_t *ptr, char *offset);
21abac_list_t *abac_condition_range_list(abac_condition_t *ptr);
22
23void abac_term_dump(abac_term_t *ptr, char *offset);
24
25abac_item_t *abac_item_new(char *itype, char *val);
26int abac_item_type(abac_item_t *);
27char* abac_item_val(abac_item_t *);
28void abac_param_dump(abac_param_list_t *ptr, char *offset);
29abac_list_t *abac_param_list(abac_param_list_t *ptr);
30char* abac_aspect_get_issuer_keytype(abac_aspect_t *ptr);
31int abac_aspect_get_issuer_idtype(abac_aspect_t *ptr);
32
33certificate_t *abac_attribute_issuer_cert(abac_attribute_t *ptr);
34certificate_t *abac_attribute_cert(abac_attribute_t *ptr);
35abac_attribute_t *abac_attribute_new(abac_id_t *issuer, certificate_t *cert, certificate_t *issuer_cert);
36abac_id_t *abac_id_new(int idtype,char *keyid, char *cn, certificate_t *cert);
37private_key_t *abac_id_privkey(abac_id_t *id);
38certificate_t *abac_id_cert(abac_id_t *id);
39abac_id_t *abac_id_keyid_new(char *keyid, char *cn, certificate_t *cert);
40
41char *abac_termtype_string(int i);
42char *abac_idtype_string(int);
43
44extern int ABAC_IN_PROLOG;
45extern char *prologIt(char*);
46
47#define PROLOG(BODY) {  \
48    ABAC_IN_PROLOG++;      \
49    { BODY }               \
50    ABAC_IN_PROLOG--;      \
51}
52
53
54#endif /* __ABAC_I_H__ */
55
Note: See TracBrowser for help on using the repository browser.