xref: /netbsd-src/lib/libedit/sig.h (revision a2d6b270ec11be297c154da1d16ab6218f048c27)
1*a2d6b270Schristos /*	$NetBSD: sig.h,v 1.11 2016/05/09 21:46:56 christos Exp $	*/
22543e3e6Slukem 
36dc2f1dbScgd /*-
46dc2f1dbScgd  * Copyright (c) 1992, 1993
56dc2f1dbScgd  *	The Regents of the University of California.  All rights reserved.
66dc2f1dbScgd  *
76dc2f1dbScgd  * This code is derived from software contributed to Berkeley by
86dc2f1dbScgd  * Christos Zoulas of Cornell University.
96dc2f1dbScgd  *
106dc2f1dbScgd  * Redistribution and use in source and binary forms, with or without
116dc2f1dbScgd  * modification, are permitted provided that the following conditions
126dc2f1dbScgd  * are met:
136dc2f1dbScgd  * 1. Redistributions of source code must retain the above copyright
146dc2f1dbScgd  *    notice, this list of conditions and the following disclaimer.
156dc2f1dbScgd  * 2. Redistributions in binary form must reproduce the above copyright
166dc2f1dbScgd  *    notice, this list of conditions and the following disclaimer in the
176dc2f1dbScgd  *    documentation and/or other materials provided with the distribution.
18eb7c1594Sagc  * 3. Neither the name of the University nor the names of its contributors
196dc2f1dbScgd  *    may be used to endorse or promote products derived from this software
206dc2f1dbScgd  *    without specific prior written permission.
216dc2f1dbScgd  *
226dc2f1dbScgd  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
236dc2f1dbScgd  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
246dc2f1dbScgd  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
256dc2f1dbScgd  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
266dc2f1dbScgd  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
276dc2f1dbScgd  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
286dc2f1dbScgd  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
296dc2f1dbScgd  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
306dc2f1dbScgd  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
316dc2f1dbScgd  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
326dc2f1dbScgd  * SUCH DAMAGE.
336dc2f1dbScgd  *
346dc2f1dbScgd  *	@(#)sig.h	8.1 (Berkeley) 6/4/93
356dc2f1dbScgd  */
366dc2f1dbScgd 
376dc2f1dbScgd /*
386dc2f1dbScgd  * el.sig.h: Signal handling functions
396dc2f1dbScgd  */
406dc2f1dbScgd #ifndef _h_el_sig
416dc2f1dbScgd #define	_h_el_sig
426dc2f1dbScgd 
436dc2f1dbScgd #include <signal.h>
446dc2f1dbScgd 
456dc2f1dbScgd /*
466dc2f1dbScgd  * Define here all the signals we are going to handle
476dc2f1dbScgd  * The _DO macro is used to iterate in the source code
486dc2f1dbScgd  */
496dc2f1dbScgd #define	ALLSIGS		\
506dc2f1dbScgd 	_DO(SIGINT)	\
516dc2f1dbScgd 	_DO(SIGTSTP)	\
526dc2f1dbScgd 	_DO(SIGQUIT)	\
536dc2f1dbScgd 	_DO(SIGHUP)	\
546dc2f1dbScgd 	_DO(SIGTERM)	\
556dc2f1dbScgd 	_DO(SIGCONT)	\
566dc2f1dbScgd 	_DO(SIGWINCH)
57d25b6758Schristos #define ALLSIGSNO	7
586dc2f1dbScgd 
59d25b6758Schristos typedef struct {
60d25b6758Schristos 	struct sigaction sig_action[ALLSIGSNO];
61d25b6758Schristos 	sigset_t sig_set;
62e8bbf84cSchristos 	volatile sig_atomic_t sig_no;
63d25b6758Schristos } *el_signal_t;
646dc2f1dbScgd 
65*a2d6b270Schristos libedit_private void	sig_end(EditLine*);
66*a2d6b270Schristos libedit_private int	sig_init(EditLine*);
67*a2d6b270Schristos libedit_private void	sig_set(EditLine*);
68*a2d6b270Schristos libedit_private void	sig_clr(EditLine*);
696dc2f1dbScgd 
706dc2f1dbScgd #endif /* _h_el_sig */
71