]>
Commit | Line | Data |
---|---|---|
64b56afd AC |
1 | /* |
2 | * Copyright (c) 2012 William Pitcock <nenolod@dereferenced.org>. | |
3 | * | |
4 | * Permission to use, copy, modify, and/or distribute this software for any | |
5 | * purpose with or without fee is hereby granted, provided that the above | |
6 | * copyright notice and this permission notice is present in all copies. | |
7 | * | |
8 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | |
9 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |
10 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |
11 | * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, | |
12 | * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | |
13 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | |
14 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | |
15 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | |
16 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING | |
17 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | |
18 | * POSSIBILITY OF SUCH DAMAGE. | |
19 | */ | |
20 | ||
21 | #ifndef __CAPABILITY_H__ | |
22 | #define __CAPABILITY_H__ | |
23 | ||
24 | struct CapabilityIndex; | |
25 | struct CapabilityEntry; | |
26 | ||
bde42c60 JT |
27 | extern unsigned int capability_get(struct CapabilityIndex *idx, const char *cap); |
28 | extern unsigned int capability_put(struct CapabilityIndex *idx, const char *cap); | |
22cae20f | 29 | extern unsigned int capability_put_anonymous(struct CapabilityIndex *idx); |
bde42c60 JT |
30 | extern void capability_orphan(struct CapabilityIndex *idx, const char *cap); |
31 | extern void capability_require(struct CapabilityIndex *idx, const char *cap); | |
64b56afd | 32 | |
885cd603 | 33 | extern struct CapabilityIndex *capability_index_create(const char *name); |
64b56afd | 34 | extern void capability_index_destroy(struct CapabilityIndex *); |
5e773521 | 35 | extern const char *capability_index_list(struct CapabilityIndex *, unsigned int capability_mask); |
ec3a9055 | 36 | extern unsigned int capability_index_mask(struct CapabilityIndex *); |
f01f67f0 | 37 | extern unsigned int capability_index_get_required(struct CapabilityIndex *); |
a16910aa | 38 | extern void capability_index_stats(void (*cb)(const char *line, void *privdata), void *privdata); |
5e773521 | 39 | |
64b56afd | 40 | #endif |