1 PACKAGE XS_ACL AUTHID CURRENT_USER AS
2
3 -- The following constants define the parent ACL type.
4 EXTENDED CONSTANT PLS_INTEGER := 1;
5 CONSTRAINED CONSTANT PLS_INTEGER := 2;
6
7 -- The following constants define the principal's type.
8 PTYPE_XS CONSTANT PLS_INTEGER := 1;
9 PTYPE_DB CONSTANT PLS_INTEGER := 2;
10 PTYPE_DN CONSTANT PLS_INTEGER := 3;
11 PTYPE_EXTERNAL CONSTANT PLS_INTEGER := 4;
12
13 -- The following constants define the parameter value type.
14 TYPE_NUMBER CONSTANT PLS_INTEGER := 1;
15 TYPE_VARCHAR CONSTANT PLS_INTEGER := 2;
16
17 -- Enable log based replication for this package
18 PRAGMA SUPPLEMENTAL_LOG_DATA(default, AUTO);
19
20 -- Create ACL API
21 PROCEDURE create_acl (
22 name IN VARCHAR2,
23 ace_list IN XS$ACE_LIST,
24 sec_class IN VARCHAR2 := NULL,
25 parent IN VARCHAR2:=NULL,
26 inherit_mode IN PLS_INTEGER:=NULL,
27 description IN VARCHAR2 := NULL);
28
29 -- Append one ACE to the ACL
30 PROCEDURE append_aces (
31 acl IN VARCHAR2,
32 ace IN XS$ACE_TYPE);
33
34 -- Append ACEs to the ACL
35 PROCEDURE append_aces (
36 acl IN VARCHAR2,
37 ace_list IN XS$ACE_LIST);
38
39 -- Remove all ACEs from the ACL
40 PROCEDURE remove_aces (
41 acl IN VARCHAR2);
42
43 -- Set the secuirty class
44 PROCEDURE set_security_class (
45 acl IN VARCHAR2,
46 sec_class IN VARCHAR2);
47
48 -- Set the parent acl
49 PROCEDURE set_parent_acl(
50 acl IN VARCHAR2,
51 parent IN VARCHAR2,
52 inherit_mode IN PLS_INTEGER);
53
54 --Add a parameter value : NUMBER
55 PROCEDURE add_acl_parameter (
56 acl IN VARCHAR2,
57 policy IN VARCHAR2,
58 parameter IN VARCHAR2,
59 value IN NUMBER);
60
61 --Add a parameter value : VARCHAR2
62 PROCEDURE add_acl_parameter (
63 acl IN VARCHAR2,
64 policy IN VARCHAR2,
65 parameter IN VARCHAR2,
66 value IN VARCHAR2);
67
68 --Remove all parameters
69 PROCEDURE remove_acl_parameters (
70 acl IN VARCHAR2);
71
72 -- Remove a parameter
73 PROCEDURE remove_acl_parameters (
74 acl IN VARCHAR2,
75 parameter IN VARCHAR2);
76
77 -- Set description of ACL
78 PROCEDURE set_description (
79 acl IN VARCHAR2,
80 description IN VARCHAR2);
81
82 -- Delete the ACL
83 PROCEDURE delete_acl (
84 acl IN VARCHAR2,
85 delete_option IN PLS_INTEGER:=XS_ADMIN_UTIL.DEFAULT_OPTION);
86
87 END XS_ACL;