Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!decwrl!ucbvax!FALCON.BERKELEY.EDU!NIELAND From: NIELAND@FALCON.BERKELEY.EDU (Ted Nieland - SRL) Newsgroups: comp.os.vms Subject: Using System service in VAXC Message-ID: <8711230601.AA23969@ucbvax.Berkeley.EDU> Date: Mon, 16-Nov-87 16:10:00 EST Article-I.D.: ucbvax.8711230601.AA23969 Posted: Mon Nov 16 16:10:00 1987 Date-Received: Wed, 25-Nov-87 22:27:55 EST Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 46 How does one indicate in VAXC that a parameter is going to be supplied for a system service routine. For example, the following routine works great: SUBROUTINE READ_KEY_VAX(KEY) IMPLICIT NONE BYTE KEY(*) INTEGER*2 CHANNEL,STATUS INCLUDE '($IODEF)' INTEGER SYS$QIOW,SYS$ASSIGN STATUS = SYS$ASSIGN('SYS$INPUT',CHANNEL,,) STATUS = SYS$QIOW(,%VAL(CHANNEL),%VAL(IO$_READVBLK + IO$M_NOECHO 1 + IO$M_CVTLOW),,,,%REF(KEY),256,,,,) RETURN END But the VAXC equivalent: read_key_vax(key) char *key; { short int channel,status; #include int sysqiow(),sys$assign(); status = sys$assign("sys$input",channel,,); status = sys$qiow(,channel,IO$_READVBLK + IO$M_NOECHO + IO$M_CVTLOW ,,,,*key,256,,,,); } Doesn't compile because it doesn't like the extra commas in the qiow statment. Any ideas out there. -------------------------------------------------------------------------------- | M. Edward (Ted) Nieland - Systems Analyst | |------------------------------------------------------------------------------| | US Snail: | Arpa Internet: | | Systems Research Laboratories, Inc. | TNIELAND@WPAFB-AAMRL.ARPA | | 2800 Indian Ripple Road WP 196 | NIELAND%FALCON.DECNET@WPAFB-AAMRL.ARPA| | Dayton, OH 45440 | | |------------------------------------------------------------------------------| | A T & T: (513) 255-5156 | --------------------------------------------------------------------------------