home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / JSAGE / ZSUS / PROGPACK / CFORZ02.LBR / Z3FUNC03.CZ / Z3FUNC03.C
Text File  |  2000-06-30  |  3KB  |  191 lines

  1. /* Z3func03 - Zcpr3 access functions for C */
  2.  
  3. #include <stdio.h>
  4. #include "z3env.h"
  5.  
  6. #ifndef BDSC
  7. struct env *envadr;
  8. #endif
  9.  
  10. /* Misc env routines */
  11.  
  12. /* Get wheel byte status.  Returns true if user is wheel */
  13.  
  14. int getwhl()
  15. {
  16. #ifdef BDSC
  17.     struct env *zenv();
  18.  
  19.     return(*(zenv().wheel));
  20. #else
  21.     return(*(envadr->wheel));
  22. #endif
  23. }
  24.  
  25.  
  26. /* Set wheel byte status. */
  27.  
  28. int setwhl(i)
  29.     int i;
  30. {
  31. #ifdef BDSC
  32.     struct env *zenv();
  33.  
  34.     return(*(zenv().wheel) = i);
  35. #else
  36.     return(*(envadr->wheel) = i);
  37. #endif
  38. }
  39.  
  40.  
  41. /* Return du ok flag */
  42.  
  43. int getduok()
  44. {
  45. #ifdef BDSC
  46.     struct env *zenv();
  47.  
  48.     return(zenv().duok);
  49. #else
  50.     return(envadr->duok);
  51. #endif
  52. }
  53.  
  54.  
  55. /* Return environment type */
  56.  
  57. int getetype()
  58. {
  59. #ifdef BDSC
  60.     struct env *zenv();
  61.  
  62.     return(zenv().envtyp);
  63. #else
  64.     return(envadr->envtyp);
  65. #endif
  66. }
  67.  
  68.  
  69. /* Return quiet flag */
  70.  
  71. int getquiet()
  72. {
  73. #ifdef BDSC
  74.     struct env *zenv();
  75.  
  76.     return(zenv().quiet);
  77. #else
  78.     return(envadr->quiet);
  79. #endif
  80. }
  81.  
  82.  
  83. /* Put quiet flag */
  84.  
  85. int putquiet(i)
  86.     int i;
  87. {
  88. #ifdef BDSC
  89.     struct env *zenv();
  90.  
  91.     return(zenv().quiet = i);
  92. #else
  93.     return(envadr->quiet = i);
  94. #endif
  95. }
  96.  
  97.  
  98. /* Get message buffer pointer */
  99.  
  100. char *getmsg()
  101. {
  102. #ifdef BDSC
  103.     struct env *zenv();
  104.  
  105.     return(zenv().z3msg);
  106. #else
  107.     return(envadr->z3msg);
  108. #endif
  109. }
  110.  
  111.  
  112. /* Get path pointer */
  113.  
  114. char *getpath()
  115. {
  116. #ifdef BDSC
  117.     struct env *zenv();
  118.  
  119.     return(zenv().path);
  120. #else
  121.     return(envadr->path);
  122. #endif
  123. }
  124.  
  125.  
  126. /* Get path size */
  127.  
  128. int getspath()
  129. {
  130. #ifdef BDSC
  131.     struct env *zenv();
  132.  
  133.     return(zenv().pathsize);
  134. #else
  135.     return(envadr->pathsize);
  136. #endif
  137. }
  138.  
  139.  
  140. /* Get Zcpr3 external fcb pointer */
  141.  
  142. struct zfcb *getefcb()
  143. {
  144. #ifdef BDSC
  145.     struct env *zenv();
  146.  
  147.     return(zenv().z3fcb);
  148. #else
  149.     return(envadr->z3fcb);
  150. #endif
  151. }
  152.  
  153.  
  154. /* Return pointer to system file x where x=[0..4].  The shell variable
  155.    file is 0, and 1..4 are the traditional system files.  If offset
  156.    is out of range, null is returned.
  157. */
  158.  
  159. char *getfnx(offset)
  160.     unsigned offset;
  161. {
  162.     char *c;
  163.     unsigned i;
  164. #ifdef BDSC
  165.     struct env *zenv();
  166.  
  167.     c=zenv().shvarn;
  168. #else
  169.     c=envadr->shvarn;
  170. #endif
  171.     if(offset > 4)
  172.         return(0);
  173.     for(i=0;i<offset;++i)
  174.         c+=11;
  175.     return(c);
  176. }
  177.  
  178.  
  179. /* Set system file x from fcb.  File number x is the same as defined in
  180.    getfnx().
  181. */
  182.  
  183. void setfnx(offset,fcb)
  184.     unsigned offset;
  185.     struct zfcb *fcb;
  186. {
  187.     char *getfnx();
  188.  
  189.     strncpy(getfnx(offset),fcb->fname,8);
  190. }
  191.