1 PACKAGE dbms_macsec_rules AS
2
3 /**
4 * Evaluates a Rule Set in accordance with the options specified in the
5 * rule_set$ table.
6 * @param p_rule_set Rule Set Name
7 * @param x_result Whether Rule Set evaluated to TRUE or FALSE. Note: NULL result returns as FALSE
8 * @param x_rule Name of last Rule evaluated
9 * @param x_rule_error True if a rule raised an error
10 * @param x_handler_error True if the rule set handler raised an error
11 * @param x_error_code If x_rule_error or x_handler_error, returns the error code
12 * @param x_error_text If x_rule_error or x_handler_error, returns the error code
13 */
14 PROCEDURE evaluate(p_rule_set IN VARCHAR2,
15 p_sql_text IN VARCHAR2,
16 x_result OUT BOOLEAN,
17 x_rule OUT VARCHAR2,
18 x_rule_error OUT BOOLEAN,
19 x_handler_error OUT BOOLEAN,
20 x_error_code OUT NUMBER,
21 x_error_text OUT VARCHAR2);
22
23 PROCEDURE evaluate_tr(p_rule_set IN NUMBER,
24 p_eval_ret IN OUT BINARY_INTEGER,
25 p_error_code IN OUT BINARY_INTEGER,
26 p_error_text IN OUT VARCHAR2) as
27 LANGUAGE C
28 NAME "kzvdversetev"
29 LIBRARY DVSYS.KZV$RUL_LIBT
30 WITH CONTEXT PARAMETERS(context, p_rule_set OCINUMBER, p_eval_ret,
31 p_error_code, p_error_text);
32
33
34 /**
35 * This is a temporary wrapper for evaluate. OCI cannot pass BOOLEAN
36 * variables to or from PL/SQL. Therefore, we need a wrapper that
37 * converts booleans to integers.
38 */
39 PROCEDURE evaluate_wr(p_rule_set IN VARCHAR2,
40 x_result OUT INTEGER,
41 x_rule OUT VARCHAR2,
42 x_rule_error OUT INTEGER,
43 x_handler_error OUT INTEGER,
44 x_error_code OUT NUMBER,
45 x_error_text OUT VARCHAR2);
46 END;