hosts_gatherer.h
上传用户:tjescc
上传日期:2021-02-23
资源大小:419k
文件大小:1k
源码类别:

Telnet服务器

开发平台:

Unix_Linux

  1. #ifndef HOSTS_GATHERER_H__
  2. #define HOSTS_GATHERER_H__
  3. #ifndef INADDR_NONE
  4. #define INADDR_NONE 0xffffffff
  5. #endif
  6. #undef DEBUG
  7. #undef DEBUG_HIGH
  8. #define HG_NFS                1 
  9. #define HG_DNS_AXFR           2
  10. #define HG_SUBNET             4
  11. #define HG_PING              8
  12. #define HG_REVLOOKUP       16  /* Are we allowed to use the DNS ? */
  13. #define HG_REVLOOKUP_AS_PING 32 
  14. #define HG_DISTRIBUTE      64
  15. struct hg_host {
  16. char * hostname; /* Host name                    */
  17. char * domain; /* This is the same pointers as */
  18. /* hostname ! Don't free() it ! */
  19. struct in_addr addr; /* Host IP             */
  20. int    cidr_netmask; /* CIDR-format netmask  */
  21. /* When given a /N notation, we 
  22.    put this as the upper limit
  23.    of the network */
  24. struct in_addr min;
  25. struct in_addr max;
  26. int use_max:1; /* use the field above ? */
  27.   unsigned int    tested:1;
  28. unsigned int    alive:1;
  29. struct hg_host * next;
  30. };
  31. struct hg_globals {
  32. struct hg_host * host_list;    /* List of tested hosts       */
  33. struct hg_host * tested;       /* Tested subnets and domains */
  34. int   flags;       /* options      */
  35. char  * input;
  36. char  * marker;
  37. int counter;
  38. unsigned int distribute;
  39. };
  40.  
  41. struct hg_globals * hg_init(char *, int);
  42. int hg_next_host(struct hg_globals *, struct in_addr *, char *, int);
  43. void   hg_cleanup  (struct hg_globals *);
  44. #endif