--- a/UnixOperatingSystem.st Thu Apr 03 14:48:50 2003 +0200
+++ b/UnixOperatingSystem.st Fri Apr 04 14:20:58 2003 +0200
@@ -599,6 +599,16 @@
# undef AF_INET6
#endif
+#ifdef WANT__AF_APPLETALK
+# ifdef AF_APPLETALK
+# ifndef PF_APPLETALK
+# define PF_APPLETALK AF_APPLETALK
+# endif
+# endif
+#else
+# undef AF_APPLETALK
+#endif
+
#ifdef WANT__AF_DECnet
# ifdef AF_DECnet
# ifndef PF_DECnet
@@ -609,14 +619,14 @@
# undef AF_DECnet
#endif
-#ifdef WANT__AF_APPLETALK
-# ifdef AF_APPLETALK
-# ifndef PF_APPLETALK
-# define PF_APPLETALK AF_APPLETALK
+#ifdef WANT__AF_IRDA /* infrared */
+# ifdef AF_IRDA
+# ifndef PF_IRDA
+# define PF_IRDA AF_IRDA
# endif
# endif
#else
-# undef AF_APPLETALK
+# undef AF_IRDA
#endif
#ifdef WANT__AF_X25 /* X.25 */
@@ -779,15 +789,6 @@
# undef AF_VOICEVIEW
#endif
-#ifdef WANT__AF_IRDA /* infrared */
-# ifdef AF_IRDA
-# ifndef PF_IRDA
-# define PF_IRDA AF_IRDA
-# endif
-# endif
-#else
-# undef AF_IRDA
-#endif
/*
@@ -841,11 +842,11 @@
# endif
#endif
-#ifdef AF_DECNET
+#ifdef AF_DECnet
# ifdef solaris2_0
# include <X11/dni8.h>
# else
-# undef AF_DECNET
+# undef AF_DECnet
# endif
#endif
@@ -954,7 +955,7 @@
#ifdef AF_APPLETALK
struct sockaddr_at at;
#endif
-#ifdef AF_DECNET
+#ifdef AF_DECnet
struct sockaddr_dn dn;
#endif
#ifdef AF_X25
@@ -10946,6 +10947,10 @@
else if (aSymbolOrInteger == @symbol(appletalk))
code = AF_APPLETALK;
#endif
+#ifdef AF_DECnet
+ else if (aSymbolOrInteger == @symbol(decnet))
+ code = AF_DECnet;
+#endif
if (code > 0)
domainCode = __MKSMALLINT(code);
@@ -10989,6 +10994,11 @@
domainSymbol = @symbol(appletalk);
break;
#endif
+#ifdef AF_DECnet
+ case AF_DECnet:
+ domainSymbol = @symbol(decnet);
+ break;
+#endif
}
}
%}.
@@ -11118,6 +11128,10 @@
else if (aSymbol == @symbol(appletalk))
size = sizeof(struct sockaddr_at);
#endif
+#ifdef AF_DECnet
+ else if (aSymbol == @symbol(decnet))
+ size = sizeof(struct sockaddr_dn);
+#endif
if (size > 0)
socketSize = __MKSMALLINT(size);
@@ -11555,21 +11569,22 @@
if (hp == 0) {
switch (h_errno) {
case HOST_NOT_FOUND:
- error = @symbol(unknownHost);
+ errorString = @symbol(unknownHost);
break;
case NO_ADDRESS:
- error = @symbol(noAddress);
+ errorString = @symbol(noAddress);
break;
case NO_RECOVERY:
- error = @symbol(permanentFailure);
+ errorString = @symbol(permanentFailure);
break;
case TRY_AGAIN:
- error = @symbol(tryAgain);
+ errorString = @symbol(tryAgain);
break;
default:
- error = @symbol(unknownError);
+ errorString = @symbol(unknownError);
+ break;
}
- errorString = __MKSTRING(hstrerror(h_errno));
+ error = __mkSmallInteger(h_errno);
goto err;
}
# else /* !USE_H_ERRNO */
@@ -11789,73 +11804,76 @@
goto err;
}
# else /* ! NI_NUMERICHOST */
- /*
- * Do it using gethostbyaddr()
- */
-
- struct sockaddr_in *sa;
- if (__byteArraySize(socketAddress) < sizeof(*sa)) {
- error = @symbol(badArgument1);
- goto err;
- }
- sa = (struct sockaddr_in *)__byteArrayVal(socketAddress);
-
- if (sp) {
- struct servent *servp;
- char *__proto = 0;
-
- __proto = (useDatagram == true ? "udp" : "tcp");
-
- servp = getservbyport(sa->sin_port, __proto);
- if (servp) {
- sp = servp->s_name;
- }
- }
- if (hp) {
- struct hostent *hostp;
-# ifdef USE_H_ERRNO
- do {
- /* __BEGIN_INTERRUPTABLE__ is dangerous, because gethostbyname
- * uses a static data area
- */
- hostp = gethostbyaddr((char *)&sa->sin_addr, sizeof(sa->sin_addr), AF_INET);
- } while ((hp == NULL)
- && ((h_errno == TRY_AGAIN)
- || errno == EINTR
-# ifdef IRIX5_3
- || (errno == ECONNREFUSED)
-# endif
- )
- );
- if (hp == 0) {
- switch (h_errno) {
- case HOST_NOT_FOUND:
- error = @symbol(unknownHost);
- break;
- case NO_ADDRESS:
- error = @symbol(noAddress);
- break;
- case NO_RECOVERY:
- error = @symbol(permanentFailure);
- break;
- case TRY_AGAIN:
- error = @symbol(tryAgain);
- break;
- default:
- error = @symbol(unknownError);
- }
- errorString = __MKSTRING(hstrerror(h_errno));
- goto err;
- }
-# else /* !USE_H_ERRNO */
- hostp = gethostbyaddr(sa->sin_addr, sizeof(sa->sin_addr), AF_INET);
- if (hostp == 0) {
- errorString = @symbol(unknownHost);
- error = __mkSmallInteger(-1);
+ {
+ /*
+ * Do it using gethostbyaddr()
+ */
+ struct sockaddr_in *sa;
+
+ if (__byteArraySize(socketAddress) < sizeof(*sa)) {
+ error = @symbol(badArgument1);
goto err;
}
+ sa = (struct sockaddr_in *)__byteArrayVal(socketAddress);
+
+ if (sp) {
+ struct servent *servp;
+ char *__proto = 0;
+
+ __proto = (useDatagram == true ? "udp" : "tcp");
+
+ servp = getservbyport(sa->sin_port, __proto);
+ if (servp) {
+ sp = servp->s_name;
+ }
+ }
+ if (hp) {
+ struct hostent *hostp;
+# ifdef USE_H_ERRNO
+ do {
+ /* __BEGIN_INTERRUPTABLE__ is dangerous, because gethostbyname
+ * uses a static data area
+ */
+ hostp = gethostbyaddr((char *)&sa->sin_addr, sizeof(sa->sin_addr), AF_INET);
+ } while ((hp == NULL)
+ && ((h_errno == TRY_AGAIN)
+ || errno == EINTR
+# ifdef IRIX5_3
+ || (errno == ECONNREFUSED)
+# endif
+ )
+ );
+ if (hp == 0) {
+ switch (h_errno) {
+ case HOST_NOT_FOUND:
+ errorString = @symbol(unknownHost);
+ break;
+ case NO_ADDRESS:
+ errorString = @symbol(noAddress);
+ break;
+ case NO_RECOVERY:
+ errorString = @symbol(permanentFailure);
+ break;
+ case TRY_AGAIN:
+ errorString = @symbol(tryAgain);
+ break;
+ default:
+ errorString = @symbol(unknownError);
+ break;
+ }
+ error = __mkSmallInteger(h_errno);
+ goto err;
+ }
+# else /* !USE_H_ERRNO */
+ hostp = gethostbyaddr(sa->sin_addr, sizeof(sa->sin_addr), AF_INET);
+ if (hostp == 0) {
+ errorString = @symbol(unknownHost);
+ error = __mkSmallInteger(-1);
+ goto err;
+ }
# endif /* !USE_H_ERRNO*/
- hp = hostp->h_name;
+ hp = hostp->h_name;
+ }
}
# endif /* ! NI_NUMERICHOST */
@@ -12744,7 +12762,7 @@
!UnixOperatingSystem class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/UnixOperatingSystem.st,v 1.153 2003-04-03 12:48:50 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/UnixOperatingSystem.st,v 1.154 2003-04-04 12:20:58 cg Exp $'
! !
UnixOperatingSystem initialize!