1141cc406Sopenharmony_ci#include "../include/sane/config.h" 2141cc406Sopenharmony_ci 3141cc406Sopenharmony_ci#ifndef HAVE_INET_NTOP 4141cc406Sopenharmony_ci 5141cc406Sopenharmony_ci#include <string.h> 6141cc406Sopenharmony_ci#include <sys/types.h> 7141cc406Sopenharmony_ci#ifdef HAVE_WINSOCK2_H 8141cc406Sopenharmony_ci#include <winsock2.h> 9141cc406Sopenharmony_ci#endif 10141cc406Sopenharmony_ci#ifdef HAVE_SYS_SOCKET_H 11141cc406Sopenharmony_ci#include <sys/socket.h> 12141cc406Sopenharmony_ci#include <netinet/in.h> 13141cc406Sopenharmony_ci#include <arpa/inet.h> 14141cc406Sopenharmony_ci#endif 15141cc406Sopenharmony_ci 16141cc406Sopenharmony_ci 17141cc406Sopenharmony_ciconst char * 18141cc406Sopenharmony_ciinet_ntop (int af, const void *src, char *dst, size_t cnt) 19141cc406Sopenharmony_ci{ 20141cc406Sopenharmony_ci struct in_addr in; 21141cc406Sopenharmony_ci char *text_addr; 22141cc406Sopenharmony_ci 23141cc406Sopenharmony_ci#ifdef HAVE_INET_NTOA 24141cc406Sopenharmony_ci if (af == AF_INET) 25141cc406Sopenharmony_ci { 26141cc406Sopenharmony_ci memcpy (&in.s_addr, src, sizeof (in.s_addr)); 27141cc406Sopenharmony_ci text_addr = inet_ntoa (in); 28141cc406Sopenharmony_ci if (text_addr && dst) 29141cc406Sopenharmony_ci { 30141cc406Sopenharmony_ci strncpy (dst, text_addr, cnt); 31141cc406Sopenharmony_ci return dst; 32141cc406Sopenharmony_ci } 33141cc406Sopenharmony_ci else 34141cc406Sopenharmony_ci return 0; 35141cc406Sopenharmony_ci } 36141cc406Sopenharmony_ci#endif /* HAVE_INET_NTOA */ 37141cc406Sopenharmony_ci return 0; 38141cc406Sopenharmony_ci} 39141cc406Sopenharmony_ci 40141cc406Sopenharmony_ci#endif /* !HAVE_INET_NTOP */ 41