From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,83d7c4caadb45100,start X-Google-Attributes: gid103376,public From: Alan Paterson Subject: DECAda/VMS - calling GETJPI Date: 1996/06/03 Message-ID: <31B2AF74.668E@dial.eunet.ch>#1/1 X-Deja-AN: 158203559 content-type: text/plain; charset=us-ascii organization: Not Netscape Communications mime-version: 1.0 newsgroups: comp.lang.ada x-mailer: Mozilla 2.02 (WinNT; I) Date: 1996-06-03T00:00:00+00:00 List-Id: Here's one for the VMS gurus (I can't post it to comp.os.vms, 'cos there's a psychopath there who throws abuse at me): I want to examine all processes currently active. The system service to do this is, of course, GetJPI (either in Starlet or Lib). To perform wildcard process search, this procedure expects to receive a value of -1 for the process_id parameter. Unfortunately, in the "official" spec-files for these procedures, this parameter has the type UNSIGNED_LONGWORD. Ada, quite correctly, objects to this kind of thing :-) So, what I now do is the following: PID : UNSIGNED_LONGWORD; PID0 : INTEGER; for PID0 use at PID'address; begin PID0 := -1; loop GetJPI(..., Process_Id => PID, ...); This works, but I can't help but wonder if there isn't a more elegant way to do it. Does anyone have experience with this? -- Alan Paterson Berne, Switzerland