home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / news / cnews.tar / relay / article.h < prev    next >
C/C++ Source or Header  |  1991-10-25  |  1KB  |  34 lines

  1. /*
  2.  * All the information needed to describe an article as it is processed.
  3.  */
  4.  
  5. #define MINSHPTRS 30        /* initial value for sh_alloced */
  6.  
  7. struct article {
  8.     statust a_status;    /* article status bits */
  9.     struct headers h;    /* strictly from headers in input */
  10.     char *a_haccum;        /* accumulated output headers, if any */
  11.     char *a_hnext;        /* -> first free byte in a_haccum */
  12.     short a_hpalloced;    /* indices in a_hptrs */
  13.     short a_hpused;        /* indices currently in use */
  14.     char **a_hptrs;        /* -> array of ptrs to lines in a_haccum */
  15.     unsigned a_hbytesleft;    /* in a_haccum */
  16.     char *a_files; /* names for history, added in filing, from h.h_ngs */
  17.     char *a_tmpf;        /* temp link name or first spool dir link */
  18.     FILE *a_artf;        /* stream corresponding to a_tmpf */
  19.     boolean a_unlink;    /* true iff a_tmpf should be unlinked at end */
  20.     boolean a_filed;    /* true iff article has been filed */
  21.     boolean a_xref;        /* true iff Xref: header generated yet */
  22.     boolean a_blvmax;    /* true iff a_unread is to be believed */
  23.     long a_charswritten;    /* into spool directory, for batcher */
  24.     long a_unread;        /* bytes of article input yet unread */
  25.     long a_id;        /* article id #, unique within this batch */
  26.     boolean a_badhdr;    /* true iff non-header is before blank line */
  27. };
  28.  
  29. /* return name of at least one link, for printing in error messages, etc. */
  30. #define spoolnm(art) ((art)->a_unlink? (art)->a_tmpf: (art)->a_files)
  31.  
  32. /* imports from article.c */
  33. extern void artinit(), artfree();
  34.