home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume36 / slurp / part02 / slurp.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-03-12  |  3.4 KB  |  157 lines

  1. /*
  2.  * slurp.h - common definitions for slurp
  3.  *
  4.  * Copyright (C) 1992/93 Stephen Hebditch. All rights reserved.
  5.  * TQM Communications, BCM Box 225, London, WC1N 3XX.
  6.  * steveh@orbital.demon.co.uk  +44 836 825962
  7.  *
  8.  * See README for more information and disclaimers
  9.  *
  10.  * $Id: slurp.h,v 1.5 1993/03/01 17:57:44 root Exp $
  11.  *
  12.  * $Log: slurp.h,v $
  13.  * Revision 1.5  1993/03/01  17:57:44  root
  14.  * Minor reshuffle, plus USG definition now SYSV.
  15.  *
  16.  * Revision 1.4  1993/02/14  14:40:55  root
  17.  * Added no_id_load_flag.
  18.  * Modified struct mnode to include used flag and remove msgid.
  19.  * New process_id and set_ntime definitions.
  20.  *
  21.  * Revision 1.3  1992/12/15
  22.  * Added SYS_ERRLIST definitions.
  23.  *
  24.  * Revision 1.1  1992/12/06
  25.  * Added no_time flag.
  26.  *
  27.  * Revision 1.0  1992/10/29
  28.  * Initial coding.
  29.  *
  30.  */
  31.  
  32. /* Local header files */
  33.  
  34. #include "conf.h"
  35. #include "nntp.h"
  36.  
  37.  
  38. /* Standard header files */
  39.  
  40. #include <sys/types.h>
  41. #include <stdio.h>
  42. #include <stdlib.h>
  43. #include <unistd.h>
  44. #include <limits.h>
  45. #include <ctype.h>
  46. #include <errno.h>
  47.  
  48. #ifdef SYSLOG
  49.   #ifdef FAKESYSLOG
  50.     #include "fakesyslog.h"
  51.   #else
  52.     #include <syslog.h>
  53.   #endif
  54. #endif
  55.  
  56. #ifdef SYSV
  57.   #define FCNTL
  58.   #include <string.h>
  59.   #include <time.h>
  60.   #ifndef bcopy
  61.     #define bcopy(a,b,c) (void) memcpy ((char*) b, (char*) a, (int) c)
  62.   #endif
  63.   #ifndef bzero
  64.     #define bzero(a,b) (void) memset ((char*) a, 0, (int) b)
  65.   #endif
  66. #else
  67.   #include <strings.h>
  68.   #include <sys/time.h>
  69. #endif
  70.  
  71. #ifdef SYS_ERRLIST
  72.   extern const char *sys_errlist[];
  73.   #define strerror(x) (sys_errlist[x])
  74. #endif
  75.  
  76.  
  77. /* Important variables */
  78.  
  79. extern char *hostname;        /* Name of current NNTP server host */
  80. extern char *pname;            /* Name of this program */
  81. extern int  debug_flag;        /* Write extra debugging output to screen */
  82. extern int  no_time_flag;    /* Don't update slurp.<hostname> */
  83. extern int  no_id_load_flag;/* Don't dump / load message ids */
  84.  
  85. /* Article counters */
  86.  
  87. extern int  dupart;            /* Number of duplicate articles */
  88. extern int  misart;            /* Number of missing articles */
  89. extern int  newart;            /* Number of new articles */
  90.  
  91. extern long totalsize;        /* Total size of articles tranferred */
  92.  
  93. /* Details for NEWNEWS */
  94.  
  95. extern char *nn_newsgroups;
  96. extern char *nn_time;
  97. extern char *nn_distributions;
  98.  
  99. /* Binary tree holding message ids */
  100.  
  101. struct mnode
  102.     {
  103.     struct mnode *left;
  104.     struct mnode *right;
  105.     char *msgid;
  106.     int used;
  107.     };
  108.                           
  109. extern struct mnode *root;
  110. extern int entries;
  111.  
  112.  
  113. /* Slurp function prototypes */
  114.  
  115. extern void get_articles ();                        /* articles.c */
  116. extern void enqueue_batch ();
  117.  
  118. extern int  open_history ();                        /* history.c */
  119. extern void close_history ();
  120. extern int  check_id (char *message_id);
  121.  
  122. extern void log_ret (const char *fmt, ...);            /* misc.c */
  123. extern void log_sys (const char *fmt, ...);
  124. extern void log_msg (const char *fmt, ...);
  125.  
  126. extern void get_ids ();                                /* newnews.c */
  127. extern void process_id (char *msgid);
  128.  
  129. extern void set_ntime ();                            /* slurp.c */
  130.  
  131. extern int  tcp_open (char *host, char *service);    /* sockets.c */
  132. extern int  server_init (char *hostname);
  133. extern void close_server ();
  134. extern void get_server (char *buf, int size);
  135. extern void put_server (char *buf);
  136.  
  137. extern int  space (int min_free);                    /* space.c */
  138.  
  139. extern long server_time ();                            /* time.c */
  140.  
  141.  
  142. /* The inevitable... */
  143.  
  144. #if !defined(TRUE) || ((TRUE) != 1)
  145.   #define TRUE (1)
  146. #endif
  147.  
  148. #if !defined(FALSE) || ((FALSE) != 0)
  149.   #define FALSE (0)
  150. #endif
  151.  
  152. #ifndef PATH_MAX
  153.   #define PATH_MAX 1024
  154. #endif
  155.  
  156. /* END-OF-FILE */
  157.