summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Kling <awesomekling@gmail.com>2019-05-21 21:36:08 +0200
committerAndreas Kling <awesomekling@gmail.com>2019-05-21 21:36:08 +0200
commit4aef87a9a470dc8b229458a7834a56f88329bd38 (patch)
tree797fecb9f31a8f5b266481ce538121bc137f2ef1
parent08228f34b9b4f0e8d6b6115363d9123949663dda (diff)
downloadserenity-4aef87a9a470dc8b229458a7834a56f88329bd38.zip
LibC: First pass of compat work / stubs while trying to build OpenSSL.
-rw-r--r--LibC/memory.h1
-rw-r--r--LibC/netdb.h9
-rw-r--r--LibC/sys/resource.h32
-rw-r--r--LibC/sys/socket.h8
-rw-r--r--LibC/sys/un.h13
5 files changed, 57 insertions, 6 deletions
diff --git a/LibC/memory.h b/LibC/memory.h
new file mode 100644
index 0000000000..3b2f590027
--- /dev/null
+++ b/LibC/memory.h
@@ -0,0 +1 @@
+#include <string.h>
diff --git a/LibC/netdb.h b/LibC/netdb.h
index dde9beb1a2..492802f59b 100644
--- a/LibC/netdb.h
+++ b/LibC/netdb.h
@@ -16,4 +16,13 @@ struct hostent {
struct hostent *gethostbyname(const char*);
+struct servent {
+ char* s_name;
+ char** s_aliases;
+ int s_port;
+ char* s_proto;
+};
+
+struct servent* getservbyname(const char* name, const char* protocol);
+
__END_DECLS
diff --git a/LibC/sys/resource.h b/LibC/sys/resource.h
index e69de29bb2..7b21cf8e55 100644
--- a/LibC/sys/resource.h
+++ b/LibC/sys/resource.h
@@ -0,0 +1,32 @@
+#pragma once
+
+#include <sys/cdefs.h>
+#include <sys/time.h>
+
+__BEGIN_DECLS
+
+struct rusage {
+ struct timeval ru_utime;
+ struct timeval ru_stime;
+ long ru_maxrss;
+ long ru_ixrss;
+ long ru_idrss;
+ long ru_isrss;
+ long ru_minflt;
+ long ru_majflt;
+ long ru_nswap;
+ long ru_inblock;
+ long ru_oublock;
+ long ru_msgsnd;
+ long ru_msgrcv;
+ long ru_nsignals;
+ long ru_nvcsw;
+ long ru_nivcsw;
+};
+
+#define RUSAGE_SELF 1
+#define RUSAGE_CHILDREN 2
+
+int getrusage(int who, struct rusage *usage);
+
+__END_DECLS
diff --git a/LibC/sys/socket.h b/LibC/sys/socket.h
index 42123275ec..b1dc322e1b 100644
--- a/LibC/sys/socket.h
+++ b/LibC/sys/socket.h
@@ -3,6 +3,7 @@
#include <sys/cdefs.h>
#include <sys/types.h>
#include <stdint.h>
+#include <sys/un.h>
__BEGIN_DECLS
@@ -33,12 +34,6 @@ struct sockaddr {
char sa_data[14];
};
-#define UNIX_PATH_MAX 108
-struct sockaddr_un {
- uint16_t sun_family;
- char sun_path[UNIX_PATH_MAX];
-};
-
struct in_addr {
uint32_t s_addr;
};
@@ -56,6 +51,7 @@ struct sockaddr_in {
#define SO_RCVTIMEO 1
#define SO_SNDTIMEO 2
#define SO_KEEPALIVE 3
+#define SO_ERROR 4
int socket(int domain, int type, int protocol);
int bind(int sockfd, const struct sockaddr* addr, socklen_t);
diff --git a/LibC/sys/un.h b/LibC/sys/un.h
new file mode 100644
index 0000000000..551848f3b8
--- /dev/null
+++ b/LibC/sys/un.h
@@ -0,0 +1,13 @@
+#pragma once
+
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
+
+#define UNIX_PATH_MAX 108
+struct sockaddr_un {
+ uint16_t sun_family;
+ char sun_path[UNIX_PATH_MAX];
+};
+
+__END_DECLS