Annotation of embedaddon/hping2/resolve.c, revision 1.1
1.1 ! misho 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>