summaryrefslogtreecommitdiffstats
path: root/qemu/roms/openbios/include/libc
diff options
context:
space:
mode:
authorYang Zhang <yang.z.zhang@intel.com>2015-08-28 09:58:54 +0800
committerYang Zhang <yang.z.zhang@intel.com>2015-09-01 12:44:00 +0800
commite44e3482bdb4d0ebde2d8b41830ac2cdb07948fb (patch)
tree66b09f592c55df2878107a468a91d21506104d3f /qemu/roms/openbios/include/libc
parent9ca8dbcc65cfc63d6f5ef3312a33184e1d726e00 (diff)
Add qemu 2.4.0
Change-Id: Ic99cbad4b61f8b127b7dc74d04576c0bcbaaf4f5 Signed-off-by: Yang Zhang <yang.z.zhang@intel.com>
Diffstat (limited to 'qemu/roms/openbios/include/libc')
-rw-r--r--qemu/roms/openbios/include/libc/byteorder.h61
-rw-r--r--qemu/roms/openbios/include/libc/diskio.h33
-rw-r--r--qemu/roms/openbios/include/libc/stdlib.h26
-rw-r--r--qemu/roms/openbios/include/libc/string.h105
-rw-r--r--qemu/roms/openbios/include/libc/vsprintf.h35
5 files changed, 260 insertions, 0 deletions
diff --git a/qemu/roms/openbios/include/libc/byteorder.h b/qemu/roms/openbios/include/libc/byteorder.h
new file mode 100644
index 000000000..4ac9562f4
--- /dev/null
+++ b/qemu/roms/openbios/include/libc/byteorder.h
@@ -0,0 +1,61 @@
+/* tag: byteorder prototypes
+ *
+ * Copyright (C) 2004 Stefan Reinauer
+ *
+ * see the file "COPYING" for further information about
+ * the copyright and warranty status of this work.
+ */
+#ifndef __BYTEORDER_H
+#define __BYTEORDER_H
+
+#define __bswap32(x) \
+ ((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | \
+ (((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24))
+
+#define __bswap16(x) ((((x) & 0xff00) >> 8) | (((x) & 0x00ff) << 8))
+
+#define __bswap64(x) ( (__bswap32( (x) >> 32)) | \
+ (__bswap32((x) & 0xffffffff) << 32) )
+
+#ifdef CONFIG_LITTLE_ENDIAN
+#define __cpu_to_le64(x) ((u64) (x))
+#define __le64_to_cpu(x) ((u64) (x))
+#define __cpu_to_le32(x) ((u32) (x))
+#define __le32_to_cpu(x) ((u32) (x))
+#define __cpu_to_le16(x) ((u16) (x))
+#define __le16_to_cpu(x) ((u16) (x))
+#define __cpu_to_be64(x) (__bswap64((u64) (x)))
+#define __be64_to_cpu(x) (__bswap64((u64) (x)))
+#define __cpu_to_be32(x) (__bswap32((u32) (x)))
+#define __be32_to_cpu(x) (__bswap32((u32) (x)))
+#define __cpu_to_be16(x) (__bswap16((u16) (x)))
+#define __be16_to_cpu(x) (__bswap16((u16) (x)))
+#endif
+#ifdef CONFIG_BIG_ENDIAN
+#define __cpu_to_le64(x) (__bswap64((u64) (x)))
+#define __le64_to_cpu(x) (__bswap64((u64) (x)))
+#define __cpu_to_le32(x) (__bswap32((u32) (x)))
+#define __le32_to_cpu(x) (__bswap32((u32) (x)))
+#define __cpu_to_le16(x) (__bswap16((u16) (x)))
+#define __le16_to_cpu(x) (__bswap16((u16) (x)))
+#define __cpu_to_be64(x) ((u64) (x))
+#define __be64_to_cpu(x) ((u64) (x))
+#define __cpu_to_be32(x) ((u32) (x))
+#define __be32_to_cpu(x) ((u32) (x))
+#define __cpu_to_be16(x) ((u16) (x))
+#define __be16_to_cpu(x) ((u16) (x))
+#endif
+
+#if BITS==32
+#define __becell_to_cpu(x) (__be32_to_cpu(x))
+#define __lecell_to_cpu(x) (__le32_to_cpu(x))
+#define __cpu_to_becell(x) (__cpu_to_be32(x))
+#define __cpu_to_lecell(x) (__cpu_to_le32(x))
+#else
+#define __becell_to_cpu(x) (__be64_to_cpu(x))
+#define __lecell_to_cpu(x) (__le64_to_cpu(x))
+#define __cpu_to_becell(x) (__cpu_to_be64(x))
+#define __cpu_to_lecell(x) (__cpu_to_le64(x))
+#endif
+
+#endif
diff --git a/qemu/roms/openbios/include/libc/diskio.h b/qemu/roms/openbios/include/libc/diskio.h
new file mode 100644
index 000000000..3a5abb658
--- /dev/null
+++ b/qemu/roms/openbios/include/libc/diskio.h
@@ -0,0 +1,33 @@
+/*
+ * Creation Date: <2003/12/20 00:57:01 samuel>
+ * Time-stamp: <2004/01/07 19:32:29 samuel>
+ *
+ * <diskio.h>
+ *
+ *
+ *
+ * Copyright (C) 2003, 2004 Samuel Rydh (samuel@ibrium.se)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * version 2
+ *
+ */
+
+#ifndef _H_DISKIO
+#define _H_DISKIO
+
+extern int open_ih( ihandle_t ih );
+extern int open_io( const char *spec );
+extern int close_io( int fd );
+extern int read_io( int fd, void *buf, size_t cnt );
+extern int seek_io( int fd, long long offs );
+extern long long tell( int fd );
+extern int reopen( int fd, const char *filename );
+extern int reopen_nwrom( int fd );
+extern ihandle_t get_ih_from_fd( int fd );
+const char *get_file_path( int fd );
+const char *get_fstype( int fd );
+const char *get_volume_name( int fd );
+
+#endif /* _H_DISKIO */
diff --git a/qemu/roms/openbios/include/libc/stdlib.h b/qemu/roms/openbios/include/libc/stdlib.h
new file mode 100644
index 000000000..ef08838d6
--- /dev/null
+++ b/qemu/roms/openbios/include/libc/stdlib.h
@@ -0,0 +1,26 @@
+/*
+ * Creation Date: <2003/12/19 18:52:20 samuel>
+ * Time-stamp: <2003/12/19 18:52:21 samuel>
+ *
+ * <stdlib.h>
+ *
+ *
+ * Copyright (C) 2003 Samuel Rydh (samuel@ibrium.se)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * version 2
+ *
+ */
+
+#ifndef _H_STDLIB
+#define _H_STDLIB
+
+extern void *malloc( int size );
+extern void free( void *ptr );
+extern void *realloc( void *ptr, size_t size );
+
+/* should perhaps go somewhere else... */
+extern void qsort( void *base, size_t nmemb, size_t size, int (*compar)(const void*, const void*));
+
+#endif /* _H_STDLIB */
diff --git a/qemu/roms/openbios/include/libc/string.h b/qemu/roms/openbios/include/libc/string.h
new file mode 100644
index 000000000..0e72f8d73
--- /dev/null
+++ b/qemu/roms/openbios/include/libc/string.h
@@ -0,0 +1,105 @@
+/*
+ * Creation Date: <2002/10/12 20:41:57 samuel>
+ * Time-stamp: <2003/10/25 12:51:22 samuel>
+ *
+ * <string.h>
+ *
+ * string library functions
+ *
+ * Copyright (C) 2002, 2003 Samuel Rydh (samuel@ibrium.se)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation
+ *
+ */
+
+#ifndef _H_STRING
+#define _H_STRING
+
+#include "config.h"
+
+#define bzero(s,n) memset( s, 0, n )
+#define atol(nptr) strtol(nptr, NULL, 10 )
+
+extern long strtol( const char *nptr, char **endptr, int base );
+extern long long int strtoll( const char *nptr, char **endptr, int base );
+
+
+extern int strnicmp(const char *s1, const char *s2, size_t len);
+extern char *strcpy(char * dest,const char *src);
+extern char *strncpy(char * dest,const char *src,size_t count);
+extern char *strcat(char * dest, const char * src);
+extern char *strncat(char *dest, const char *src, size_t count);
+extern int strcmp(const char * cs,const char * ct);
+extern int strncmp(const char * cs,const char * ct,size_t count);
+extern char *strchr(const char * s, int c);
+extern char *strrchr(const char * s, int c);
+extern size_t strlen(const char * s);
+extern size_t strnlen(const char * s, size_t count);
+extern char *strpbrk(const char * cs,const char * ct);
+extern char *strsep(char **s, const char *ct);
+extern void *memset(void * s,int c,size_t count);
+extern void *memcpy(void * dest,const void *src,size_t count);
+extern void *memmove(void * dest,const void *src,size_t count);
+extern int memcmp(const void * cs,const void * ct,size_t count);
+
+extern char *strdup( const char *str );
+extern int strcasecmp( const char *cs, const char *ct );
+extern int strncasecmp( const char *cs, const char *ct, size_t count );
+
+extern char *strncpy_nopad( char *dest, const char *src, size_t n );
+
+#define _U 0x01 /* upper */
+#define _L 0x02 /* lower */
+#define _D 0x04 /* digit */
+#define _C 0x08 /* cntrl */
+#define _P 0x10 /* punct */
+#define _S 0x20 /* white space (space/lf/tab) */
+#define _X 0x40 /* hex digit */
+#define _SP 0x80 /* hard space (0x20) */
+
+extern const unsigned char _ctype[];
+
+#define __ismask(x) (_ctype[(int)(unsigned char)(x)])
+
+#define isalnum(c) ((__ismask(c)&(_U|_L|_D)) != 0)
+#define isalpha(c) ((__ismask(c)&(_U|_L)) != 0)
+#define iscntrl(c) ((__ismask(c)&(_C)) != 0)
+#define isdigit(c) ((__ismask(c)&(_D)) != 0)
+#define isgraph(c) ((__ismask(c)&(_P|_U|_L|_D)) != 0)
+#define islower(c) ((__ismask(c)&(_L)) != 0)
+#define isprint(c) ((__ismask(c)&(_P|_U|_L|_D|_SP)) != 0)
+#define ispunct(c) ((__ismask(c)&(_P)) != 0)
+#define isspace(c) ((__ismask(c)&(_S)) != 0)
+#define isupper(c) ((__ismask(c)&(_U)) != 0)
+#define isxdigit(c) ((__ismask(c)&(_D|_X)) != 0)
+
+#define isascii(c) (((unsigned char)(c))<=0x7f)
+#define toascii(c) (((unsigned char)(c))&0x7f)
+
+
+static inline unsigned char __tolower(unsigned char c) {
+ if (isupper(c))
+ c -= 'A'-'a';
+ return c;
+}
+
+static inline unsigned char __toupper(unsigned char c) {
+ if (islower(c))
+ c -= 'a'-'A';
+ return c;
+}
+
+#define tolower(c) __tolower(c)
+#define toupper(c) __toupper(c)
+
+extern int errno_int;
+
+// Propolice support
+extern long __guard[8];
+
+void __stack_smash_handler(const char *func, int damaged);
+void __stack_chk_fail(void);
+
+#endif /* _H_STRING */
diff --git a/qemu/roms/openbios/include/libc/vsprintf.h b/qemu/roms/openbios/include/libc/vsprintf.h
new file mode 100644
index 000000000..4852274fc
--- /dev/null
+++ b/qemu/roms/openbios/include/libc/vsprintf.h
@@ -0,0 +1,35 @@
+/*
+ * Creation Date: <2003/12/20 01:51:22 samuel>
+ * Time-stamp: <2004/01/07 19:02:17 samuel>
+ *
+ * <vsprintf.h>
+ *
+ *
+ *
+ * Copyright (C) 2003, 2004 Samuel Rydh (samuel@ibrium.se)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * version 2
+ *
+ */
+
+#ifndef _H_VSPRINTF
+#define _H_VSPRINTF
+
+#include <stdarg.h>
+#include "config.h"
+
+int vsprintf(char *buf, const char *fmt, va_list args)
+ __attribute__((__format__(__printf__, 2, 0)));
+int sprintf(char * buf, const char *fmt, ...)
+ __attribute__((__format__(__printf__, 2, 3)));
+int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
+ __attribute__((__format__(__printf__, 3, 0)));
+int snprintf(char * buf, size_t size, const char *fmt, ...)
+ __attribute__((__format__(__printf__, 3, 4)));
+
+int forth_printf(const char *fmt, ...)
+ __attribute__((__format__(__printf__, 1, 2)));
+
+#endif /* _H_VSPRINTF */