home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / bbbsr2.zip / scripts / stdlib.bzh < prev   
Text File  |  1997-06-26  |  3KB  |  136 lines

  1. /******************************************************************************
  2.  
  3.                Standard Library routines for BZ language
  4.  
  5.            Copyright 1993-1997, Kim Heino and Tapani T. Salmi
  6.  
  7. ******************************************************************************/
  8.  
  9. #define SEEK_SET        0
  10. #define SEEK_CUR        1
  11. #define SEEK_END        2
  12.  
  13. /* the getnodestatus() 'item' constants */
  14.  
  15. #define GNS_SPLIT      0
  16. #define GNS_BSTATUS    1
  17. #define GNS_ZSTATUS    2
  18. #define GNS_SPEED      3
  19. #define GNS_TIME       4
  20. #define GNS_ENDTIME    5
  21. #define GNS_NICK       6
  22. #define GNS_REALNAME   7
  23. #define GNS_IDLE       8
  24.  
  25. /* the getnodestatus() 'zstatus' constants */
  26.  
  27. #define ZS_OFF         0
  28. #define ZS_ACTIVE      1
  29. #define ZS_NOTAVAIL    2
  30. #define ZS_WRITING     3
  31. #define ZS_GRAB        4
  32. #define ZS_DOWNLOAD    5
  33. #define ZS_UPLOAD      6
  34. #define ZS_SYSCHAT     7
  35. #define ZS_DOOR        8
  36. #define ZS_GROUPCHAT   9
  37. #define ZS_TELNET      10
  38. #define ZS_SHELLED     11
  39.  
  40. #define TRUE 1
  41. #define FALSE 0
  42.  
  43. #define void int
  44. #define FILE int
  45.  
  46. #define function char
  47. #define var char
  48.  
  49. /*****************************************************************************/
  50.  
  51. int abs(int j) {
  52.   if (j<0) return(-j);
  53.   else return(j);
  54. }
  55.  
  56. #define labs abs
  57.  
  58. int next_rand_seed;    /* should be initialized to 1 in your main program */
  59.  
  60. int srand(int seed) {
  61.   next_rand_seed=seed;
  62. }
  63.  
  64. int randomize() {
  65.   srand(bf_year  *977616000+
  66.         bf_month *2678400+
  67.         bf_day   *86400+
  68.         bf_hour  *3600+
  69.         bf_min   *60+
  70.         bf_sec);
  71. }
  72.  
  73. int rand() {
  74.   return(((next_rand_seed=next_rand_seed*69069+5) >> 16) & 0x7fff);
  75. }
  76.  
  77. char dirent_name, dirent_desc;
  78. int dirent_file;
  79.  
  80. int bopendir(char dirname) {
  81.   char s;
  82.  
  83.   dirname=strcat(dirname," ");
  84.   if ((dirent_file=fopen("filedirg.000","rt"))==-1) return(0);
  85.   while (1) {
  86.     s=fgets(dirent_file);
  87.     if (feof(dirent_file)) break;
  88.     if (pos(dirname,s)==1) {
  89.       fclose(dirent_file);
  90.       if (pos(" @0",s)) {
  91.         s=copy(s,pos(" @0",s)+3,255);
  92.         if (pos(" ",s)) s=copy(s,1,pos(" ",s)-1);
  93.       } else {
  94.         s=delete(s,1,pos(" ",s));
  95.         while (copy(s,1,1)==" ") s=delete(s,1,1);
  96.         if (pos(" ",s)) s=copy(s,1,pos(" ",s)-1);
  97.         s=strcat(s,"/descript.ion");
  98.       }
  99.       if ((dirent_file=fopen(s,"rt"))==-1) return(0);
  100.       return(1);
  101.     }
  102.   }
  103.   fclose(dirent_file);
  104.   return(0);
  105. }
  106.  
  107. int breaddir() {
  108.   char s;
  109.  
  110.   s=fgets(dirent_file);
  111.   if (feof(dirent_file)) return(0);
  112.   if (pos(" ",s)) {
  113.     dirent_name=copy(s,1,pos(" ",s)-1);
  114.     dirent_desc=copy(s,pos(" ",s)+1,768);
  115.     while (copy(dirent_desc,1,1)==" ") dirent_desc=delete(dirent_desc,1,1);
  116.   } else {
  117.     dirent_name=s;
  118.     dirent_desc="";
  119.   }
  120.   return(1);
  121. }
  122.  
  123. int bclosedir() {
  124.   fclose(dirent_file);
  125. }
  126.  
  127. int showfile(char fn) {
  128.   int f;
  129.  
  130.   if ((f=fopen(fn,"rt"))==-1) return(0);
  131.   while (!feof(f)) printf("%s\n",fgets(f));
  132.   fclose(f);
  133.   return(1);
  134. }
  135.  
  136.