1/*
2   Access control
3   Copyright (C) 2001-2006, 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
31NE_BEGIN_DECLS
32
33typedef 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. */
55int ne_acl_set(ne_session *sess, const char *uri,
56	       const ne_acl_entry entries[], int numentries);
57
58NE_END_DECLS
59
60#endif /* NE_ACL_H */
61