AROS more stuff. The listservers example now compiles and links
it sends packets to the host but something is still not working.libnfs-4.0.0-vitalif
parent
2cdf4fcb07
commit
f69bd55482
|
@ -1,6 +1,6 @@
|
|||
AR=ar
|
||||
CC=gcc
|
||||
CFLAGS=-g -O0 -DAROS=1 -D_U_=" " -I. -Iinclude -Iinclude/nfsc -Iaros -Infs -Imount
|
||||
CFLAGS=-g -O0 -DAROS=1 -D_U_=" " -DHAVE_SOCKADDR_LEN -I. -Iinclude -Iinclude/nfsc -Iaros -Infs -Imount
|
||||
|
||||
OBJS=lib/init.o lib/libnfs.o lib/libnfs-sync.o lib/libnfs-zdr.o lib/pdu.o lib/socket.o
|
||||
OBJS+=mount/mount.o mount/libnfs-raw-mount.o
|
|
@ -1,32 +1,71 @@
|
|||
/*
|
||||
Copyright (C) 2013 by Ronnie Sahlberg <ronniesahlberg@gmail.com>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation; either version 2.1 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifdef AROS
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdring.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netdb.h>
|
||||
#include "aros_compat.h"
|
||||
|
||||
#undef poll
|
||||
|
||||
/* unix device major/minor numbers dont make much sense on amiga */
|
||||
int aros_getnameinfo(const struct sockaddr *sa, socklen_t salen,
|
||||
char *host, size_t hostlen,
|
||||
char *serv, size_t servlen, int flags)
|
||||
{
|
||||
struct sockaddr_in *sin = (struct sockaddr_in *)sa;
|
||||
|
||||
if (host) {
|
||||
snprintf(host, hostlen, Inet_NtoA(sin->sin_addr.s_addr));
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int aros_getaddrinfo(const char *node, const char*service,
|
||||
const struct addrinfo *hints,
|
||||
struct addrinfo **res)
|
||||
{
|
||||
struct sockaddr_in *sin;
|
||||
|
||||
sin = malloc(sizeof(struct sockaddr_in));
|
||||
sin->sin_len = sizeof(struct sockaddr_in);
|
||||
sin->sin_family=AF_INET;
|
||||
|
||||
/* Some error checking would be nice */
|
||||
sin->sin_addr.s_addr = inet_addr(node);
|
||||
|
||||
sin->sin_port=0;
|
||||
if (service) {
|
||||
sin->sin_port=atoi(service);
|
||||
}
|
||||
|
||||
*res = malloc(sizeof(struct addrinfo));
|
||||
|
||||
(*res)->ai_family = AF_INET;
|
||||
(*res)->ai_addrlen = sizeof(struct sockaddr_in);
|
||||
(*res)->ai_addr = (struct sockaddr *)sin;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void aros_freeaddrinfo(struct addrinfo *res)
|
||||
{
|
||||
free(res->ai_addr);
|
||||
free(res);
|
||||
}
|
||||
|
||||
int aros_inet_pton(int af, char *src, void *dst)
|
||||
{
|
||||
printf("No inet_pton yet");
|
||||
exit(10);
|
||||
}
|
||||
|
||||
|
||||
/* unix device numbers dont really make much sense on aros ... */
|
||||
int major(int i)
|
||||
{
|
||||
return 1;
|
||||
|
@ -41,7 +80,7 @@ struct Library * SocketBase = NULL;
|
|||
void aros_init_socket(void)
|
||||
{
|
||||
if (!(SocketBase = OpenLibrary("bsdsocket.library", 4))) {
|
||||
printf("No TCP/IP stack available.\n");
|
||||
printf("NoTCP/IP Stack available");
|
||||
exit(10);
|
||||
}
|
||||
}
|
||||
|
@ -107,3 +146,4 @@ int aros_poll(struct pollfd *fds, unsigned int nfds, int timo)
|
|||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -10,6 +10,11 @@
|
|||
#define ioctl IoctlSocket
|
||||
#define close CloseSocket
|
||||
|
||||
#define inet_pton aros_inet_pton
|
||||
#define freeaddrinfo aros_freeaddrinfo
|
||||
#define getnameinfo aros_getnameinfo
|
||||
#define getaddrinfo aros_getaddrinfo
|
||||
|
||||
extern struct Library * SocketBase;
|
||||
|
||||
void aros_init_socket(void);
|
||||
|
|
Loading…
Reference in New Issue