1132451Sroberto/* 2132451Sroberto * socktoa - return a numeric host name from a sockaddr_storage structure 3132451Sroberto */ 4132451Sroberto 5132451Sroberto#include <config.h> 6132451Sroberto 7132451Sroberto#include <sys/types.h> 8132451Sroberto#include <sys/socket.h> 9132451Sroberto#include <netinet/in.h> 10132451Sroberto 11132451Sroberto#include <arpa/inet.h> 12132451Sroberto 13132451Sroberto#ifdef ISC_PLATFORM_NEEDNTOP 14132451Sroberto#include <isc/net.h> 15132451Sroberto#endif 16132451Sroberto 17132451Sroberto#include <stdio.h> 18132451Sroberto 19132451Sroberto#include "ntp_fp.h" 20132451Sroberto#include "lib_strbuf.h" 21132451Sroberto#include "ntp_stdlib.h" 22132451Sroberto#include "ntp.h" 23132451Sroberto 24132451Srobertochar * 25132451Srobertosocktoa( 26132451Sroberto struct sockaddr_storage* sock 27132451Sroberto ) 28132451Sroberto{ 29132451Sroberto register char *buffer; 30132451Sroberto 31132451Sroberto LIB_GETBUF(buffer); 32132451Sroberto 33182007Sroberto if (sock == NULL) 34182007Sroberto strcpy(buffer, "null"); 35182007Sroberto else 36182007Sroberto { 37132451Sroberto 38182007Sroberto switch(sock->ss_family) { 39132451Sroberto 40182007Sroberto default: 41132451Sroberto case AF_INET : 42132451Sroberto inet_ntop(AF_INET, &GET_INADDR(*sock), buffer, 43132451Sroberto LIB_BUFLENGTH); 44132451Sroberto break; 45132451Sroberto 46132451Sroberto case AF_INET6 : 47132451Sroberto inet_ntop(AF_INET6, &GET_INADDR6(*sock), buffer, 48132451Sroberto LIB_BUFLENGTH); 49182007Sroberto#if 0 50182007Sroberto default: 51182007Sroberto strcpy(buffer, "unknown"); 52182007Sroberto#endif 53182007Sroberto } 54132451Sroberto } 55132451Sroberto return buffer; 56132451Sroberto} 57