add network headers, remove libnds dependencies
This commit is contained in:
parent
4beea43184
commit
a18cc37dfa
@ -1,6 +1,6 @@
|
|||||||
CC = arm-none-eabi-gcc
|
CC = arm-none-eabi-gcc
|
||||||
AR = arm-none-eabi-ar
|
AR = arm-none-eabi-ar
|
||||||
CFLAGS += -Wall -std=c99 -march=armv6 -O0 -I"$(CURDIR)/include/" -I$(DEVKITPRO)/libnds/include
|
CFLAGS += -Wall -std=c99 -march=armv6 -O0 -I"$(CURDIR)/include/"
|
||||||
|
|
||||||
CFILES = $(wildcard source/*.c)
|
CFILES = $(wildcard source/*.c)
|
||||||
OFILES = $(CFILES:source/%.c=build/%.o)
|
OFILES = $(CFILES:source/%.c=build/%.o)
|
||||||
|
24
libctru/include/netdb.h
Normal file
24
libctru/include/netdb.h
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
#ifndef NETDB_H
|
||||||
|
#define NETDB_H
|
||||||
|
|
||||||
|
struct hostent {
|
||||||
|
char * h_name;
|
||||||
|
char ** h_aliases;
|
||||||
|
int h_addrtype;
|
||||||
|
int h_length;
|
||||||
|
char ** h_addr_list;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
struct hostent * gethostbyname(const char * name);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#endif // NETDB_H
|
34
libctru/include/netinet/in.h
Normal file
34
libctru/include/netinet/in.h
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
#ifndef NETINET_IN_H
|
||||||
|
#define NETINET_IN_H
|
||||||
|
|
||||||
|
#include "sys/socket.h"
|
||||||
|
|
||||||
|
#define INADDR_ANY 0x00000000
|
||||||
|
#define INADDR_BROADCAST 0xFFFFFFFF
|
||||||
|
#define INADDR_NONE 0xFFFFFFFF
|
||||||
|
|
||||||
|
struct in_addr {
|
||||||
|
unsigned long s_addr;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct sockaddr_in {
|
||||||
|
unsigned short sin_family;
|
||||||
|
unsigned short sin_port;
|
||||||
|
struct in_addr sin_addr;
|
||||||
|
unsigned char sin_zero[8];
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// actually from arpa/inet.h - but is included through netinet/in.h
|
||||||
|
unsigned long inet_addr(const char *cp);
|
||||||
|
int inet_aton(const char *cp, struct in_addr *inp);
|
||||||
|
char *inet_ntoa(struct in_addr in);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // NETINET_IN_H
|
0
libctru/include/netinet/tcp.h
Normal file
0
libctru/include/netinet/tcp.h
Normal file
119
libctru/include/sys/socket.h
Normal file
119
libctru/include/sys/socket.h
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
#ifndef SYS_SOCKET_H
|
||||||
|
#define SYS_SOCKET_H
|
||||||
|
|
||||||
|
#include <sys/time.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Level number for (get/set)sockopt() to apply to socket itself.
|
||||||
|
*/
|
||||||
|
#define SOL_SOCKET 0xfff /* options for socket level */
|
||||||
|
# define SOL_TCP 6 /* TCP level */
|
||||||
|
|
||||||
|
#define PF_UNSPEC 0
|
||||||
|
#define PF_INET 2
|
||||||
|
#define PF_INET6 10
|
||||||
|
|
||||||
|
#define AF_UNSPEC PF_UNSPEC
|
||||||
|
#define AF_INET PF_INET
|
||||||
|
#define AF_INET6 PF_INET6
|
||||||
|
|
||||||
|
#define SOCK_STREAM 1
|
||||||
|
#define SOCK_DGRAM 2
|
||||||
|
|
||||||
|
// need to sync FIO* values with commonly accepted ones sometime
|
||||||
|
#define FIONBIO 1
|
||||||
|
#define FIONREAD 2
|
||||||
|
|
||||||
|
#define SOCKET_ERROR -1
|
||||||
|
|
||||||
|
// send()/recv()/etc flags
|
||||||
|
// at present, only MSG_PEEK is implemented though.
|
||||||
|
#define MSG_WAITALL 0x40000000
|
||||||
|
#define MSG_TRUNC 0x20000000
|
||||||
|
#define MSG_PEEK 0x10000000
|
||||||
|
#define MSG_OOB 0x08000000
|
||||||
|
#define MSG_EOR 0x04000000
|
||||||
|
#define MSG_DONTROUTE 0x02000000
|
||||||
|
#define MSG_CTRUNC 0x01000000
|
||||||
|
|
||||||
|
// shutdown() flags:
|
||||||
|
#define SHUT_RD 1
|
||||||
|
#define SHUT_WR 2
|
||||||
|
#define SHUT_RDWR 3
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Option flags per-socket.
|
||||||
|
*/
|
||||||
|
#define SO_DEBUG 0x0001 /* turn on debugging info recording */
|
||||||
|
#define SO_ACCEPTCONN 0x0002 /* socket has had listen() */
|
||||||
|
#define SO_REUSEADDR 0x0004 /* allow local address reuse */
|
||||||
|
#define SO_KEEPALIVE 0x0008 /* keep connections alive */
|
||||||
|
#define SO_DONTROUTE 0x0010 /* just use interface addresses */
|
||||||
|
#define SO_BROADCAST 0x0020 /* permit sending of broadcast msgs */
|
||||||
|
#define SO_USELOOPBACK 0x0040 /* bypass hardware when possible */
|
||||||
|
#define SO_LINGER 0x0080 /* linger on close if data present */
|
||||||
|
#define SO_OOBINLINE 0x0100 /* leave received OOB data in line */
|
||||||
|
#define SO_REUSEPORT 0x0200 /* allow local address & port reuse */
|
||||||
|
|
||||||
|
#define SO_DONTLINGER (int)(~SO_LINGER)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Additional options, not kept in so_options.
|
||||||
|
*/
|
||||||
|
#define SO_SNDBUF 0x1001 /* send buffer size */
|
||||||
|
#define SO_RCVBUF 0x1002 /* receive buffer size */
|
||||||
|
#define SO_SNDLOWAT 0x1003 /* send low-water mark */
|
||||||
|
#define SO_RCVLOWAT 0x1004 /* receive low-water mark */
|
||||||
|
#define SO_SNDTIMEO 0x1005 /* send timeout */
|
||||||
|
#define SO_RCVTIMEO 0x1006 /* receive timeout */
|
||||||
|
#define SO_ERROR 0x1007 /* get error status and clear */
|
||||||
|
#define SO_TYPE 0x1008 /* get socket type */
|
||||||
|
|
||||||
|
struct sockaddr {
|
||||||
|
unsigned short sa_family;
|
||||||
|
char sa_data[14];
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifndef ntohs
|
||||||
|
#define ntohs(num) htons(num)
|
||||||
|
#define ntohl(num) htonl(num)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int socket(int domain, int type, int protocol);
|
||||||
|
int bind(int socket, const struct sockaddr * addr, int addr_len);
|
||||||
|
int connect(int socket, const struct sockaddr * addr, int addr_len);
|
||||||
|
int send(int socket, const void * data, int sendlength, int flags);
|
||||||
|
int recv(int socket, void * data, int recvlength, int flags);
|
||||||
|
int sendto(int socket, const void * data, int sendlength, int flags, const struct sockaddr * addr, int addr_len);
|
||||||
|
int recvfrom(int socket, void * data, int recvlength, int flags, struct sockaddr * addr, int * addr_len);
|
||||||
|
int listen(int socket, int max_connections);
|
||||||
|
int accept(int socket, struct sockaddr * addr, int * addr_len);
|
||||||
|
int shutdown(int socket, int shutdown_type);
|
||||||
|
int closesocket(int socket);
|
||||||
|
|
||||||
|
int ioctl(int socket, long cmd, void * arg);
|
||||||
|
|
||||||
|
int setsockopt(int socket, int level, int option_name, const void * data, int data_len);
|
||||||
|
int getsockopt(int socket, int level, int option_name, void * data, int * data_len);
|
||||||
|
|
||||||
|
int getpeername(int socket, struct sockaddr *addr, int * addr_len);
|
||||||
|
int getsockname(int socket, struct sockaddr *addr, int * addr_len);
|
||||||
|
|
||||||
|
int gethostname(char *name, size_t len);
|
||||||
|
int sethostname(const char *name, size_t len);
|
||||||
|
|
||||||
|
unsigned short htons(unsigned short num);
|
||||||
|
unsigned long htonl(unsigned long num);
|
||||||
|
|
||||||
|
extern int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *errorfds, struct timeval *timeout);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#endif // SYS_SOCKET_H
|
Loading…
Reference in New Issue
Block a user