/* needed by inet_aton() */
#define _SVID_SOURCE
+#define _DARWIN_C_SOURCE
#include "config.h"
#include "avformat.h"
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/time.h>
#include "os_support.h"
#if CONFIG_NETWORK
+#include <fcntl.h>
+#include <unistd.h>
#if !HAVE_POLL_H
+#include <sys/time.h>
#if HAVE_WINSOCK2_H
#include <winsock2.h>
#elif HAVE_SYS_SELECT_H
#include <stdlib.h>
#include <strings.h>
-int inet_aton (const char * str, struct in_addr * add)
+int ff_inet_aton (const char * str, struct in_addr * add)
{
unsigned int add1 = 0, add2 = 0, add3 = 0, add4 = 0;
return 1;
}
+#else
+int ff_inet_aton (const char * str, struct in_addr * add)
+{
+ return inet_aton(str, add);
+}
#endif /* !HAVE_INET_ATON */
#if !HAVE_GETADDRINFO
sin->sin_family = AF_INET;
if (node) {
- if (!inet_aton(node, &sin->sin_addr)) {
+ if (!ff_inet_aton(node, &sin->sin_addr)) {
if (hints && (hints->ai_flags & AI_NUMERICHOST)) {
av_free(sin);
return EAI_FAIL;
}
#endif
-/* resolve host with also IP address parsing */
-int resolve_host(struct in_addr *sin_addr, const char *hostname)
-{
-
- if (!inet_aton(hostname, sin_addr)) {
-#if HAVE_GETADDRINFO
- struct addrinfo *ai, *cur;
- struct addrinfo hints;
- memset(&hints, 0, sizeof(hints));
- hints.ai_family = AF_INET;
- if (getaddrinfo(hostname, NULL, &hints, &ai))
- return -1;
- /* getaddrinfo returns a linked list of addrinfo structs.
- * Even if we set ai_family = AF_INET above, make sure
- * that the returned one actually is of the correct type. */
- for (cur = ai; cur; cur = cur->ai_next) {
- if (cur->ai_family == AF_INET) {
- *sin_addr = ((struct sockaddr_in *)cur->ai_addr)->sin_addr;
- freeaddrinfo(ai);
- return 0;
- }
- }
- freeaddrinfo(ai);
- return -1;
-#else
- struct hostent *hp;
- hp = gethostbyname(hostname);
- if (!hp)
- return -1;
- memcpy(sin_addr, hp->h_addr_list[0], sizeof(struct in_addr));
-#endif
- }
- return 0;
-}
-
int ff_socket_nonblock(int socket, int enable)
{
#if HAVE_WINSOCK2_H