/* Z3func03 - Zcpr3 access functions for C */ #include #include "z3env.h" #ifndef BDSC struct env *envadr; #endif /* Misc env routines */ /* Get wheel byte status. Returns true if user is wheel */ int getwhl() { #ifdef BDSC struct env *zenv(); return(*(zenv().wheel)); #else return(*(envadr->wheel)); #endif } /* Set wheel byte status. */ int setwhl(i) int i; { #ifdef BDSC struct env *zenv(); return(*(zenv().wheel) = i); #else return(*(envadr->wheel) = i); #endif } /* Return du ok flag */ int getduok() { #ifdef BDSC struct env *zenv(); return(zenv().duok); #else return(envadr->duok); #endif } /* Return environment type */ int getetype() { #ifdef BDSC struct env *zenv(); return(zenv().envtyp); #else return(envadr->envtyp); #endif } /* Return quiet flag */ int getquiet() { #ifdef BDSC struct env *zenv(); return(zenv().quiet); #else return(envadr->quiet); #endif } /* Put quiet flag */ int putquiet(i) int i; { #ifdef BDSC struct env *zenv(); return(zenv().quiet = i); #else return(envadr->quiet = i); #endif } /* Get message buffer pointer */ char *getmsg() { #ifdef BDSC struct env *zenv(); return(zenv().z3msg); #else return(envadr->z3msg); #endif } /* Get path pointer */ char *getpath() { #ifdef BDSC struct env *zenv(); return(zenv().path); #else return(envadr->path); #endif } /* Get path size */ int getspath() { #ifdef BDSC struct env *zenv(); return(zenv().pathsize); #else return(envadr->pathsize); #endif } /* Get Zcpr3 external fcb pointer */ struct zfcb *getefcb() { #ifdef BDSC struct env *zenv(); return(zenv().z3fcb); #else return(envadr->z3fcb); #endif } /* Return pointer to system file x where x=[0..4]. The shell variable file is 0, and 1..4 are the traditional system files. If offset is out of range, null is returned. */ char *getfnx(offset) unsigned offset; { char *c; unsigned i; #ifdef BDSC struct env *zenv(); c=zenv().shvarn; #else c=envadr->shvarn; #endif if(offset > 4) return(0); for(i=0;ifname,8); }