From:	CSBVAX::MRGATE!/ADMD=/PRMD=BITNET/O=FHCRCVAX/PN=JOE/@US@SMTP 24-AUG-1988 17:03
To:	ARISIA::EVERHART
Subj:	status part 6 of 7


Received: from UWAVM.ACS.WASHINGTON.EDU by uwavm.acs.washington.edu ; Wed, 24 Aug 88 13:13:27 PDT
Received: from UWAVM.ACS.WASHINGTON.EDU by UWAVM.ACS.WASHINGTON.EDU (Mailer
 X1.24) with BSMTP id 7560; Wed, 24 Aug 88 13:13:21 PDT
P1-Message-Id: US**EDU;UWAVM.ACS.WASHINGTON.EDU:LUoU4d5s
Date:         Wed, 24 Aug 88 13:07-0700
X400-Trace:   US**EDU; arrival Wed, 24 Aug 88 13:07-0700 action Relayed
X400-Trace:   US**EDU; arrival Wed, 24 Aug 88 13:13-0700 action Relayed
From:         Joe Meadows</ADMD=/PRMD=BITNET/O=FHCRCVAX/PN=JOE/@US>
Subject:      status part 6 of 7
To:           <Everhart%Arisia.decnet@GE-CRD.ARPA>
Message-Id:   <UWAVM.ACS.WASHINGTON.EDU:LUoU4d5s*>
X-VMS-To: @SYS$LOGIN:GLENN.EVERHART

