AROS: implement their weird errno handling

libnfs-4.0.0-vitalif
Ronnie Sahlberg 2013-04-13 04:13:05 -07:00
parent e267bb128c
commit f95e1d1108
1 changed files with 13 additions and 0 deletions

View File

@ -9,6 +9,8 @@
#include <sys/socket.h>
#include <netdb.h>
#include "aros_compat.h"
#include <errno.h>
#include <bsdsocket/socketbasetags.h>
#undef poll
@ -77,12 +79,23 @@ int minor(int i)
struct Library * SocketBase = NULL;
extern int errno;
int h_errno = 0;
void aros_init_socket(void)
{
if (!(SocketBase = OpenLibrary("bsdsocket.library", 4))) {
printf("NoTCP/IP Stack available");
exit(10);
}
if (SocketBaseTags(SBTM_SETVAL(SBTC_ERRNOPTR(sizeof(errno))),
(IPTR)&errno,
SBTM_SETVAL(SBTC_HERRNOLONGPTR),
(IPTR)&h_errno, TAG_DONE)) {
printf("Failed to set ERRNO");
exit(10);
}
}
int aros_poll(struct pollfd *fds, unsigned int nfds, int timo)