8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-24 23:23:03 +01:00
firebird-mirror/src/jrd/acl.h
2001-05-23 13:26:42 +00:00

84 lines
2.6 KiB
C

/*
* PROGRAM: JRD Access Method
* MODULE: acl.h
* DESCRIPTION: Access control list definitions
*
* The contents of this file are subject to the Interbase Public
* License Version 1.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy
* of the License at http://www.Inprise.com/IPL.html
*
* Software distributed under the License is distributed on an
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
* or implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code was created by Inprise Corporation
* and its predecessors. Portions created by Inprise Corporation are
* Copyright (C) Inprise Corporation.
*
* All Rights Reserved.
* Contributor(s): ______________________________________.
*/
#ifndef _JRD_ACL_H_
#define _JRD_ACL_H_
#define ACL_version 1
#define ACL_end 0
#define ACL_id_list 1
#define ACL_priv_list 2
/* Privileges to be granted */
#define priv_end 0
#define priv_control 1 /* Control over ACL */
#define priv_grant 2 /* Grant subset of rights to others */
#define priv_delete 3 /* Delete object */
#define priv_read 4 /* Read object */
#define priv_write 5 /* Write object */
#define priv_protect 6 /* Change protection */
#define priv_sql_insert 7 /* SQL insertion */
#define priv_sql_delete 8 /* SQL deletion */
#define priv_sql_update 9 /* SQL update */
#define priv_sql_references 10 /* SQL references for foreign key */
#define priv_execute 11 /* Execute (procedure) */
#define priv_max 12
/* Identification criterias */
#define id_end 0
#define id_group 1 /* UNIX group id */
#define id_user 2 /* UNIX user */
#define id_person 3 /* User name */
#define id_project 4 /* Project name */
#define id_organization 5 /* Organization name */
#define id_node 6 /* Node id */
#define id_view 7 /* View name */
#define id_views 8 /* All views */
#define id_trigger 9 /* Trigger name */
#define id_procedure 10 /* Procedure name */
#define id_sql_role 11 /* SQL role */
#define id_max 12
/* Format of access control list:
acl := <ACL_version> [ <acl_element> ]... <0>
acl_element := <ACL_id_list> <id_list> <ACL_priv_list> <priv_list>
id_list := [ <id_item> ]... <id_end>
id_item := <id_criteria> <length> [<name>]
priv_list := [ <privilege> ]... <priv_end>
*/
/* Transaction Description Record */
#define TDR_VERSION 1
#define TDR_HOST_SITE 1
#define TDR_DATABASE_PATH 2
#define TDR_TRANSACTION_ID 3
#define TDR_REMOTE_SITE 4
#endif /* _JRD_ACL_H_ */