mirror of
				https://github.com/acidanthera/audk.git
				synced 2025-11-04 05:25:45 +01:00 
			
		
		
		
	git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12139 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			87 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
  This file declares a type and two functions and defines several
 | 
						|
  macros, for handling various signals (conditions that may be reported during
 | 
						|
  program execution).
 | 
						|
 | 
						|
    For historical reasons; programs expect signal to be declared
 | 
						|
    in <sys/signal.h>.  The signal function is documented in <sys/signal.h>.
 | 
						|
 | 
						|
    The signal function is declared in the C Standard as:<BR>
 | 
						|
    void (*signal(int sig, void (*func)(int)))(int);
 | 
						|
 | 
						|
    The EDK II implementation of the library or base firmware does not generate
 | 
						|
    any of these signals, except as a result of explicit calls to the raise function.
 | 
						|
 | 
						|
    Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
 | 
						|
    This program and the accompanying materials are licensed and made available under
 | 
						|
    the terms and conditions of the BSD License that accompanies this distribution.
 | 
						|
    The full text of the license may be found at
 | 
						|
    http://opensource.org/licenses/bsd-license.
 | 
						|
 | 
						|
    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
 | 
						|
    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 | 
						|
**/
 | 
						|
#ifndef _SIGNAL_H
 | 
						|
#define _SIGNAL_H
 | 
						|
#include  <sys/EfiCdefs.h>
 | 
						|
#include  <sys/signal.h>
 | 
						|
 | 
						|
/*  The type sig_atomic_t is the (possibly volatile-qualified) integer type of
 | 
						|
    an object that can be accessed as an atomic entity, even in the presence
 | 
						|
    of asynchronous interrupts.
 | 
						|
 | 
						|
    This, possibly machine specific, type is defined in <machine/signal.h>.
 | 
						|
*/
 | 
						|
 | 
						|
/** @{
 | 
						|
    The following three macros expand to constant expressions with distinct
 | 
						|
    values that have type compatible with the second argument to, and the
 | 
						|
    return value of, the signal function, and whose values compare unequal to
 | 
						|
    the address of any declarable function.
 | 
						|
**/
 | 
						|
#define SIG_IGN   ((__sighandler_t *) 0)
 | 
						|
#define SIG_DFL   ((__sighandler_t *) 1)
 | 
						|
#define SIG_ERR   ((__sighandler_t *) 3)
 | 
						|
/*@}*/
 | 
						|
 | 
						|
/** @{
 | 
						|
    The following macros expand to positive integer constant expressions with
 | 
						|
    type int and distinct values that are the signal numbers, each
 | 
						|
    corresponding to the specified condition.
 | 
						|
    The C95 specification requires these to be macros.
 | 
						|
**/
 | 
						|
#define SIGINT     __SigInt     ///< receipt of an interactive attention signal
 | 
						|
#define SIGILL     __SigIll     ///< detection of an invalid function image, such as an invalid instruction
 | 
						|
#define SIGABRT    __SigAbrt    ///< abnormal termination, such as is initiated by the abort function
 | 
						|
#define SIGFPE     __SigFpe     ///< an erroneous arithmetic operation, such as zero divide or an operation resulting in overflow
 | 
						|
#define SIGSEGV    __SigSegv    ///< an invalid access to storage
 | 
						|
#define SIGTERM    __SigTerm    ///< a termination request sent to the program
 | 
						|
#define SIGBREAK   __SigBreak   ///< added for Python
 | 
						|
#define SIGALRM    __SigAlrm    ///< Added for Posix timer functions
 | 
						|
#define SIGVTALRM  __SigVtAlrm  ///< Added for Posix timer functions
 | 
						|
#define SIGPROF    __SigProf    ///< Added for Posix timer functions
 | 
						|
#define SIGUSR1    __SigUsr1    ///< Added for Posix timer functions
 | 
						|
#define SIGUSR2    __SigUsr2    ///< Added for Posix timer functions
 | 
						|
#define SIGWINCH   __SigWinch   ///< Added for Posix timer functions
 | 
						|
#define SIGPIPE    __SigPipe    ///< Added for Posix timer functions
 | 
						|
#define SIGQUIT    __SigQuit    ///< Added for Posix timer functions
 | 
						|
#define SIG_LAST   __Sig_Last   ///< One more than the largest signal number
 | 
						|
/*@}*/
 | 
						|
 | 
						|
__BEGIN_DECLS
 | 
						|
 | 
						|
/** Send a signal.
 | 
						|
 | 
						|
    The raise function carries out the actions described for signal,
 | 
						|
    in <sys/signal.h>, for the signal sig. If a signal handler is called, the
 | 
						|
    raise function does not return until after the signal handler does.
 | 
						|
 | 
						|
    @return   The raise function returns zero if successful,
 | 
						|
              or nonzero if unsuccessful.
 | 
						|
**/
 | 
						|
int raise(int sig);
 | 
						|
 | 
						|
__END_DECLS
 | 
						|
 | 
						|
#endif  /* _SIGNAL_H */
 |