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