Adaptive Framework  0.9.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
afw_authorization_internal.h
1 // See the 'COPYING' file in the project root for licensing information.
2 /*
3  * Adaptive Framework Authorization
4  *
5  * Copyright (c) 2010-2023 Clemson University
6  *
7  */
8 
9 #ifndef __AFW_AUTHORIZATION_INTERNAL_H__
10 #define __AFW_AUTHORIZATION_INTERNAL_H__
11 
12 #include "afw_interface.h"
13 
29 
34 
37 
45 
48 };
49 
50 
51 
57 
60 
63 
66 
73 
80 
83 };
84 
85 
86 
96 
99 
102 
105 
108 
111 
114 
117 
120 };
121 
122 
123 
127 
128  /* A value that evaluates to an _AdaptiveAuthorizationResult_ object. */
129  const afw_value_t *authorization_check;
130 
131  /* Qualified variables objects available for authorization_check. */
132  const afw_object_t *qualified_variables;
133 
135 
136 
137 
139 typedef struct {
140  const afw_value_t *requestId;
141  const afw_value_t *resourceId;
142  const afw_value_t *object;
143  const afw_value_t *actionId;
145 
146 
155 afw_authorization_internal_set_control(
156  const afw_object_t *object,
157  afw_xctx_t *xctx);
158 
159 
166 afw_authorization_internal_register(
167  afw_xctx_t *xctx);
168 
169 
178 afw_authorization_internal_register_service_and_conf(
179  afw_xctx_t *xctx);
180 
181 
190 afw_authorization_internal_register_handler_type_script(
191  afw_xctx_t *xctx);
192 
193 
194 
201 /* Create type=afw authorization handler. */
204  const afw_object_t *properties,
205  const afw_pool_t *p, afw_xctx_t *xctx);
206 
207 AFW_END_DECLARES
208 
211 #endif /* __AFW_AUTHORIZATION_INTERNAL_H__ */
#define AFW_DEFINE_INTERNAL(type)
Define an internal function for /src/afw/ source*.c files.
#define AFW_BEGIN_DECLARES
#define AFW_DECLARE_INTERNAL(type)
Declare an internal function for /src/afw/ source*.h files.
#define AFW_DECLARE(type)
Declare a public afw function.
Interfaceafw_interface header.
struct afw_authorization_handler_script_self_s afw_authorization_handler_script_self_t
Self for authorization handler type script.
const afw_authorization_handler_t * afw_authorization_handler_type_script_create_cede_p(const afw_object_t *properties, const afw_pool_t *p, afw_xctx_t *xctx)
Create type=script authorization handler.
_Bool afw_boolean_t
Definition: afw_common.h:373
struct afw_thread_mutex_s afw_thread_mutex_t
apr_int64_t afw_integer_t
typedef for big signed int.
Definition: afw_common.h:321
Authorization handler id anchor.
afw_boolean_t is_started
Stopping instances.
const afw_authorization_handler_t * first
First instance.
afw_thread_mutex_t * authorization_handler_mutex
Mutex for locking access to authorization handler related resources.
Interface afw_authorization_handler public struct.
Self for authorization handler type script.
const afw_value_t * initial_authorization_check
Initial authorization check or NULL.
const afw_utf8_t * not_applicable_decision_id
Final notApplicable decision id.
const afw_value_t * not_applicable_result
Final notApplicable result.
const afw_authorization_handler_id_anchor_t * first_anchor
First authorization handler id anchor in priority order.
const afw_value_t * core_authorization_check
Core authorization check or NULL.
afw_boolean_t check_intermediate_mode
Check authorization for mode intermediate.
const afw_authorization_handler_id_anchor_t * next_anchor
Next authorization id anchor in priority order.
const afw_authorization_handler_t * authorization_handler
Authorization Handler instance or NULL.
afw_integer_t processing_order
Order this authorization handler will be processed.
const afw_utf8_t * service_id
Associated service id or NULL.
const afw_utf8_t * authorization_handler_id
Authorization Handler id.
afw_integer_t reference_count
Reference count for this instance of authorization handler.
const afw_object_t * properties
Associated properties.
afw_authorization_handler_id_anchor_t * stopping
First/next stopping authorization handler or NULL.
Interface afw_object public struct.
Interface afw_pool public struct.
NFC normalized UTF-8 string.
Definition: afw_common.h:545
Interface afw_value public struct.
Interface afw_xctx public struct.