1*00b67f09SDavid van Moolenbroek /* $NetBSD: loc.h,v 1.4 2014/12/10 04:37:56 christos Exp $ */ 2*00b67f09SDavid van Moolenbroek 3*00b67f09SDavid van Moolenbroek /* Id: loc.h,v 1.1 2008/02/15 01:47:15 marka Exp */ 4*00b67f09SDavid van Moolenbroek 5*00b67f09SDavid van Moolenbroek #define VERSION "0.4.0" 6*00b67f09SDavid van Moolenbroek 7*00b67f09SDavid van Moolenbroek #include "config.h" 8*00b67f09SDavid van Moolenbroek 9*00b67f09SDavid van Moolenbroek /* Probably too many inclusions but this is to keep 'gcc -Wall' happy... */ 10*00b67f09SDavid van Moolenbroek #include <stdio.h> 11*00b67f09SDavid van Moolenbroek #include <stdlib.h> 12*00b67f09SDavid van Moolenbroek #include <sys/types.h> 13*00b67f09SDavid van Moolenbroek #include <netdb.h> 14*00b67f09SDavid van Moolenbroek #include <sys/socket.h> 15*00b67f09SDavid van Moolenbroek #include <netinet/in.h> 16*00b67f09SDavid van Moolenbroek #include <arpa/inet.h> 17*00b67f09SDavid van Moolenbroek #include <sys/time.h> 18*00b67f09SDavid van Moolenbroek #include <errno.h> 19*00b67f09SDavid van Moolenbroek #include <unistd.h> 20*00b67f09SDavid van Moolenbroek #include <string.h> 21*00b67f09SDavid van Moolenbroek #include <signal.h> 22*00b67f09SDavid van Moolenbroek #include <arpa/nameser.h> 23*00b67f09SDavid van Moolenbroek #include <resolv.h> 24*00b67f09SDavid van Moolenbroek 25*00b67f09SDavid van Moolenbroek #ifndef FALSE 26*00b67f09SDavid van Moolenbroek #define FALSE 0 27*00b67f09SDavid van Moolenbroek #endif 28*00b67f09SDavid van Moolenbroek #ifndef TRUE 29*00b67f09SDavid van Moolenbroek #define TRUE 1 30*00b67f09SDavid van Moolenbroek #endif 31*00b67f09SDavid van Moolenbroek 32*00b67f09SDavid van Moolenbroek #if SIZEOF_LONG == 4 33*00b67f09SDavid van Moolenbroek #define u_int32_t unsigned long 34*00b67f09SDavid van Moolenbroek #ifndef int32_t 35*00b67f09SDavid van Moolenbroek #define int32_t long 36*00b67f09SDavid van Moolenbroek #endif 37*00b67f09SDavid van Moolenbroek #else 38*00b67f09SDavid van Moolenbroek #define u_int32_t unsigned int 39*00b67f09SDavid van Moolenbroek #ifndef int32_t 40*00b67f09SDavid van Moolenbroek #define int32_t int 41*00b67f09SDavid van Moolenbroek #endif 42*00b67f09SDavid van Moolenbroek #endif 43*00b67f09SDavid van Moolenbroek 44*00b67f09SDavid van Moolenbroek #if SIZEOF_CHAR == 1 45*00b67f09SDavid van Moolenbroek #define u_int8_t unsigned char 46*00b67f09SDavid van Moolenbroek #ifndef int8_t 47*00b67f09SDavid van Moolenbroek #define int8_t char 48*00b67f09SDavid van Moolenbroek #endif 49*00b67f09SDavid van Moolenbroek #else 50*00b67f09SDavid van Moolenbroek #if SIZEOF_SHORT == 1 51*00b67f09SDavid van Moolenbroek #define u_int8_t unsigned short 52*00b67f09SDavid van Moolenbroek #ifndef int8_t 53*00b67f09SDavid van Moolenbroek #define int8_t short 54*00b67f09SDavid van Moolenbroek #endif 55*00b67f09SDavid van Moolenbroek #else 56*00b67f09SDavid van Moolenbroek #error "No suitable native type for storing bytes" 57*00b67f09SDavid van Moolenbroek #endif 58*00b67f09SDavid van Moolenbroek #endif 59*00b67f09SDavid van Moolenbroek 60*00b67f09SDavid van Moolenbroek #ifndef INADDR_NONE 61*00b67f09SDavid van Moolenbroek #define INADDR_NONE (in_addr_t)-1 62*00b67f09SDavid van Moolenbroek #endif 63*00b67f09SDavid van Moolenbroek 64*00b67f09SDavid van Moolenbroek struct list_in_addr 65*00b67f09SDavid van Moolenbroek { 66*00b67f09SDavid van Moolenbroek struct in_addr addr; 67*00b67f09SDavid van Moolenbroek void *next; 68*00b67f09SDavid van Moolenbroek }; 69*00b67f09SDavid van Moolenbroek 70*00b67f09SDavid van Moolenbroek void usage (); 71*00b67f09SDavid van Moolenbroek void panic (); 72*00b67f09SDavid van Moolenbroek 73*00b67f09SDavid van Moolenbroek char *getlocbyname (); 74*00b67f09SDavid van Moolenbroek char *getlocbyaddr (); 75*00b67f09SDavid van Moolenbroek char *getlocbynet (); 76*00b67f09SDavid van Moolenbroek char *findRR (); 77*00b67f09SDavid van Moolenbroek struct list_in_addr *findA (); 78*00b67f09SDavid van Moolenbroek 79*00b67f09SDavid van Moolenbroek extern char *progname; 80*00b67f09SDavid van Moolenbroek extern short debug; 81