Apache Portable Runtime
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
apr_inherit.h
Go to the documentation of this file.
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_INHERIT_H
18 #define APR_INHERIT_H
19 
20 /**
21  * @file apr_inherit.h
22  * @brief APR File Handle Inheritance Helpers
23  * @remark This internal header includes internal declaration helpers
24  * for other headers to declare apr_foo_inherit_[un]set functions.
25  */
26 
27 /**
28  * Prototype for type-specific declarations of apr_foo_inherit_set
29  * functions.
30  * @remark Doxygen unwraps this macro (via doxygen.conf) to provide
31  * actual help for each specific occurrence of apr_foo_inherit_set.
32  * @remark the linkage is specified for APR. It would be possible to expand
33  * the macros to support other linkages.
34  */
35 #define APR_DECLARE_INHERIT_SET(type) \
36  APR_DECLARE(apr_status_t) apr_##type##_inherit_set( \
37  apr_##type##_t *the##type)
38 
39 /**
40  * Prototype for type-specific declarations of apr_foo_inherit_unset
41  * functions.
42  * @remark Doxygen unwraps this macro (via doxygen.conf) to provide
43  * actual help for each specific occurrence of apr_foo_inherit_unset.
44  * @remark the linkage is specified for APR. It would be possible to expand
45  * the macros to support other linkages.
46  */
47 #define APR_DECLARE_INHERIT_UNSET(type) \
48  APR_DECLARE(apr_status_t) apr_##type##_inherit_unset( \
49  apr_##type##_t *the##type)
50 
51 #endif /* ! APR_INHERIT_H */