home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.0 / NeXTSTEP3.0.iso / NextDeveloper / Headers / bsd / resolv.h < prev    next >
Text File  |  1990-01-22  |  2KB  |  63 lines

  1.  
  2. /*
  3.  * Copyright (c) 1983, 1987 Regents of the University of California.
  4.  * All rights reserved.  The Berkeley software License Agreement
  5.  * specifies the terms and conditions for redistribution.
  6.  *
  7.  *    @(#)resolv.h    5.5 (Berkeley) 5/12/87
  8.  */
  9.  
  10. /*
  11.  * Global defines and variables for resolver stub.
  12.  */
  13.  
  14.  
  15. #define    MAXNS        3        /* max # name servers we'll track */
  16. #define    MAXDNSRCH    3        /* max # default domain levels to try */
  17. #define    LOCALDOMAINPARTS 2        /* min levels in name that is "local" */
  18.  
  19. #define    RES_TIMEOUT    4        /* seconds between retries */
  20.  
  21. struct state {
  22.     int    retrans;         /* retransmition time interval */
  23.     int    retry;            /* number of times to retrans7'*/
  24.     long    options;        /* option flags - see below. */
  25.     int    nscount;        /* number of name servers */
  26.     struct    sockaddr_in nsaddr_list[MAXNS];    /* address of name server */
  27. #define    nsaddr    nsaddr_list[0]        /* for backward compatibility */
  28.     u_short    id;            /* current packet id */
  29.     char    defdname[MAXDNAME];    /* default domain */
  30.     char    *dnsrch[MAXDNSRCH+1];    /* components of domain to search */
  31. };
  32.  
  33. /*
  34.  * Resolver options
  35.  */
  36. #define RES_INIT    0x0001        /* address initialized */
  37. #define RES_DEBUG    0x0002        /* print debug messages */
  38. #define RES_AAONLY    0x0004        /* authoritative answers only */
  39. #define RES_USEVC    0x0008        /* use virtual circuit */
  40. #define RES_PRIMARY    0x0010        /* query primary server only */
  41. #define RES_IGNTC    0x0020        /* ignore trucation errors */
  42. #define RES_RECURSE    0x0040        /* recursion desired */
  43. #define RES_DEFNAMES    0x0080        /* use default domain name */
  44. #define RES_STAYOPEN    0x0100        /* Keep TCP socket open */
  45. #define RES_DNSRCH    0x0200        /* search up local domain tree */
  46.  
  47. #define RES_DEFAULT    (RES_RECURSE | RES_DEFNAMES | RES_DNSRCH)
  48.  
  49. extern struct state _res;
  50. extern char *p_cdname(), *p_rr(), *p_type(), *p_class();
  51. #ifndef __STRICT_BSD__
  52. int res_mkquery (int op, char *dname, int class, int type,
  53.          char *data, int datalen, struct rrec *newrr, 
  54.          char *buf, int buflen);
  55. int res_send (char *msg, int msglen, char *answer, int anslen);
  56. int res_init (void);
  57. int dn_comp (char *exp_dn, char *comp_dn, int length, 
  58.          char **dnptrs, char **lastdnptr);
  59. int dn_expand (unsigned char *msg, unsigned char *eomorig, 
  60.            unsigned char *comp_dn, unsigned char *exp_dn, 
  61.            int length);
  62. #endif __STRICT_BSD__
  63.