nagy%warner.hepnet@LBL.GOV (Frank J. Nagy, VAX Wizard & Guru) (07/23/88)
> 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 <input pid>,R0 JSB G^EXE$... BEQL <error-condition> 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
ted@blia.BLI.COM (Ted Marshall) (08/05/88)
In article <880723070234.29e019ad@LBL.Gov>, nagy%warner.hepnet@LBL.GOV (Frank J. Nagy, VAX Wizard & Guru) writes: } 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 <input pid>,R0 } JSB G^EXE$... } BEQL <error-condition> } } 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. One further note: the address conversion routines (EXE$%PID_TO_PCB) require they be all in kernal mode with IPL >= IPL$_SYNCH. This is according to the official documentation for these routines (yes, it exists!). These routines were documented in the _VAX/VMS_Release_Notes_Version_4.0_, order number AA-Z105A-TE, section 8.5.5. No, this was not put in the release notes for any other version of VMS. -- Ted Marshall ...!ucbvax!mtxinu!blia!ted <or> mtxinu!blia!ted@Berkeley.EDU Britton Lee, Inc., 14600 Winchester Blvd, Los Gatos, Ca 95030 (408)378-7000 The opinions expressed above are those of the poster and not his employer.