github.com/krum110487/go-htaccess@v0.0.0-20240316004156-60641c8e7598/tests/data/apache_2_4_58/include/apr_perms_set.h (about)

     1  /* Licensed to the Apache Software Foundation (ASF) under one or more
     2   * contributor license agreements.  See the NOTICE file distributed with
     3   * this work for additional information regarding copyright ownership.
     4   * The ASF licenses this file to You under the Apache License, Version 2.0
     5   * (the "License"); you may not use this file except in compliance with
     6   * the License.  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 APR_PERMS_SET_H
    18  #define APR_PERMS_SET_H
    19  
    20  /**
    21   * @file apr_perms_set.h
    22   * @brief APR Process Locking Routines
    23   */
    24  
    25  #include "apr.h"
    26  #include "apr_pools.h"
    27  #include "apr_errno.h"
    28  #include "apr_user.h"
    29  #include "apr_file_info.h"
    30  
    31  #ifdef __cplusplus
    32  extern "C" {
    33  #endif /* __cplusplus */
    34  
    35  /**
    36   * @defgroup apr_perms_set Object permission set functions
    37   * @ingroup APR 
    38   * @{
    39   */
    40  
    41  /** Permission set callback function. */
    42  typedef apr_status_t (apr_perms_setfn_t)(void *object, apr_fileperms_t perms,
    43                                           apr_uid_t uid, apr_gid_t gid);
    44  
    45  #define APR_PERMS_SET_IMPLEMENT(type) \
    46      APR_DECLARE(apr_status_t) apr_##type##_perms_set \
    47          (void *the##type, apr_fileperms_t perms, \
    48           apr_uid_t uid, apr_gid_t gid)
    49  
    50  #define APR_PERMS_SET_ENOTIMPL(type) \
    51      APR_DECLARE(apr_status_t) apr_##type##_perms_set \
    52          (void *the##type, apr_fileperms_t perms, \
    53           apr_uid_t uid, apr_gid_t gid) \
    54          { return APR_ENOTIMPL ; }
    55  
    56  #define APR_PERMS_SET_FN(type) apr_##type##_perms_set
    57  
    58  
    59  /** @} */
    60  
    61  #ifdef __cplusplus
    62  }
    63  #endif
    64  
    65  #endif  /* ! APR_PERMS_SET */