+-+-+-+ Beginning of part 6 +-+-+-+
X    unsigned long int  *attrib
X    ) ;
Xlong int sys$assign(
X    const struct dsc$descriptor *devnam,
X    unsigned short int  *chan,
X    unsigned long int acmode,
X    const struct dsc$descriptor *mbxnam
X    ) ;
Xlong int sys$bintim(
X    const struct dsc$descriptor *timbuf,
X    unsigned int  *timadr [2]
X    ) ;
Xlong int sys$brdcst(
X    const struct dsc$descriptor *msgbuf,
X    const struct dsc$descriptor *devnam,
X    unsigned long int flags,
X    unsigned long int carcon
X    ) ;
Xlong int sys$brkthru(
X    const unsigned long int efn,
X    const struct dsc$descriptor *msgbuf,
X    const struct dsc$descriptor *sendto,
X    const unsigned long int sndtyp,
X    unsigned int  *iosb [2],
X    const unsigned long int carcon,
X    const unsigned long int flags,
X    const unsigned long int reqid,
X    const unsigned long int timout,
X    int * *astadr,
X    unsigned long int astprm
X    ) ;
Xlong int sys$brkthruw(
X    const unsigned long int efn,
X    const struct dsc$descriptor *msgbuf,
X    const struct dsc$descriptor *sendto,
X    const unsigned long int sndtyp,
X    unsigned int  *iosb [2],
X    const unsigned long int carcon,
X    const unsigned long int flags,
X    const unsigned long int reqid,
X    const unsigned long int timout,
X    int * *astadr,
X    unsigned long int astprm
X    ) ;
Xlong int sys$cancel(
X    unsigned short int chan
X    ) ;
Xlong int sys$canexh(
X    const int  *desblk
X    ) ;
Xlong int sys$cantim(
X    unsigned long int reqidt,
X    unsigned long int acmode
X    ) ;
Xlong int sys$canwak(
X    unsigned long int  *pidadr,
X    const struct dsc$descriptor *prcnam
X    ) ;
Xlong int sys$change_acl(
X    unsigned short int chan,
X    const unsigned long int  *objtyp,
X    const struct dsc$descriptor *objnam,
X    const int  *itmlst,
X    const unsigned long int  *acmode,
X    unsigned int  *iosb [2],
X    unsigned long int  *contxt,
X    ...
X    /* int * *routin */
X    ) ;
Xlong int sys$change_class(
X    const unsigned long int  *objtyp,
X    const struct dsc$descriptor *objnam,
X    const int  *itmlst,
X    unsigned long int acmode,
X    ...
X    /* int * *routin */
X    ) ;
Xlong int sys$check_access(
X    const unsigned long int  *objtyp,
X    const struct dsc$descriptor *objnam,
X    const struct dsc$descriptor *usrnam,
X    const int  *itmlst
X    ) ;
Xlong int sys$chkpro(
X    const int  *itmlst
X    ) ;
Xlong int sys$clref(
X    unsigned long int efn
X    ) ;
Xlong int sys$close(
X    int  *fab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$cmexec(
X    int * *routin,
X    const int  *arglst
X    ) ;
Xlong int sys$cmkrnl(
X    int * *routin,
X    const int  *arglst
X    ) ;
Xlong int sys$connect(
X    int  *rab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$cntreg(
X    unsigned long int pagcnt,
X    unsigned long int  *retadr [2],
X    unsigned long int acmode,
X    char region
X    ) ;
Xlong int sys$create(
X    int  *fab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$create_rdb(
X    const unsigned int  *sysid [2]
X    ) ;
Xlong int sys$crelnm(
X    unsigned long int  *attr,
X    const struct dsc$descriptor *tabnam,
X    const struct dsc$descriptor *lognam,
X    unsigned char  *acmode,
X    const int  *itmlst
X    ) ;
Xlong int sys$crelnt(
X    unsigned long int  *attr,
X    struct dsc$descriptor *resnam,
X    unsigned short int  *reslen,
X    unsigned long int  *quota,
X    unsigned short int  *promsk,
X    const struct dsc$descriptor *tabnam,
X    const struct dsc$descriptor *partab,
X    unsigned char  *acmode
X    ) ;
Xlong int sys$crelog(
X    unsigned long int tblflg,
X    const struct dsc$descriptor *lognam,
X    const struct dsc$descriptor *eqlnam,
X    unsigned long int acmode
X    ) ;
Xlong int sys$crembx(
X    char prmflg,
X    unsigned short int  *chan,
X    unsigned long int maxmsg,
X    unsigned long int bufquo,
X    unsigned long int promsk,
X    unsigned long int acmode,
X    const struct dsc$descriptor *lognam
X    ) ;
Xlong int sys$creprc(
X    unsigned long int  *pidadr,
X    const struct dsc$descriptor *image,
X    const struct dsc$descriptor *input,
X    const struct dsc$descriptor *output,
X    const struct dsc$descriptor *error,
X    const unsigned int  *prvadr [2],
X    const int  *quota,
X    const struct dsc$descriptor *prcnam,
X    unsigned long int baspri,
X    unsigned long int uic,
X    unsigned short int mbxunt,
X    unsigned long int stsflg,
X    const int  *itmlst
X    ) ;
Xlong int sys$cretva(
X    const unsigned long int  *inadr [2],
X    unsigned long int  *retadr [2],
X    unsigned long int acmode
X    ) ;
Xlong int sys$crmpsc(
X    const unsigned long int  *inadr [2],
X    unsigned long int  *retadr [2],
X    unsigned long int acmode,
X    unsigned long int flags,
X    const struct dsc$descriptor *gsdnam,
X    const unsigned int  *ident [2],
X    unsigned long int relpag,
X    unsigned short int chan,
X    unsigned long int pagcnt,
X    unsigned long int vbn,
X    unsigned long int prot,
X    unsigned long int pfc
X    ) ;
Xlong int sys$dacefc(
X    unsigned long int efn
X    ) ;
Xlong int sys$dalloc(
X    const struct dsc$descriptor *devnam,
X    unsigned long int acmode
X    ) ;
Xlong int sys$dassgn(
X    unsigned short int chan
X    ) ;
Xlong int sys$dclast(
X    int * *astadr,
X    unsigned long int astprm,
X    unsigned long int acmode
X    ) ;
Xlong int sys$dclcmh(
X    int * *addres,
X    unsigned long int  *prvhnd,
X    char type
X    ) ;
Xlong int sys$dclexh(
X    const int  *desblk
X    ) ;
Xlong int sys$delete(
X    int  *rab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$dellnm(
X    const struct dsc$descriptor *tabnam,
X    const struct dsc$descriptor *lognam,
X    unsigned char  *acmode
X    ) ;
Xlong int sys$dellog(
X    unsigned long int tblflg,
X    const struct dsc$descriptor *lognam,
X    unsigned long int acmode
X    ) ;
Xlong int sys$delmbx(
X    unsigned short int chan
X    ) ;
Xlong int sys$delprc(
X    unsigned long int  *pidadr,
X    const struct dsc$descriptor *prcnam
X    ) ;
Xlong int sys$deltva(
X    const unsigned long int  *inadr [2],
X    unsigned long int  *retadr [2],
X    unsigned long int acmode
X    ) ;
Xlong int sys$deq(
X    unsigned long int lkid,
X    int  *valblk,
X    unsigned long int acmode,
X    unsigned long int flags
X    ) ;
Xlong int sys$dgblsc(
X    unsigned long int flags,
X    const struct dsc$descriptor *gsdnam,
X    const unsigned int  *ident [2]
X    ) ;
Xlong int sys$disconnect(
X    int  *rab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$dismou(
X    const struct dsc$descriptor *devnam,
X    unsigned long int flags
X    ) ;
Xlong int sys$display(
X    int  *fab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$dlcefc(
X    const struct dsc$descriptor *name
X    ) ;
Xlong int sys$enq(
X    unsigned long int efn,
X    unsigned long int lkmode,
X    int  *lksb,
X    unsigned long int flags,
X    const struct dsc$descriptor *resnam,
X    unsigned long int parid,
X    int * *astadr,
X    unsigned long int astprm,
X    int * *blkast,
X    unsigned long int acmode,
X    unsigned long int prot
X    ) ;
Xlong int sys$enqw(
X    unsigned long int efn,
X    unsigned long int lkmode,
X    int  *lksb,
X    unsigned long int flags,
X    const struct dsc$descriptor *resnam,
X    unsigned long int parid,
X    int * *astadr,
X    unsigned long int astprm,
X    int * *blkast,
X    unsigned long int acmode,
X    unsigned long int prot
X    ) ;
Xlong int sys$enter(
X    int  *fab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$erapat(
X    long int type,
X    unsigned long int count,
X    unsigned long int  *patadr
X    ) ;
Xlong int sys$erase(
X    int  *fab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$exit(
X    unsigned long int code
X    ) ;
Xlong int sys$expreg(
X    unsigned long int pagcnt,
X    unsigned long int  *retadr [2],
X    unsigned long int acmode,
X    char region
X    ) ;
Xlong int sys$extend(
X    int  *fab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$fao(
X    const struct dsc$descriptor *ctrstr,
X    unsigned short int  *outlen,
X    struct dsc$descriptor *outbuf,
X    long int p1
X    ) ;
Xlong int sys$faol(
X    const struct dsc$descriptor *ctrstr,
X    unsigned short int  *outlen,
X    struct dsc$descriptor *outbuf,
X    const int  *prmlst
X    ) ;
Xlong int sys$filescan(
X    const struct dsc$descriptor *srcstr,
X    int  *valuelst,
X    unsigned long int  *fldflags
X    ) ;
Xlong int sys$find(
X    int  *rab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$find_held(
X    const unsigned int  *holder [2],
X    unsigned long int  *id,
X    unsigned long int  *attrib,
X    unsigned long int  *contxt
X    ) ;
Xlong int sys$find_holder(
X    const unsigned long int id,
X    unsigned int  *holder [2],
X    unsigned long int  *attrib,
X    unsigned long int  *contxt
X    ) ;
Xlong int sys$finish_rdb(
X    unsigned long int  *contxt
X    ) ;
Xlong int sys$forcex(
X    unsigned long int  *pidadr,
X    const struct dsc$descriptor *prcnam,
X    unsigned long int code
X    ) ;
Xlong int sys$format_acl(
X    const struct dsc$descriptor *aclent,
X    unsigned short int  *acllen,
X    struct dsc$descriptor *aclstr,
X    const unsigned short int  *width,
X    const struct dsc$descriptor *trmdsc,
X    const unsigned short int  *indent,
X    const int  *accnam,
X    ...
X    /* int * *routin */
X    ) ;
Xlong int sys$format_class(
X    const int  *itmlst,
X    ...
X    /* int * *routin */
X    ) ;
Xlong int sys$free(
X    int  *rab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$flush(
X    int  *rab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$get(
X    int  *rab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$getchn(
X    unsigned short int chan,
X    unsigned short int  *prilen,
X    struct dsc$descriptor *pribuf,
X    unsigned short int  *scdlen,
X    struct dsc$descriptor *scdbuf
X    ) ;
Xlong int sys$getdev(
X    const struct dsc$descriptor *devnam,
X    unsigned short int  *prilen,
X    struct dsc$descriptor *pribuf,
X    unsigned short int  *scdlen,
X    struct dsc$descriptor *scdbuf
X    ) ;
Xlong int sys$getdvi(
X    unsigned long int efn,
X    unsigned short int chan,
X    const struct dsc$descriptor *devnam,
X    const int  *itmlst,
X    unsigned int  *iosb [2],
X    int * *astadr,
X    unsigned long int astprm,
X    unsigned int  *nullarg [2]
X    ) ;
Xlong int sys$getdviw(
X    unsigned long int efn,
X    unsigned short int chan,
X    const struct dsc$descriptor *devnam,
X    const int  *itmlst,
X    unsigned int  *iosb [2],
X    int * *astadr,
X    unsigned long int astprm,
X    unsigned int  *nullarg [2]
X    ) ;
Xlong int sys$getjpi(
X    unsigned long int efn,
X    unsigned long int  *pidadr,
X    const struct dsc$descriptor *prcnam,
X    const int  *itmlst,
X    unsigned int  *iosb [2],
X    int * *astadr,
X    unsigned long int astprm
X    ) ;
Xlong int sys$getjpiw(
X    unsigned long int efn,
X    unsigned long int  *pidadr,
X    const struct dsc$descriptor *prcnam,
X    const int  *itmlst,
X    unsigned int  *iosb [2],
X    int * *astadr,
X    unsigned long int astprm
X    ) ;
Xlong int sys$getlki(
X    unsigned long int efn,
X    unsigned long int  *lkidadr,
X    const int  *itmlst,
X    unsigned int  *iosb [2],
X    int * *astadr,
X    unsigned long int astprm,
X    unsigned long int reserved
X    ) ;
Xlong int sys$getlkiw(
X    unsigned long int efn,
X    unsigned long int  *lkidadr,
X    const int  *itmlst,
X    unsigned int  *iosb [2],
X    int * *astadr,
X    unsigned long int astprm,
X    unsigned long int reserved
X    ) ;
Xlong int sys$getmsg(
X    unsigned long int msgid,
X    unsigned short int  *msglen,
X    struct dsc$descriptor *bufadr,
X    unsigned long int flags,
X    unsigned char  *outadr [4]
X    ) ;
Xlong int sys$getpti(
X    const unsigned long int  *inadr [2],
X    unsigned long int  *retadr [2],
X    unsigned long int acmode,
X    unsigned long int mask,
X    unsigned long int pagcnt
X    ) ;
Xlong int sys$getqui(
X    unsigned long int efn,
X    unsigned short int func,
X    unsigned long int nullarg,
X    const int  *itmlst,
X    unsigned int  *iosb [2],
X    int * *astadr,
X    unsigned long int astprm
X    ) ;
Xlong int sys$getquiw(
X    unsigned long int efn,
X    unsigned short int func,
X    unsigned long int nullarg,
X    const int  *itmlst,
X    unsigned int  *iosb [2],
X    int * *astadr,
X    unsigned long int astprm
X    ) ;
Xlong int sys$getsyi(
X    unsigned long int efn,
X    unsigned long int  *csidadr,
X    const struct dsc$descriptor *nodename,
X    const int  *itmlst,
X    unsigned int  *iosb [2],
X    int * *astadr,
X    unsigned long int astprm
X    ) ;
Xlong int sys$getsyiw(
X    unsigned long int efn,
X    unsigned long int  *csidadr,
X    const struct dsc$descriptor *nodename,
X    const int  *itmlst,
X    unsigned int  *iosb [2],
X    int * *astadr,
X    unsigned long int astprm
X    ) ;
Xlong int sys$gettim(
X    unsigned int  *timadr [2]
X    ) ;
Xlong int sys$getuai(
X    unsigned long int efn,
X    unsigned long int  *contxt,
X    const struct dsc$descriptor *usrnam,
X    const int  *itmlst,
X    unsigned int  *iosb [2],
X    int * *astadr,
X    unsigned long int astprm
X    ) ;
Xlong int sys$grantid(
X    unsigned long int  *pidadr,
X    const struct dsc$descriptor *prcnam,
X    unsigned int  *id [2],
X    const struct dsc$descriptor *name,
X    unsigned long int  *prvatr
X    ) ;
Xlong int sys$hiber() ;
Xlong int sys$idtoasc(
X    const unsigned long int id,
X    unsigned short int  *namlen,
X    struct dsc$descriptor *nambuf,
X    unsigned long int  *resid,
X    unsigned long int  *attrib,
X    unsigned long int  *contxt
X    ) ;
Xlong int sys$imgact(
X    const struct dsc$descriptor *name,
X    const struct dsc$descriptor *dflnam,
X    int * *hdrbuf,
X    unsigned long int imgctl,
X    const unsigned long int  *inadr [2],
X    unsigned long int  *retadr [2],
X    const unsigned int  *ident [2],
X    unsigned long int acmode
X    ) ;
Xlong int sys$imgfix() ;
Xlong int sys$lckpag(
X    const unsigned long int  *inadr [2],
X    unsigned long int  *retadr [2],
X    unsigned long int acmode
X    ) ;
Xlong int sys$lkwset(
X    const unsigned long int  *inadr [2],
X    unsigned long int  *retadr [2],
X    unsigned long int acmode
X    ) ;
Xlong int sys$mgblsc(
X    const unsigned long int  *inadr [2],
X    unsigned long int  *retadr [2],
X    unsigned long int acmode,
X    unsigned long int flags,
X    const struct dsc$descriptor *gsdnam,
X    const unsigned int  *ident [2],
X    unsigned long int relpag
X    ) ;
Xlong int sys$modify(
X    int  *fab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$mod_holder(
X    const unsigned long int id,
X    const unsigned int  *holder [2],
X    const unsigned long int set_attrib,
X    const unsigned long int clr_attrib
X    ) ;
Xlong int sys$mod_ident(
X    const unsigned long int id,
X    const unsigned long int set_attrib,
X    const unsigned long int clr_attrib,
X    const struct dsc$descriptor *new_name,
X    const unsigned long int new_value
X    ) ;
Xlong int sys$mount(
X    const int  *itmlst
X    ) ;
Xlong int sys$mtaccess(
X    unsigned long int  *lblnam,
X    unsigned long int uic,
X    unsigned long int std_version,
X    unsigned long int access_char,
X    unsigned long int access_spec,
X    unsigned long int type
X    ) ;
Xlong int sys$numtim(
X    unsigned short int  *timbuf [7],
X    const unsigned int  *timadr [2]
X    ) ;
Xlong int sys$nxtvol(
X    int  *rab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$open(
X    int  *fab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$parse(
X    int  *fab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$parse_acl(
X    const struct dsc$descriptor *aclstr,
X    struct dsc$descriptor *aclent,
X    unsigned short int  *errpos,
X    const int  *accnam,
X    ...
X    /* int * *routin */
X    ) ;
Xlong int sys$parse_class(
X    const int  *itmlst,
X    ...
X    /* int * *routin */
X    ) ;
Xlong int sys$purgws(
X    const unsigned long int  *inadr [2]
X    ) ;
Xlong int sys$put(
X    int  *rab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$putmsg(
X    const int  *msgvec,
X    int * *actrtn,
X    const struct dsc$descriptor *facnam,
X    unsigned long int actprm
X    ) ;
Xlong int sys$qio(
X    unsigned long int efn,
X    unsigned short int chan,
X    unsigned short int func,
X    unsigned int  *iosb [2],
X    int * *astadr,
X    unsigned long int astprm,
X    const int  *p1,
X    long int p2,
X    long int p3,
X    long int p4,
X    long int p5,
X    long int p6
X    ) ;
Xlong int sys$qiow(
X    unsigned long int efn,
X    unsigned short int chan,
X    unsigned short int func,
X    unsigned int  *iosb [2],
X    int * *astadr,
X    unsigned long int astprm,
X    const int  *p1,
X    long int p2,
X    long int p3,
X    long int p4,
X    long int p5,
X    long int p6
X    ) ;
Xlong int sys$read(
X    int  *rab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$readef(
X    unsigned long int efn,
X    unsigned long int  *state
X    ) ;
Xlong int sys$release(
X    int  *rab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$remove(
X    int  *fab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$rem_holder(
X    const unsigned long int id,
X    const unsigned int  *holder [2]
X    ) ;
Xlong int sys$rem_ident(
X    const unsigned long int id
X    ) ;
Xlong int sys$rename(
X    int  *oldfab,
X    int * *err,
X    int * *suc,
X    int  *newfab
X    ) ;
Xlong int sys$resume(
X    unsigned long int  *pidadr,
X    const struct dsc$descriptor *prcnam
X    ) ;
Xlong int sys$revokid(
X    unsigned long int  *pidadr,
X    const struct dsc$descriptor *prcnam,
X    unsigned int  *id [2],
X    const struct dsc$descriptor *name,
X    unsigned long int  *prvatr
X    ) ;
Xlong int sys$rewind(
X    int  *rab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$rundwn(
X    unsigned long int acmode
X    ) ;
Xlong int sys$schdwk(
X    unsigned long int  *pidadr,
X    const struct dsc$descriptor *prcnam,
X    const unsigned int  *daytim [2],
X    const unsigned int  *reptim [2]
X    ) ;
Xlong int sys$search(
X    int  *fab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$setast(
X    char enbflg
X    ) ;
Xlong int sys$setef(
X    unsigned long int efn
X    ) ;
Xlong int sys$setexv(
X    unsigned long int vector,
X    int * *addres,
X    unsigned long int acmode,
X    unsigned long int  *prvhnd
X    ) ;
Xlong int sys$setime(
X    const unsigned int  *timadr [2]
X    ) ;
Xlong int sys$setimr(
X    unsigned long int efn,
X    const unsigned int  *daytim [2],
X    int * *astadr,
X    unsigned long int reqidt
X    ) ;
Xlong int sys$setpfm(
X    const unsigned long int pfmflg,
X    const int * *astadr,
X    const unsigned long int astprm,
X    const unsigned long int acmode
X    ) ;
Xlong int sys$setpra(
X    int * *astadr,
X    unsigned long int acmode
X    ) ;
Xlong int sys$setpri(
X    unsigned long int  *pidadr,
X    const struct dsc$descriptor *prcnam,
X    unsigned long int pri,
X    unsigned long int  *prvpri
X    ) ;
Xlong int sys$setprn(
X    const struct dsc$descriptor *prcnam
X    ) ;
Xlong int sys$setprt(
X    const unsigned long int  *inadr [2],
X    unsigned long int  *retadr [2],
X    unsigned long int acmode,
X    unsigned long int prot,
X    unsigned char  *prvprt
X    ) ;
Xlong int sys$setprv(
X    char enbflg,
X    const unsigned int  *prvadr [2],
X    char prmflg,
X    unsigned int  *prvprv [2]
X    ) ;
Xlong int sys$setrwm(
X    char watflg
X    ) ;
Xlong int sys$setsfm(
X    char enbflg
X    ) ;
Xlong int sys$setssf(
X    unsigned long int mask
X    ) ;
Xlong int sys$setstk(
X    const unsigned long int  *inadr [2],
X    unsigned long int  *retadr [2],
X    unsigned long int acmode
X    ) ;
Xlong int sys$setswm(
X    char swpflg
X    ) ;
Xlong int sys$setuai(
X    unsigned long int efn,
X    unsigned long int  *contxt,
X    const struct dsc$descriptor *usrnam,
X    const int  *itmlst,
X    unsigned int  *iosb [2],
X    int * *astadr,
X    unsigned long int astprm
X    ) ;
Xlong int sys$sndacc(
X    const struct dsc$descriptor *msgbuf,
X    unsigned short int chan
X    ) ;
Xlong int sys$snderr(
X    const struct dsc$descriptor *msgbuf
X    ) ;
Xlong int sys$sndopr(
X    const struct dsc$descriptor *msgbuf,
X    unsigned short int chan
X    ) ;
Xlong int sys$sndsmb(
X    const struct dsc$descriptor *msgbuf,
X    unsigned short int chan
X    ) ;
Xlong int sys$sndjbc(
X    unsigned long int efn,
X    unsigned short int func,
X    unsigned long int nullarg,
X    const int  *itmlst,
X    unsigned int  *iosb [2],
X    int * *astadr,
X    unsigned long int astprm
X    ) ;
Xlong int sys$sndjbcw(
X    unsigned long int efn,
X    unsigned short int func,
X    unsigned long int nullarg,
X    const int  *itmlst,
X    unsigned int  *iosb [2],
X    int * *astadr,
X    unsigned long int astprm
X    ) ;
Xlong int sys$space(
X    int  *rab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$suspnd(
X    unsigned long int  *pidadr,
X    const struct dsc$descriptor *prcnam
X    ) ;
Xlong int sys$synch(
X    unsigned long int efn,
X    unsigned int  *iosb [2]
X    ) ;
Xlong int sys$trnlnm(
X    unsigned long int  *attr,
X    const struct dsc$descriptor *tabnam,
X    const struct dsc$descriptor *lognam,
X    unsigned char  *acmode,
X    const int  *itmlst
X    ) ;
Xlong int sys$trnlog(
X    const struct dsc$descriptor *lognam,
X    unsigned short int  *rsllen,
X    struct dsc$descriptor *rslbuf,
X    unsigned char  *table,
X    unsigned char  *acmode,
X    unsigned long int dsbmsk
X    ) ;
Xlong int sys$truncate(
X    int  *rab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$ulkpag(
X    const unsigned long int  *inadr [2],
X    unsigned long int  *retadr [2],
X    unsigned long int acmode
X    ) ;
Xlong int sys$ulwset(
X    const unsigned long int  *inadr [2],
X    unsigned long int  *retadr [2],
X    unsigned long int acmode
X    ) ;
Xlong int sys$unwind(
X    const unsigned long int  *depadr,
X    const unsigned long int  *newpc
X    ) ;
Xlong int sys$update(
X    int  *rab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
Xlong int sys$updsec(
X    const unsigned long int  *inadr [2],
X    unsigned long int  *retadr [2],
X    unsigned long int acmode,
X    char updflg,
X    unsigned long int efn,
X    unsigned int  *iosb [2],
X    int * *astadr,
X    unsigned long int astprm
X    ) ;
Xlong int sys$updsecw(
X    const unsigned long int  *inadr [2],
X    unsigned long int  *retadr [2],
X    unsigned long int acmode,
X    char updflg,
X    unsigned long int efn,
X    unsigned int  *iosb [2],
X    int * *astadr,
X    unsigned long int astprm
X    ) ;
Xlong int sys$wait(
X    int  *rab
X    ) ;
Xlong int sys$waitfr(
X    unsigned long int efn
X    ) ;
Xlong int sys$wake(
X    unsigned long int  *pidadr,
X    const struct dsc$descriptor *prcnam
X    ) ;
Xlong int sys$wfland(
X    unsigned long int efn,
X    unsigned long int mask
X    ) ;
Xlong int sys$wflor(
X    unsigned long int efn,
X    unsigned long int mask
X    ) ;
Xlong int sys$write(
X    int  *rab,
X    ...
X    /* int * *err, */
X    /* int * *suc */
X    ) ;
X#endif
X#define STARLET
X$EOD
X$ create/log STATUS.C
X$DECK
X#include signal
X
X#include iodef
X#include descrip
X#include climsgdef
X#include syidef
X
X#include "starlet.h"
X#include "globals.h"
X
X#define MAXNODES 20
Xstruct NodeLink {
X  unsigned short int linked;
X  unsigned short int chan;
X  struct iosbdef iosb;
X  unsigned short length;
X  char *nodename;
X};
X
Xint cont_sw;
X
Xmain()
X{
X  static struct dsc$descriptor string = {0,DSC$K_DTYPE_T,DSC$K_CLASS_D,0};
X  struct NodeLink links[MAXNODES];
X  int status,linkindx,maxlinks;
X  int headerexists, displayexists;
X  int row,seconds;
X  volatile int eod = 0;
X
X  maxlinks = initiate_nodes(links,MAXNODES);
X
X  cont_sw = cli_present("CONTINUOUS") & 1;
X  seconds = 2; /* default value, if no /interval specified */
X
X  if (cli_present("INTERVAL") & 1)
X  {
X    cont_sw = -1;
X    cli_get_value("INTERVAL",&string);
X    seconds = atoi(string.dsc$a_pointer);
X  }
X
X  if (cont_sw)
X  {
X    init_screen();
X    on_ctrl_c(&eod); /* this sets eod to false, when ^C gets hit,
X                        it gets set to -1 (asynch) */
X  }
X
X  while ((linkindx = find_ready_link(links,maxlinks)) != -1) {
X    /* Link has been established. */
X
X    headerexists  = parse_and_send(HEADER, "HEADER",&links[linkindx]);
X    displayexists = parse_and_send(DISPLAY,"DISPLAY",&links[linkindx]);
X    parse_and_send(SELECT,"SELECT",&links[linkindx]);
X    parse_and_send(REJECT,"REJECT",&links[linkindx]);
X    parse_and_send(SORT,"SORT",&links[linkindx]);
X
X    if (!eod && headerexists)
X      status = request_info(GET_HEADER,&links[linkindx]);
X    if (!eod && displayexists && (status & 1))
X      status = request_info(GET_DISPLAY,&links[linkindx]);
X
X    if (!eod && cont_sw && (status & 1))
X    {
X      while (!eod && (status & 1)) /* eod only changed from AST routine */
X      {
X`009if (message_waiting())
X          display_messages();
X        goto_top();
X        hibernate(seconds);
X        if (!eod && headerexists)
X          status = request_info(GET_HEADER,&links[linkindx]);
X        if (!eod && displayexists && (status & 1))
X          status = request_info(GET_DISPLAY,&links[linkindx]);
X      }
X    }
X
X    /* disconnect the link */
X    sys$dassgn(links[linkindx].chan);
X    links[linkindx].iosb.status = 0; /* sort of mark this link as finished */
X
X    if (cont_sw)
X      on_ctrl_c(&eod); /* this sets eod to false, when ^C gets hit,
X                        it gets set to -1 (asynch) */
X  };
X
X  if (cont_sw) delete_screen();
X}
X
Xint cli_get_value(s1,s2)
X  char *s1;
X  struct dsc$descriptor *s2;
X{
X  static struct dsc$descriptor s1_desc={0,DSC$K_DTYPE_T,DSC$K_CLASS_S,0};
X
X  s1_desc.dsc$w_length = strlen(s1);
X  s1_desc.dsc$a_pointer = s1;
X
X  return(cli$get_value(&s1_desc,s2));
X}
X
Xint cli_present(s1)
X  char *s1;
X{
X  static struct dsc$descriptor s1_desc={0,DSC$K_DTYPE_T,DSC$K_CLASS_S,0};
X
X  s1_desc.dsc$w_length = strlen(s1);
X  s1_desc.dsc$a_pointer = s1;
X
X  return(cli$present(&s1_desc));
X}
X
Xint cli_next_qual(s1)
X  char *s1;
X{
X  static struct dsc$descriptor s1_desc={0,DSC$K_DTYPE_T,DSC$K_CLASS_S,0};
X
X  s1_desc.dsc$w_length = strlen(s1);
X  s1_desc.dsc$a_pointer = s1;
X
X  return(cli$next_qual(&s1_desc));
X}
X
X/* maxlinks = initiate_nodes(link,maximum)
X   This routine just checks for the NODE parameter via CLI$GET_VALUE
X   and the CLUSTER qualifier via CLI$PRESENT and asynch. queues a connection
X   request for the STATUS object on that node.
X*/
Xinitiate_nodes(links,maximum)
X  struct NodeLink links[];
X  int maximum;
X{
X  static char nodename[16];
X  static struct dsc$descriptor cluster =
X`009{0,DSC$K_DTYPE_T,DSC$K_CLASS_S,nodename};
X  static struct dsc$descriptor node = {0,DSC$K_DTYPE_T,DSC$K_CLASS_D,0};
X  int status,linkindx = 0;
X
X  /* see if /CLUSTER, if so, add all cluster nodes */
X  if (cli_present("CLUSTER") & 1)
X  {
X    cluster.dsc$w_length = 16;
X    while (get_cluster_node(cluster.dsc$a_pointer,&cluster.dsc$w_length) & 1)
X    {
X      setup_link(cluster.dsc$a_pointer,cluster.dsc$w_length,&links[linkindx]);
X      ++linkindx;
X    };
X  }
X  else
X  {
X    if (!(cli_present("NODE") & 1))
X    {
X      setup_link("0",1,&links[linkindx]);
X      ++linkindx;
X    };
X  };
X
X  while (((status = cli_get_value("NODE",&node)) & 1)
X     `009&& (linkindx < maximum)) /* get the node name */
X  {
X    /* here we should check for "::", maybe later */
X    setup_link(node.dsc$a_pointer,node.dsc$w_length,&links[linkindx]);
X    ++linkindx;
X  };
X
X  return(linkindx);
X}
X
Xsetup_link(nodename,nodelength,link)
X  char *nodename;
X  short int nodelength;
X  struct NodeLink *link;
X{
X  static $DESCRIPTOR(dev_desc,"_NET:");
X  static $DESCRIPTOR(task,"::\"TASK=STATUS/\0\0\"");
X  static struct dsc$descriptor ncbdesc = {0,DSC$K_DTYPE_T,DSC$K_CLASS_D,0};
X  static struct dsc$descriptor node = {0,DSC$K_DTYPE_T,DSC$K_CLASS_S,0};
X  /* dummy is used in a funny way, we deliberately clear out the pointer
X     and length fields after saving them in the Link structure. The memory
X     is thus permanently allocated (and pointed to by each individual link
X   */
X  static struct dsc$descriptor dummy = {0,DSC$K_DTYPE_T,DSC$K_CLASS_D,0};
X  int status;
X
X  node.dsc$w_length = nodelength;
X  node.dsc$a_pointer = nodename;
X
X  /* save node name in link structure */
X  str$copy_dx(&dummy,&node);
X  link->length = dummy.dsc$w_length;
X  link->nodename = dummy.dsc$a_pointer;
X  dummy.dsc$w_length = 0;
X  dummy.dsc$a_pointer = 0;
X
-+-+-+-+-+ End of part 6 +-+-+-+-+-
