Path: utzoo!utgpu!attcan!uunet!husc6!rutgers!ucsd!ucbvax!LBL.GOV!nagy%warner.hepnet
From: nagy%warner.hepnet@LBL.GOV (Frank J. Nagy, VAX Wizard & Guru)
Newsgroups: comp.os.vms
Subject: Re: EXE$EPID_TO_PCB - Documentation?
Message-ID: <880723070234.29e019ad@LBL.Gov>
Date: 23 Jul 88 14:02:34 GMT
Sender: daemon@ucbvax.BERKELEY.EDU
Organization: The Internet
Lines: 32
> The VAX Internals book strongly recommends the use of the function
> EXE$EPID_TO_PCB to convert a user's PID to the address of his/her Process
> Control Block. This is supposed to keep programs compatible between versions
> of VMS. That's all well and good, but where is it documented? I didn't find
> any mention in the master index of the VAX/VMS document set. Can anyone shed
> some light on this function?
From my notes (ultimate source is the VMS fiche, of course):
EXE$EPID_TO_PCB extended PID (user visible) to PCB address
EXE$IPID_TO_PCB internal PID to PCB address
EXE$EPID_TO_IPID extended PID to internal PID
EXE$IPID_TO_EPID internal PID to external PID
Calling sequence is:
MOVL ,R0
JSB G^EXE$...
BEQL
Output PID or PCB address is returned in R0. R0 is set to 0 on an error.
The condition codes are set according to the R0 value, hence the suggested
BEQL after the JSB for error handling.
= Frank J. Nagy "VAX Guru & Wizard"
= Fermilab Research Division EED/Controls
= HEPNET: WARNER::NAGY (43198::NAGY) or FNAL::NAGY (43009::NAGY)
= BitNet: NAGY@FNAL
= USnail: Fermilab POB 500 MS/220 Batavia, IL 60510