1 |
/* Copyright 2001-2005 The Apache Software Foundation or its licensors, as |
2 |
* applicable. |
3 |
* |
4 |
* Licensed under the Apache License, Version 2.0 (the "License"); |
5 |
* you may not use this file except in compliance with the License. |
6 |
* You may obtain a copy of the License at |
7 |
* |
8 |
* http://www.apache.org/licenses/LICENSE-2.0 |
9 |
* |
10 |
* Unless required by applicable law or agreed to in writing, software |
11 |
* distributed under the License is distributed on an "AS IS" BASIS, |
12 |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
13 |
* See the License for the specific language governing permissions and |
14 |
* limitations under the License. |
15 |
*/ |
16 |
|
17 |
#ifndef MOD_ARM4_H |
18 |
#define MOD_ARM4_H |
19 |
|
20 |
/* |
21 |
* Some ARM agents authorize users to ARM 4 interfaces |
22 |
* thru Posix capabilities. IBM EWLM on AIX is one such |
23 |
* agent. |
24 |
*/ |
25 |
#ifdef _AIX |
26 |
#define USE_CAP_ARM_APPLICATION |
27 |
#endif |
28 |
|
29 |
/* Since POSIX capabilities aren't fully standardized across platforms |
30 |
* hide all the cruft here so that we can keep mod_arm4 module as clean |
31 |
* as possible. |
32 |
*/ |
33 |
#ifdef USE_CAP_ARM_APPLICATION |
34 |
|
35 |
#ifdef _AIX |
36 |
#include <sys/capabilities.h> |
37 |
/* Define the capability number for the CAP_ARM_APPLICATION |
38 |
* capability in the case this program is compiled on a version |
39 |
* of AIX that does not have the capability defined in |
40 |
* capabilities.h |
41 |
*/ |
42 |
#ifndef CAP_ARM_APPLICATION |
43 |
#define CAP_ARM_APPLICATION 5 |
44 |
#endif |
45 |
/* Declare all the agent functions that -should- be declared in |
46 |
* sys/capabilities.h. |
47 |
*/ |
48 |
void cap_clear(cap_t); |
49 |
cap_t cap_init(); |
50 |
cap_t cap_dup(cap_t); |
51 |
int cap_free(void *); |
52 |
int cap_get_flag(cap_t, cap_value_t, cap_flag_t, cap_flag_value_t *); |
53 |
int cap_get_proc(void); |
54 |
int cap_set_proc(cap_t); |
55 |
int cap_set_flag(cap_t cap_p, cap_flag_t flag, int ncap, |
56 |
cap_value_t caps[], cap_flag_value_t value); |
57 |
#else |
58 |
/* Linux (and others?) use capability.h */ |
59 |
#include <sys/capability.h> |
60 |
#endif /* ifdef _AIX */ |
61 |
|
62 |
#endif /* ifdef USE_CAP_ARM_APPLICATION */ |
63 |
|
64 |
#endif /* ifndef MOD_ARM4_H */ |