summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--init.c2
-rw-r--r--memcpy.c2
-rw-r--r--memset.c2
-rw-r--r--printf.c4
-rw-r--r--protos.h30
5 files changed, 28 insertions, 12 deletions
diff --git a/init.c b/init.c
index b53bab6..429a9ad 100644
--- a/init.c
+++ b/init.c
@@ -18,8 +18,6 @@
along with this program; see the file COPYING. If not see
<http://www.gnu.org/licenses/>. */
-#include <string.h>
-#include <stddef.h>
#include "hwrpb.h"
#include "osf.h"
#include "ioport.h"
diff --git a/memcpy.c b/memcpy.c
index b6bbb74..9e1e913 100644
--- a/memcpy.c
+++ b/memcpy.c
@@ -8,7 +8,7 @@
* This is a reasonably optimized memcpy() routine.
*/
-#include <string.h>
+#include "protos.h"
/*
* Note that the C code is written to be optimized into good assembly. However,
diff --git a/memset.c b/memset.c
index e8481dc..f9b0a6d 100644
--- a/memset.c
+++ b/memset.c
@@ -19,7 +19,7 @@
<http://www.gnu.org/licenses/>. */
-#include <string.h>
+#include "protos.h"
void *memset(void *optr, int ival, unsigned long size)
{
diff --git a/printf.c b/printf.c
index 469b82c..0e1e128 100644
--- a/printf.c
+++ b/printf.c
@@ -18,10 +18,8 @@
along with this program; see the file COPYING. If not see
<http://www.gnu.org/licenses/>. */
-#include <stdarg.h>
-#include <stdbool.h>
-#include <string.h>
#include "console.h"
+#include "protos.h"
static int print_buf_pad(char *buf, int buflen, char *p, int width, int pad)
{
diff --git a/protos.h b/protos.h
index 3ed1381..0d90be8 100644
--- a/protos.h
+++ b/protos.h
@@ -21,11 +21,31 @@
#ifndef PROTOS_H
#define PROTOS_H 1
-#include <stdint.h>
-#include <stdbool.h>
-#include <stddef.h>
-#include <string.h>
-
+/* Stand-alone definitions for various types, compatible with
+ the Alpha Linux ABI and GCC. This eliminates dependencies
+ on external headers. */
+typedef unsigned char uint8_t;
+typedef unsigned short uint16_t;
+typedef unsigned int uint32_t;
+typedef unsigned long uint64_t;
+typedef unsigned long size_t;
+
+#define bool _Bool
+#define true 1
+#define false 0
+
+#define offsetof(type, member) __builtin_offsetof(type, member)
+
+typedef __builtin_va_list va_list;
+#define va_start(ap, last) __builtin_va_start((ap), (last))
+#define va_arg __builtin_va_arg
+#define va_end(ap) __builtin_va_end(ap)
+
+#define NULL ((void *)0)
+
+extern void *memset(void *, int, size_t);
+extern void *memcpy(void *, const void *, size_t);
+extern size_t strlen(const char *);
/*
* Call_Pal functions.