Annotation of win32/apache22/srclib/apr/include/apr_signal.h, revision 1.1

1.1     ! moko        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_SIGNAL_H
        !            18: #define APR_SIGNAL_H
        !            19: 
        !            20: /**
        !            21:  * @file apr_signal.h
        !            22:  * @brief APR Signal Handling
        !            23:  */
        !            24: 
        !            25: #include "apr.h"
        !            26: #include "apr_pools.h"
        !            27: 
        !            28: #if APR_HAVE_SIGNAL_H
        !            29: #include <signal.h>
        !            30: #endif
        !            31: 
        !            32: #ifdef __cplusplus
        !            33: extern "C" {
        !            34: #endif /* __cplusplus */
        !            35: 
        !            36: /**
        !            37:  * @defgroup apr_signal Signal Handling
        !            38:  * @ingroup APR
        !            39:  * @{
        !            40:  */
        !            41: 
        !            42: #if APR_HAVE_SIGACTION || defined(DOXYGEN)
        !            43: 
        !            44: #if defined(DARWIN) && !defined(__cplusplus) && !defined(_ANSI_SOURCE)
        !            45: /* work around Darwin header file bugs
        !            46:  *   http://www.opensource.apple.com/bugs/X/BSD%20Kernel/2657228.html
        !            47:  */
        !            48: #undef SIG_DFL
        !            49: #undef SIG_IGN
        !            50: #undef SIG_ERR
        !            51: #define SIG_DFL (void (*)(int))0
        !            52: #define SIG_IGN (void (*)(int))1
        !            53: #define SIG_ERR (void (*)(int))-1
        !            54: #endif
        !            55: 
        !            56: /** Function prototype for signal handlers */
        !            57: typedef void apr_sigfunc_t(int);
        !            58: 
        !            59: /**
        !            60:  * Set the signal handler function for a given signal
        !            61:  * @param signo The signal (eg... SIGWINCH)
        !            62:  * @param func the function to get called
        !            63:  */
        !            64: APR_DECLARE(apr_sigfunc_t *) apr_signal(int signo, apr_sigfunc_t * func);
        !            65: 
        !            66: #if defined(SIG_IGN) && !defined(SIG_ERR)
        !            67: #define SIG_ERR ((apr_sigfunc_t *) -1)
        !            68: #endif
        !            69: 
        !            70: #else /* !APR_HAVE_SIGACTION */
        !            71: #define apr_signal(a, b) signal(a, b)
        !            72: #endif
        !            73: 
        !            74: 
        !            75: /**
        !            76:  * Get the description for a specific signal number
        !            77:  * @param signum The signal number
        !            78:  * @return The description of the signal
        !            79:  */
        !            80: APR_DECLARE(const char *) apr_signal_description_get(int signum);
        !            81: 
        !            82: /**
        !            83:  * APR-private function for initializing the signal package
        !            84:  * @internal
        !            85:  * @param pglobal The internal, global pool
        !            86:  */
        !            87: void apr_signal_init(apr_pool_t *pglobal);
        !            88: 
        !            89: /**
        !            90:  * Block the delivery of a particular signal
        !            91:  * @param signum The signal number
        !            92:  * @return status
        !            93:  */
        !            94: APR_DECLARE(apr_status_t) apr_signal_block(int signum);
        !            95: 
        !            96: /**
        !            97:  * Enable the delivery of a particular signal
        !            98:  * @param signum The signal number
        !            99:  * @return status
        !           100:  */
        !           101: APR_DECLARE(apr_status_t) apr_signal_unblock(int signum);
        !           102: 
        !           103: /** @} */
        !           104: 
        !           105: #ifdef __cplusplus
        !           106: }
        !           107: #endif /* __cplusplus */
        !           108: 
        !           109: #endif /* APR_SIGNAL_H */

E-mail: