Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sigvec(2)

sigstack(2)

signal(3)

sigreturn(2)

aupcs(7)

afp(7)

__SET_SIGCONTEXT(3)  —  UNIX Programmer’s Manual

NAME

__set_sigcontext − reading cpu state

SYNOPSIS

#include <signal.h>

__set_sigcontext(context)
struct sigcontext ∗context;

DESCRIPTION

__set_sigcontext reads the current state of the cpu and the floating point emulator or coprocessor into a sigcontext structure.  This structure is suitable as an argument to sigreturn (2) except for the sc_mask and sc_onstack fields which are not filled in. 

The program counter value which is stored corresponds to the return address of the call to __set_sigcontext, thus calling sigreturn(2) with the sigcontext structure will result in execution continuing as though __set_sigcontext had just returned. 

__set_sigcontext returns 0, however the value stored in the sc_cpu_regs[0] field of the sigcontext structure is that passed to __set_sigcontext (the address of the sigcontext structure − see aupcs(7)). Thus a normal return and the result of a call to sigreturn(2) can be distinguished.

__set_sigcontext is used internally to implement setjmp(3). It may also be used to examine the stack within a program (since it stores the values of the stack pointer and frame pointer).

RETURN VALUE

0 is returned on a normal return, a non zero value (the address of the sigcontext structure) on return via sigreturn(2).

SEE ALSO

sigvec(2), sigstack(2), signal(3), sigreturn(2), aupcs(7), afp(7)

7th Edition  —  Revision 1.2 of 26/06/89

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026