1 /* 2 * Copyright (C) 2019 The Android Open Source Project 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 SYS_CAPABILITY_H 18 #define SYS_CAPABILITY_H 19 20 #include <errno.h> 21 #include <sys/cdefs.h> 22 23 __BEGIN_DECLS 24 25 typedef struct __user_cap_header_struct { 26 uint32_t version; 27 int pid; 28 } *cap_user_header_t; 29 30 typedef struct __user_cap_data_struct { 31 uint32_t effective; 32 uint32_t permitted; 33 uint32_t inheritable; 34 } *cap_user_data_t; 35 capget(cap_user_header_t hdrp,cap_user_data_t datap)36inline int capget(cap_user_header_t hdrp, cap_user_data_t datap) { 37 datap->effective = datap->permitted = datap->inheritable = 0; 38 return 0; 39 } 40 capset(cap_user_header_t hdrp,const cap_user_data_t datap)41inline int capset(cap_user_header_t hdrp, const cap_user_data_t datap) { 42 errno = EPERM; 43 return -1; 44 } 45 46 __END_DECLS 47 48 #endif // SYS_CAPABILITY_H 49