home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / news / nn.tar / nn-6.5.1 / newsoverview.h < prev    next >
C/C++ Source or Header  |  1995-04-29  |  3KB  |  81 lines

  1. /*******************WARNING*********************
  2.  
  3. This is a *MODIFIED* version of Geoff Coller's proof-of-concept NOV
  4. implementation.
  5.  
  6. It has been modified to support threading directly from a file handle
  7. to a NNTP server without a temporary file.
  8.  
  9. This is not a complete distribution.  We have only distributed enough
  10. to support NN's needs.
  11.  
  12. The original version came from world.std.com:/src/news/nov.dist.tar.Z
  13. and was dated 11 Aug 1993.
  14.  
  15. In any case, bugs you find here are probably my fault, as I've trimmed
  16. a fair bit of unused code.
  17.  
  18. -Peter Wemm  <peter@DIALix.oz.au>
  19. */
  20.  
  21. /*
  22.  * Copyright (c) Geoffrey Collyer 1992, 1993.
  23.  * All rights reserved.
  24.  * Written by Geoffrey Collyer.
  25.  * Thanks to UUNET Communications Services Inc for financial support.
  26.  *
  27.  * This software is not subject to any license of the American Telephone
  28.  * and Telegraph Company, the Regents of the University of California, or
  29.  * the Free Software Foundation.
  30.  *
  31.  * Permission is granted to anyone to use this software for any purpose on
  32.  * any computer system, and to alter it and redistribute it freely, subject
  33.  * to the following restrictions:
  34.  *
  35.  * 1. The authors are not responsible for the consequences of use of this
  36.  *    software, no matter how awful, even if they arise from flaws in it.
  37.  *
  38.  * 2. The origin of this software must not be misrepresented, either by
  39.  *    explicit claim or by omission.  Since few users ever read sources,
  40.  *    credits must appear in the documentation.
  41.  *
  42.  * 3. Altered versions must be plainly marked as such, and must not be
  43.  *    misrepresented as being the original software.  Since few users
  44.  *    ever read sources, credits must appear in the documentation.
  45.  *
  46.  * 4. This notice may not be removed or altered.
  47.  */
  48.  
  49.  
  50. /* newsreader interface to news overview data */
  51. struct novgroup {
  52.     char *g_dir;
  53.     FILE *g_stream;
  54.     struct novart *g_first;
  55.     struct novart *g_curr;
  56.     HASHTABLE *g_msgids;
  57.     HASHTABLE *g_roots;
  58. };
  59. struct novart {
  60.     char *a_num;
  61.     char *a_subj;
  62.     char *a_from;
  63.     char *a_date;
  64.     char *a_msgid;
  65.     char *a_refs;
  66.     char *a_bytes;
  67.     char *a_lines;
  68.     char *a_others;
  69.     /* these members are message-ids, filled in by novthread() */
  70.     char *a_parent;
  71.     char *a_child1;        /* first child of a chain */
  72.     char *a_sibling;    /* next sibling in this chain */
  73.     /* end message-ids */
  74.     struct novart *a_nxtnum;    /* next in numeric order */
  75. };
  76.  
  77. struct novgroup *novopen(), *novstream();    /* open a new group */
  78. struct novart *novall(), *novnext(); /* return overview data for a group */
  79. /* novthread(ngroup);        built threads linkage; see g_roots */
  80. /* novclose(ngroup);        frees resources associated with ngroup */
  81.