source: libabac/abac_internal.h @ ca72963

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

1) added expanded constraint item insertion calls

  • add new abac_condition_x to support them
  • 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(int 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.