Commit a5780241 authored by Jeremy Soller's avatar Jeremy Soller
Browse files

Add netdb example

parent ae2a8cd2
prefix ?= /usr/local
bindir = $(prefix)/bin
BINS=true
BINS=\
netdb \
true
all: $(BINS)
......@@ -12,7 +14,11 @@ install: $(BINS)
done
clean:
rm -f $(BINS)
rm -f $(BINS) lib.o
%: %.c
$(CC) $(CFLAGS) $< -o $@ $(LIBS)
%: %.c lib.o
$(CC) $(CFLAGS) $(CRT) lib.o $< -o $@ $(CLIBS)
objdump -C -M intel -D $@ > $*.list
lib.o: lib.c
$(CC) $(CFLAGS) -c $< -o $@
void rust_begin_unwind() {
}
void _init() {
}
void _fini() {
}
#include <stdio.h>
#include <errno.h>
#include <netdb.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
int main(int argc, char ** argv) {
int i;
struct hostent *he;
struct in_addr **addr_list;
if (argc != 2) {
fprintf(stderr,"usage: netdb hostname\n");
return 1;
}
if ((he = gethostbyname(argv[1])) == NULL) { // get the host info
perror("gethostbyname");
return 2;
}
// print information about this host:
printf("Official name is: %s\n", he->h_name);
printf(" IP addresses: ");
addr_list = (struct in_addr **)he->h_addr_list;
for(i = 0; addr_list[i] != NULL; i++) {
printf("%s ", inet_ntoa(*addr_list[i]));
}
printf("\n");
return 0;
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment