X-Git-Url: http://git.megacz.com/?p=nestedvm.git;a=blobdiff_plain;f=upstream%2Fmisc%2Fextraheaders.sh;h=61fe1631bd9807581ef53058e720ff38dafb6d80;hp=17d2612420e529271b1b3a865e43af86aea9dc26;hb=d63db5ad45b5fd3121c4cf267d08a67d60751fc2;hpb=0cf8e6919a91a0f39c1d6852328b8bd1cf68160b diff --git a/upstream/misc/extraheaders.sh b/upstream/misc/extraheaders.sh index 17d2612..61fe163 100755 --- a/upstream/misc/extraheaders.sh +++ b/upstream/misc/extraheaders.sh @@ -1,13 +1,14 @@ + #!/bin/sh -e -mkdir -p arpa netinet sys nestedvm +mkdir -p arpa netinet sys nestedvm net -for f in arpa/inet.h netdb.h netinet/in.h sys/socket.h; do - test -e $f || echo "#include " > $f +for f in arpa/inet.h netdb.h netinet/in.h sys/socket.h net/if.h; do + test -f $f || echo "#include " > $f done for f in getopt.h; do - test -e $f || echo "#include " > $f + test -f $f || echo "#include " > $f done cat <<__EOF__ > sys/ioctl.h @@ -369,12 +370,17 @@ cat <<__EOF__ > nestedvm/socket.h #define __NESTEDVM_SOCKETS_H #include +#include static unsigned short htons(int x) { return x; } static unsigned long htonl(int x) { return x; } static unsigned short ntohs(int x) { return x; } static unsigned long ntohl(int x) { return x; } +/* Note AF_UNIX isn't supported */ +#define AF_UNIX 1 +#define PF_UNIX AF_UNIX + #define AF_INET 2 #define PF_INET AF_INET @@ -390,12 +396,17 @@ static unsigned long ntohl(int x) { return x; } #define SO_REUSEADDR 0x0004 #define SO_KEEPALIVE 0x0008 +#define SO_BROADCAST 0x0020 +#define SO_TYPE 0x1008 #define SHUT_RD 0 #define SHUT_WR 1 #define SHUT_RDWR 2 #define INADDR_ANY 0 +#define INADDR_NONE -1 +#define INADDR_LOOPBACK 0x7f000001 +#define INADDR_BROADCAST 0xffffffff typedef unsigned long in_addr_t; typedef int socklen_t; @@ -417,6 +428,14 @@ struct sockaddr_in { struct in_addr sin_addr; }; +struct sockaddr_un { + u_char sun_len; + u_char sun_family; + char sun_path[256]; +}; + +#define SUN_LEN(su) (sizeof(*(su)) - sizeof((su)->sun_path) + strlen((su)->sun_path)) + struct servent { char *s_name; /* official name of service */ char **s_aliases; /* alias list */ @@ -443,7 +462,14 @@ int listen(int s, int backlog); int accept(int s, struct sockaddr *addr, socklen_t *addrlen); int shutdown(int s, int how); int connect(int s, const struct sockaddr *name, socklen_t namelen); + char *inet_ntoa(struct in_addr in); +in_addr_t inet_addr(const char *cp); +int inet_aton(const char *cp, struct in_addr *addr); + +int recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen); +int sendto(int s, const void *msg, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); +int select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); int getsockopt(int s, int level, int name, void *val, socklen_t *len); int setsockopt(int s, int level, int name, const void *val, socklen_t len);