[PVFS2-CVS] commit by rbross in pvfs2/src/io/bmi/bmi_tcp: sockio.c
CVS commit program
cvs at parl.clemson.edu
Wed Feb 9 16:43:08 EST 2005
Update of /projects/cvsroot/pvfs2/src/io/bmi/bmi_tcp
In directory parlweb:/tmp/cvs-serv30457/src/io/bmi/bmi_tcp
Modified Files:
sockio.c
Log Message:
Added workaround for missing gethostbyname.
Index: sockio.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/bmi/bmi_tcp/sockio.c,v
diff -p -u -r1.15 -r1.16
--- sockio.c 9 Feb 2005 21:00:20 -0000 1.15
+++ sockio.c 9 Feb 2005 21:43:08 -0000 1.16
@@ -19,6 +19,9 @@
#ifdef HAVE_NETDB_H
#include <netdb.h>
#endif
+#ifdef HAVE_ARPA_INET_H
+#include <arpa/inet.h>
+#endif
#include <sys/poll.h>
#include <sys/uio.h>
@@ -75,9 +78,11 @@ int BMI_sockio_connect_sock(int sockd,
return (sockd);
}
+#ifdef HAVE_GETHOSTBYNAME
+/* gethostbyname version */
int BMI_sockio_init_sock(struct sockaddr *saddrp,
- const char *name,
- int service)
+ const char *name,
+ int service)
{
struct hostent *hep;
@@ -99,6 +104,35 @@ int BMI_sockio_init_sock(struct sockaddr
hep->h_length);
return (0);
}
+#else
+/* inet_aton version */
+int BMI_sockio_init_sock(struct sockaddr *saddrp,
+ const char *name,
+ int service)
+{
+ int ret;
+ struct in_addr addr;
+
+ bzero((char *) saddrp, sizeof(struct sockaddr_in));
+ if (name == NULL)
+ {
+ ret = inet_aton("127.0.0.1", &addr);
+ }
+ else
+ {
+ ret = inet_aton(name, &addr);
+ }
+
+ if (ret) return -1;
+
+ ((struct sockaddr_in *) saddrp)->sin_family = AF_INET;
+ ((struct sockaddr_in *) saddrp)->sin_port = htons((u_short) service);
+ bcopy(&addr, (char *) &(((struct sockaddr_in *) saddrp)->sin_addr),
+ sizeof(addr));
+
+ return 0;
+}
+#endif
/* blocking receive */
More information about the PVFS2-CVS
mailing list