File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / hping2 / resolve.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 22:11:37 2012 UTC (12 years, 3 months ago) by misho
Branches: hping2, MAIN
CVS tags: v2_0_0rc3p7, v2_0_0rc3p5, v2_0_0rc3p4, v2_0_0rc3p0, v2_0_0rc3, HEAD
hping2

    1: /* 
    2:  * $smu-mark$ 
    3:  * $name: resolve.c$ 
    4:  * $author: Salvatore Sanfilippo <antirez@invece.org>$ 
    5:  * $copyright: Copyright (C) 1999 by Salvatore Sanfilippo$ 
    6:  * $license: This software is under GPL version 2 of license$ 
    7:  * $date: Fri Nov  5 11:55:49 MET 1999$ 
    8:  * $rev: 8$ 
    9:  */ 
   10: 
   11: #include <stdlib.h>
   12: #include <sys/types.h>
   13: #include <netdb.h>
   14: #include <stdio.h>
   15: #include <string.h>
   16: #include <sys/socket.h>
   17: #include <netinet/in.h>
   18: #include <arpa/inet.h>
   19: 
   20: void resolve (struct sockaddr * addr, char *hostname)
   21: {
   22: 	struct  sockaddr_in *address;
   23: 	struct  hostent     *host;
   24: 
   25: 	address = (struct sockaddr_in *)addr;
   26: 
   27: 	memset(address, 0, sizeof(struct sockaddr_in));
   28: 	address->sin_family = AF_INET;
   29: 	address->sin_addr.s_addr = inet_addr(hostname);
   30: 
   31: 	if ( (int)address->sin_addr.s_addr == -1) {
   32: 		host = gethostbyname(hostname);
   33: 		if (host) {
   34: 			memcpy(&address->sin_addr, host->h_addr,
   35: 				host->h_length);
   36: 		} else {
   37: 			perror("[resolve] Could not resolve address");
   38: 			exit(1);
   39: 		}
   40: 	}
   41: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>