1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
/* File: sigsubs.h
* Author: Fred Wobus (fw@sanger.ac.uk)
* Copyright (C) J Thierry-Mieg and R Durbin, 1999
* -------------------------------------------------------------------
* Acedb is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* or see the on-line version at http://www.gnu.org/copyleft/gpl.txt
* -------------------------------------------------------------------
* This file is part of the ACEDB genome database package, written by
* Richard Durbin (Sanger Centre, UK) rd@sanger.ac.uk, and
* Jean Thierry-Mieg (CRBM du CNRS, France) mieg@crbm.cnrs-mop.fr
*
* Description: public header for signal handler module sigsubs.c
* Exported functions:
* HISTORY:
* Last edited: Aug 2 13:41 2001 (edgrif)
* Created: Fri Apr 30 13:41:09 1999 (fw)
*-------------------------------------------------------------------
*/
#ifndef ACEDB_SIGSUBS_H
#define ACEDB_SIGSUBS_H
/* Cmd line option to turn off signal handling. */
#define NOSIGCATCH_OPT "-nosigcatch"
/* Standard typedef for signal handler function, why isn't this in the */
/* POSIX header ?? */
typedef void (*SignalHandler)(int) ;
/* Functions to control acedb signal handling. */
/* Initialise, query and turn on/off signal catching in the process. */
void signalCatchInit(BOOL initCtrlC, BOOL no_catch) ; /* in some cases you may not
want to register the standard
Ctrl-C sig handler, e.g. xace */
BOOL signalCatchStatus(void) ;
void signalCatchOn(BOOL initCtrlC) ;
void signalCatchOff(BOOL initCtrlC) ;
/* Utility functions. */
/* Initialise a POSIX signal handler struct to empty, except for the signal */
/* function. */
void signalInitSigAction(struct sigaction *sigact, SignalHandler sig_func) ;
/* Set action for a signal back to the system default so that the signal is */
/* not caught by the process. */
BOOL signalSetNoCatch(int sig) ;
#endif /* ACEDB_SIGSUBS_H */
|