/usr/include/dacs/dacs_api.h is in libdacs-dev 1.4.38a-2build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | /*
* Copyright (c) 2003-2013
* Distributed Systems Software. All rights reserved.
* See the file LICENSE for redistribution information.
*
* $Id: dacs_api.h 2642 2013-02-27 19:48:45Z brachman $
*/
#ifndef _DACS_API_H_
#define _DACS_API_H_
#include "dacs.h"
#ifndef DEFAULT_FEDERATION_DOMAIN
#define DEFAULT_FEDERATION_DOMAIN "EXAMPLE.COM"
#endif
#ifndef DEFAULT_PORT_NUMBER
#define DEFAULT_PORT_NUMBER "80"
#endif
#ifndef DEFAULT_HTTPS_PORT_NUMBER
#define DEFAULT_HTTPS_PORT_NUMBER "443"
#endif
typedef struct Simple_user {
char *user;
char *groups;
char *attrs;
char *ip_addr;
char *expires;
} Simple_user;
enum {
TRANSFORM_MAX_STACK_DEPTH = 100
};
typedef enum {
D_NONE = 0,
D_BEGIN = 1,
D_COMMENT = 2,
D_DEBUG = 3,
D_END = 4,
D_ERROR = 5,
D_EVAL = 6,
D_EXPAND = 7,
D_FILTER = 8,
D_FILTERV = 9,
D_ID = 10,
D_INSERT = 11,
D_INSERTV = 12,
D_SET = 13
} Transform_directive;
typedef struct Transform_stack {
Transform_directive directive; /* Directive for this element */
char *region; /* Region name */
int skipping; /* Region contents are being discarded */
int expanding; /* Region contents are being expanded */
char *expr; /* The expr attribute value, if any */
Ds *diverted; /* Content for filter input or */
/* filter expression or NULL */
Var_ns *var_context;
Kwv *saved_attrs;
struct Transform_stack *prev; /* Preceding stack element */
} Transform_stack;
typedef struct Transform_config {
Ds *ds_in;
Ds *ds_out;
int linenum;
int stack_depth;
int max_stack_depth;
Transform_stack *stackp;
char *acls;
char *docs;
char *insert_dir;
char *directive_prefix;
char *directive_suffix;
char *annotation;
char *regex_prefix;
char *regex_suffix;
Kwv *global_attrs;
Acs_environment *env;
} Transform_config;
#ifdef __cplusplus
extern "C" {
#endif
extern int set_federation(Kwv *kwv_conf, Kwv *kwv_dacs,
char *name, char *domain);
extern int set_jurisdiction(Kwv *kwv_conf, Kwv *kwv_dacs, char *name);
extern int add_vfs_uri(Kwv *kwv_conf, char *vfs_uri);
extern int parse_ident_string(char *str, Simple_user *suser);
extern int compare_idents(char *ident1, char *ident2, Kwv *kwv_conf);
extern int get_conf(char **host);
extern int set_conf_from_host(Kwv *kwv_conf, Kwv *kwv_dacs, char *host);
extern int get_conf_from_host(char *host, char **hname, char **fname,
char **jname, char **fdomain);
extern int check_object_access(char *rules, char *groups, char *idents,
char *object, Kwv *kwv_conf, Kwv *kwv_dacs,
Acs_result *result, char **constraint);
extern int check_access(char *rules, char *groups, char *idents, char *objects,
Kwv *kwv_conf, Kwv *kwv_dacs,
Acs_result *result, char ***constraints);
extern char *make_ident(char *user, char *groups, char *attrs,
time_t expires_secs, char *ip_addr);
extern char *make_ident_from_credentials(Credentials *cr);
extern char *make_idents_from_credentials(Credentials *credentials);
extern Acs_environment *init_env(char *object, Uri *uri, Kwv *kwv_conf,
Kwv *kwv_dacs);
extern int set_ident_config(int *argcp, char **argv, Kwv *kwv_dacs,
Kwv *kwv_conf, char **identsp, char **errmsg);
extern Credentials *make_credentials_from_ident(char *ident,
Auth_style auth_style,
Kwv *kwv_conf);
extern Dsvec *make_credentials_from_idents(char *str, Auth_style auth_style,
Kwv *kwv_conf);
extern int transform(Transform_config *tc, char *object_name, char *idents,
char **errmsg);
extern Ds *transform_simple_file(char *path, Kwv *kwv, char **errmsg);
extern Ds *transform_simple_fp(FILE *fp, Kwv *kwv, char **errmsg);
extern Ds *transform_simple_str(char *input, Kwv *kwv, char **errmsg);
extern Transform_config *transform_init(Transform_config *otc);
#ifdef __cplusplus
}
#endif
#endif
|