1 /* 2 Access control 3 Copyright (C) 2001-2021, Joe Orton <joe@manyfish.co.uk> 4 5 This library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Library General Public 7 License as published by the Free Software Foundation; either 8 version 2 of the License, or (at your option) any later version. 9 10 This library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Library General Public License for more details. 14 15 You should have received a copy of the GNU Library General Public 16 License along with this library; if not, write to the Free 17 Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 18 MA 02111-1307, USA 19 20 */ 21 22 /* 23 * DEPRECATED ACL Interface. See ne_acl3744.h for replacement API. 24 */ 25 26 #ifndef NE_ACL_H 27 #define NE_ACL_H 28 29 #include "ne_session.h" 30 31 NE_BEGIN_DECLS 32 33 typedef struct 34 { 35 enum { 36 ne_acl_href, 37 ne_acl_property, 38 ne_acl_all 39 } apply; 40 41 enum { 42 ne_acl_grant, 43 ne_acl_deny 44 } type; 45 46 char *principal; 47 int read; 48 int read_acl; 49 int write; 50 int write_acl; 51 int read_cuprivset; 52 } ne_acl_entry; 53 54 /* Set the ACL for the given resource to the list of ACL entries. */ 55 int ne_acl_set(ne_session *sess, const char *uri, 56 const ne_acl_entry entries[], int numentries); 57 58 NE_END_DECLS 59 60 #endif /* NE_ACL_H */ 61