This structure is passed to a signal interface routine (SIR). AMODE 31 callers use BPXYPPSD — Map signal delivery data.
SYSSTATE AMODE64=YES
BPXYPPSD ,
** BPXYPPSD: Signal Data Area
** Used By: User written signal interrupt routines
PPSD DSECT ,
PPSDID DC C'PPSD' Eye catcher
PPSD#ID EQU C'PPSD' Control Block Acronym
PPSDSP DS FL1 Subpool number of this PPSD
PPSD#SP EQU 230 Subpool for the PPSD
PPSDLEN DC AL3(PPSD#LENGTH) Length this structure
*
* *****************************************************************
* PpsdSIRParms is used to setup up a parameter list to the
* Signal Interface Routine (SIR). When the SIR is invoked, the
* address of PpsdSIRParms field is set in Register 1. The
* PpsdAddrPpsd contains the address of the Ppsd.
* *****************************************************************
*
PPSDSIRPARMS DS 0A SIR Parameters
PPSDADDRPPSD DC A(PPSD) Pointer to the top of the Ppsd
PPSDSIRPARMEND EQU X'80' End of Parameters flag set on
PPSDTRMEXITSTATUS DS F 4 Byte status passed to PRTRM
PPSDSIGNUM DS F Signal number
PPSDFL DS XL2 X'7FFF' reserved
ORG PPSDFL
PPSDFLAGS2A DS 0B
PPSDQUIESCEFREEZE EQU X'80' Interrupt due to freeze
PPSDSIRCOMPLETE EQU X'40' Sir done with async I/O exits
PPSDPROCDFT EQU X'20' Process default
PPSDSIGQUEUE EQU X'10' NSSGQ queued signal
PPSDREDRIVE EQU X'08' SPB will Resend signal later
PPSDJUMPBACK EQU X'04' SPB return to point of interrupt
PPSDMASKONLY EQU X'02' SPB restore mask only
PPSDSIGTHSTOP EQU X'01' Interrupt due to thread-stop
* signal
ORG PPSDFL+0001
PPSDFLAGS2B DS B
PPSDQUIESCEANDGET EQU X'80' Interrupt due to
* pthread_quiesce_and_get_np
PPSDF2_64 EQU X'40' Use PSWxxx64 fields
PPSDACTION DS B Action for this signal
* catch
* SIR determines default action
PPSDFLAGS DS B X'00' reserved
PPSDASYNC EQU X'80' Signal delivered Asynchronously
PPSDDUMP EQU X'40' Dump for terminating signals
PPSDPTHREADKILL EQU X'20' Signal sent via BPX1PTK
PPSDTHISTHREADGEN EQU X'10' Sending=Receiving thread
PPSDSIGNAL EQU X'08' Interrupt due to signal
PPSDCANCEL EQU X'04' Interrupt due to cancel
PPSDQUIESCE EQU X'02' Interrupt due to quiesce
PPSDIPT EQU X'01' If ON then this is the IPT
PPSDRES1 DS F Reserved in 64 bit mode
PPSDSAMASK DS XL8 Signal mask set by BPX1SIA for
* this signal
PPSDSAFLAGS DS XL4 X'00FFFFFF' reserved
PPSDNOCLDSTOP EQU X'80' Do not generate SIGCHLD on stops
PPSDOLDSTYLE EQU X'40' Signal defined by signal() funct.
PPSDONSTACK EQU X'20' Deliver on alternate stack
PPSDRESETHAND EQU X'10' Reset action on delivery
PPSDRESTART EQU X'08' Restart interruptable funcs
PPSDSIGINF EQU X'04' Pass sig info to catcher
PPSDNOCLDWAIT EQU X'02' Don't create zombie on exit
PPSDNODEFER EQU X'01' Don't block sig on delivery
PPSDCURRENTMASK DS XL8 This is the signal mask to be set
* when the signal catcher returns.
* Signal mask at time of interrupt
* except for sigsuspend case. If
* signal during sigsuspend, then
* this mask is the signal mask prior
* to call to sigsuspend.
PPSDRES2 DS F Reserved in 64 bit mode
PPSDRES3 DS F Reserved in 64 bit mode
PPSDGENREGS DS CL64 Users general regs at interrupt
PPSDRES4 DS XL8 Reserved in 64 bit mode
PPSDARREGS DS 16F Users AR regs at interrupt
PPSDKILDATA DS FL2 User specified data on BPX1KIL
PPSDKILOPTS DS XL2 X'7FFF' reserved
* User specified options on BPX1KIL
PPSDPTBYPASS EQU X'80' Ptrace Bypass option in effect
PPSDKERNSICODE EQU X'40' PpsdKilData=Kern set SiCode
PPSDAPPLSICODE EQU X'20' PpsdKilData=Appl set SiCode
PPSDCONSCANCEL EQU X'10' Console MODIFY cancel qualifier
PPSDTRACEOVERRIDE EQU X'04' SYSCALL Trace Override Option
PPSDTRACEACTION EQU X'02' SYSCALL Trace Action Setting
* in PpdsKilData
PPSDSUPERKILL EQU X'08' Superkill option on BPX1KIL
PPSDRES5 DS F Reserved in 64 bit mode
PPSDLASTPTSIG DS F Last Ptraced Signal
PPSDRES6 DS 2F Reserved in 64 bit mode
PPSDSENDINGTHREAD DS CL8 Sending thread id
PPSDTARGETTHREAD DS CL8 Target thread id
PPSDSENDINGPID DS F Sending process id
PPSDSENDINGUID DS F Sending real uid
PPSDRES7 DS F Reserved in 64 bit mode
PPSDSISTATUS DS F Exit status or signal
PPSDRES8 DS F Reserved in 64 bit mode
PPSDERRNO DS F Error return code
PPSDCATCHERMASK DS XL8 Signal Mask to be set before signal
* catcher is called. If signal during
* sigsuspend then this field is same
* as mask specified on sigsuspend. If
* not sigsuspend, then PpsdCatcherMask
* and PpsdCurrentMask are equal.
PPSDRES10 DS 25F Reserved
PPSDRES9 DS F Reserved in 64 bit mode
PPSDREDRIVETIME DS F Time to delay signal 1000 per mic
PPSDG64H DS 16F Users G64H at interrupt
PPSDRRTRMMSGTHID DS CL8 Sending thread id for MSG
* BPXP010I
PPSDSENDINGJOBNAME DS CL8 Jobname of thread sending signal
*
DS 4F Reserved
PPSDSAHANDLER DS AD Addr of catcher function
PPSDSIR DS AD Addr Signal interrupt routine
PPSDUSERDATA DS AD User data speicified on BPX1MSS
PPSDPSW DS XL16 Users PSW at interrupt
PPSDQUIESCEDATA DS FD Quiesce_Data specified on BPX1QUT
*
PPSDSIGACTIONDATA DS FD User_Data specified on BPX1SIA
PPSDPTXLWAPTR DS AD Threads workarea address specified
* on BPX1PTC (pthread_create). This
* address is zero if the thread was
* not pt_created.
PPSDSIADDR DS AD Address of faulting instruction
* for SIGILL, SIGFPE, SIGSEGV
PPSDSIBAND DS FD Band event
PPSDSQV DS FD Signal si_value
DS 4F Reserved
DS FL2 Reserved
PPSDAIOCB64 DS FL2 Amode(64) Exit Flags
PPSDEXCOUNT DS FL2 Count of PpsdAiocb's
PPSDEXLASTIX DS FL2 Last array index used
PPSDAIOCB DS 12D Aiocb Array for Async Exit
PPSDEND DS 0D End of PPSD on double word
PPSD#LENGTH EQU *-PPSD Length of this structure
** BPXYPPSD End