socktoa.c revision 182007
1/* 2 * socktoa - return a numeric host name from a sockaddr_storage structure 3 */ 4 5#include <config.h> 6 7#include <sys/types.h> 8#include <sys/socket.h> 9#include <netinet/in.h> 10 11#include <arpa/inet.h> 12 13#ifdef ISC_PLATFORM_NEEDNTOP 14#include <isc/net.h> 15#endif 16 17#include <stdio.h> 18 19#include "ntp_fp.h" 20#include "lib_strbuf.h" 21#include "ntp_stdlib.h" 22#include "ntp.h" 23 24char * 25socktoa( 26 struct sockaddr_storage* sock 27 ) 28{ 29 register char *buffer; 30 31 LIB_GETBUF(buffer); 32 33 if (sock == NULL) 34 strcpy(buffer, "null"); 35 else 36 { 37 38 switch(sock->ss_family) { 39 40 default: 41 case AF_INET : 42 inet_ntop(AF_INET, &GET_INADDR(*sock), buffer, 43 LIB_BUFLENGTH); 44 break; 45 46 case AF_INET6 : 47 inet_ntop(AF_INET6, &GET_INADDR6(*sock), buffer, 48 LIB_BUFLENGTH); 49#if 0 50 default: 51 strcpy(buffer, "unknown"); 52#endif 53 } 54 } 55 return buffer; 56} 57