1339228Speter/* Licensed to the Apache Software Foundation (ASF) under one or more 2339228Speter * contributor license agreements. See the NOTICE file distributed with 3339228Speter * this work for additional information regarding copyright ownership. 4339228Speter * The ASF licenses this file to You under the Apache License, Version 2.0 5339228Speter * (the "License"); you may not use this file except in compliance with 6339228Speter * the License. You may obtain a copy of the License at 7339228Speter * 8339228Speter * http://www.apache.org/licenses/LICENSE-2.0 9339228Speter * 10339228Speter * Unless required by applicable law or agreed to in writing, software 11339228Speter * distributed under the License is distributed on an "AS IS" BASIS, 12339228Speter * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13339228Speter * See the License for the specific language governing permissions and 14339228Speter * limitations under the License. 15339228Speter */ 16339228Speter 17339228Speter#ifndef APR_PERMS_SET_H 18339228Speter#define APR_PERMS_SET_H 19339228Speter 20339228Speter/** 21339228Speter * @file apr_perms_set.h 22339228Speter * @brief APR Process Locking Routines 23339228Speter */ 24339228Speter 25339228Speter#include "apr.h" 26339228Speter#include "apr_pools.h" 27339228Speter#include "apr_errno.h" 28339228Speter#include "apr_user.h" 29339228Speter#include "apr_file_info.h" 30339228Speter 31339228Speter#ifdef __cplusplus 32339228Speterextern "C" { 33339228Speter#endif /* __cplusplus */ 34339228Speter 35339228Speter/** 36339228Speter * @defgroup apr_perms_set Object permission set functions 37339228Speter * @ingroup APR 38339228Speter * @{ 39339228Speter */ 40339228Speter 41339228Speter/** Permission set callback function. */ 42339228Spetertypedef apr_status_t (apr_perms_setfn_t)(void *object, apr_fileperms_t perms, 43339228Speter apr_uid_t uid, apr_gid_t gid); 44339228Speter 45339228Speter#define APR_PERMS_SET_IMPLEMENT(type) \ 46339228Speter APR_DECLARE(apr_status_t) apr_##type##_perms_set \ 47339228Speter (void *the##type, apr_fileperms_t perms, \ 48339228Speter apr_uid_t uid, apr_gid_t gid) 49339228Speter 50339228Speter#define APR_PERMS_SET_ENOTIMPL(type) \ 51339228Speter APR_DECLARE(apr_status_t) apr_##type##_perms_set \ 52339228Speter (void *the##type, apr_fileperms_t perms, \ 53339228Speter apr_uid_t uid, apr_gid_t gid) \ 54339228Speter { return APR_ENOTIMPL ; } 55339228Speter 56339228Speter#define APR_PERMS_SET_FN(type) apr_##type##_perms_set 57339228Speter 58339228Speter 59339228Speter/** @} */ 60339228Speter 61339228Speter#ifdef __cplusplus 62339228Speter} 63339228Speter#endif 64339228Speter 65339228Speter#endif /* ! APR_PERMS_SET */ 66