source: trunk/src/emx/src/lib/sys/signals.h@ 1617

Last change on this file since 1617 was 1617, checked in by bird, 21 years ago

Debugging signals.

  • Property cvs2svn:cvs-rev set to 1.1
  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 2.5 KB
Line 
1/* $Id: signals.h 1617 2004-11-07 09:33:03Z bird $ */
2/** @file
3 *
4 * InnoTek LIBC - Signal Internals.
5 *
6 * Copyright (c) 2004 knut st. osmundsen <[email protected]>
7 *
8 *
9 * This file is part of InnoTek LIBC.
10 *
11 * InnoTek LIBC is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License as published
13 * by the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
15 *
16 * InnoTek LIBC is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Lesser General Public License for more details.
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * along with InnoTek LIBC; if not, write to the Free Software
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 *
25 */
26
27#ifndef __signals_h__
28#define __signals_h__
29
30#include <sys/cdefs.h>
31#include <signal.h>
32#include <InnoTekLIBC/backend.h>
33
34
35/** Signal set of the signals which will interrupt system call execution.
36 * By default all signals will interrupt syscall execution, since OS/2 can't really
37 * restart system calls easily.
38 * Update is protected by the signal semaphore, however read access isn't.
39 */
40extern sigset_t __libc_gSignalRestartMask;
41
42/** Signal set for the signals which are pending on a process scope.
43 * These signals are blocked by all threads and waiting to be delivered
44 * to a thread. */
45extern sigset_t __libc_gSignalPending;
46
47
48__BEGIN_DECLS
49
50int __libc_back_signalInit(void);
51int __libc_back_signalInitExe(void *pvRegRec);
52int __libc_back_signalSemRequest(void);
53void __libc_back_signalSemRelease(void);
54unsigned __libc_back_signalSemIsOwner(void);
55void __libc_back_signalPokeThread(__LIBC_PTHREAD pThrd);
56void __libc_back_signalPokeProcess(void);
57int __libc_back_signalSuspend(void);
58int __libc_back_signalWait(const struct timespec *pTimeout);
59int __libc_back_signalSendPidOther(pid_t pid, int iSignalNo, siginfo_t *pSigInfo);
60int __libc_back_signalAction(int iSignalNo, const struct sigaction *pSigAct, struct sigaction *pSigActOld);
61int __libc_back_signalRaisePoked(void *pvXcptParams, int tidPoker);
62void __libc_back_signalOS2V1Handler16bit(unsigned short uSignal, unsigned short uArg);
63void __libc_back_signalOS2V1Handler32bit(unsigned uSignal, unsigned uArg);
64
65
66__END_DECLS
67
68#endif
Note: See TracBrowser for help on using the repository browser.