home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / TELECOM / tass.lzh / tass.h < prev    next >
C/C++ Source or Header  |  1993-01-24  |  4KB  |  169 lines

  1. #include       <setjmp.h>
  2.  
  3. #ifndef                OSK
  4. #define                LIBDIR          "/usr/lib/news"
  5. #define                SPOOLDIR        "/usr/spool/news"
  6. #define                MAILER          "/bin/rmail"
  7. #else          /* OSK */
  8. #define                LIBDIR          "/h0/USR/LIB/NEWS"
  9. #define                SPOOLDIR        "/h0/SPOOL/NEWS"
  10. #define                MAILER          "rmail"
  11. #ifdef         USE_UID
  12. #define                setgid(n)       /* */
  13. #endif         /* USE_UID */
  14. #endif         /* OSK */
  15.  
  16. #ifndef                TRUE
  17. #define                TRUE            1
  18. #define                FALSE           0
  19. #endif         /* TRUE */
  20.  
  21. #define                LEN             200
  22.  
  23. #define                INDEX_TOP               4
  24. #define                NOTESLINES              (LINES - INDEX_TOP - 2)
  25. #define                RIGHT_POS               (COLS - 16)
  26. #define                MORE_POS                (COLS - 20)
  27.  
  28. #define                MAX_FROM        25
  29. #define                MAX_SUBJ        38
  30. #define                TABLE_SIZE      1409
  31.  
  32. /* #define             MAX_SUBJ        (COLS - 42)     */
  33.  
  34.  
  35. struct header {
  36.        long artnum;
  37.        char subject[MAX_SUBJ];
  38.        char *nore;             /* pointer into subject after Re: */
  39.        char from[MAX_FROM];
  40.        int thread;
  41.        long hash;
  42.        int inthread;
  43.        int unread;             /* has this article been read? */
  44.                                /* 0 = read, 1 = unread, 2 = will return */
  45. };
  46.  
  47. /*
  48.  *  header.artnum:
  49.  *     article number in spool directory for group
  50.  *
  51.  *  header.nore
  52.  *     pointer into header.subject after the Re:'s.
  53.  *
  54.  *  header.hash:
  55.  *     hash of the subject minus the re's.  For fast subject comparison
  56.  *
  57.  *  header.thread:
  58.  *     initially -1
  59.  *     points to another arts[] (struct header): zero and up
  60.  *     -2 means article has expired (wasn't found in file search
  61.  *     of spool directory for the group)
  62.  *
  63.  *  header.inthread:
  64.  *     FALSE for the first article in a thread, TRUE for all
  65.  *     following articles in thread
  66.  *
  67.  *  header.read:
  68.  *     boolean, has this article been read or not
  69.  */
  70.  
  71. struct group_ent {
  72.        char *name;
  73.        long max;
  74.        long min;
  75.        int next;               /* next active entry in hash chain */
  76.        int flag;
  77. };
  78.  
  79. #define                NOTGOT          0x01    /* haven't put in my_group yet */
  80. #define                SUBS            0x02    /* subscribed to */
  81.  
  82.  
  83. extern int top;
  84. extern struct header *arts;
  85. extern long *base;
  86. extern int max_art;
  87.  
  88. extern char userid[LEN];
  89. extern char homedir[LEN];
  90. extern char indexdir[LEN];
  91. extern char my_org[LEN];
  92. extern char active_file[LEN];
  93. #ifdef OSK
  94. extern char spooldir[LEN];
  95. #endif /* OSK */
  96. #ifdef INCSTR
  97. extern char *incstr;
  98. #endif /* INCSTR */
  99. extern char newsrc[LEN];
  100. extern char newnewsrc[LEN];
  101. extern char delgroups[LEN];
  102. extern int top_base;
  103. extern int LINES, COLS;
  104. extern char *str_save();
  105. extern char *my_malloc();
  106. extern char *my_realloc();
  107. extern int group_hash[TABLE_SIZE];
  108.  
  109. extern int num_active;
  110. extern struct group_ent *active;
  111. extern int *my_group;
  112. extern int *unread;
  113. extern int max_active;
  114.  
  115. extern int local_top;
  116. extern char *eat_re();
  117. extern char *nice_time();
  118. extern int update;
  119. extern int inverse_okay;
  120.  
  121. #ifdef USE_UID
  122. extern int tass_uid;
  123. extern int tass_gid;
  124. extern int real_uid;
  125. extern int real_gid;
  126. #endif /* USE_UID */
  127. extern int local_index;
  128. extern int do_mail_check;
  129. extern int omask;
  130.  
  131. extern jmp_buf jmp_buffer;
  132.  
  133. extern char *strcpy();
  134. extern char *strncat();
  135. extern char *strncpy();
  136. extern long atol();
  137.  
  138.  
  139. #define                ctrl(c)                 ((c) & 0x1F)
  140.  
  141. /*
  142.  *  Assertion verifier
  143.  */
  144.  
  145. #ifdef __STDC__
  146. #define        assert(p)       if(! (p)) asfail(__FILE__, __LINE__, #p); else
  147. #else
  148. #define        assert(p)       if(! (p)) asfail(__FILE__, __LINE__, "p"); else
  149. #endif
  150.  
  151. #define                TASS_HEADER     "Tass 3.0"
  152.  
  153. extern void    dump_index();
  154. extern void    load_index();
  155. extern void    find_local_index();
  156. extern void    search_subject();
  157. extern void    tass_group_help();
  158. extern void    read_newsrc();
  159. extern void    print_seq();
  160. extern void    mark_group_read();
  161. extern void    cancel_article();
  162. extern void    save_art_to_file();
  163. extern void    save_thread_to_file();
  164. extern void    pipe_article();
  165. extern void    open_note();
  166. extern void    tass_page_help();
  167. extern void    find_new_to();
  168. extern void    search_group();
  169.