summaryrefslogtreecommitdiffstats
path: root/loader/minilibc.h
diff options
context:
space:
mode:
authorJeremy Katz <katzj@redhat.com>2002-09-11 16:47:32 +0000
committerJeremy Katz <katzj@redhat.com>2002-09-11 16:47:32 +0000
commit4f3492ea7ce32b20203682598d5a05e70d05c884 (patch)
treeea1f49e2c609a663f330c6d56cd5a3c182ddc812 /loader/minilibc.h
parent0ea720379caa008c4d99f1021bb85baa07d0bd93 (diff)
downloadanaconda-4f3492ea7ce32b20203682598d5a05e70d05c884.tar.gz
anaconda-4f3492ea7ce32b20203682598d5a05e70d05c884.tar.xz
anaconda-4f3492ea7ce32b20203682598d5a05e70d05c884.zip
x86_64 minilibc fixups
* fix prototypes to be correct (mostly int/size_t differences) * x86_64 just has a single select and socket syscall instead of new and old * the sigset_t declaration is just true for i386
Diffstat (limited to 'loader/minilibc.h')
-rw-r--r--loader/minilibc.h20
1 files changed, 14 insertions, 6 deletions
diff --git a/loader/minilibc.h b/loader/minilibc.h
index 32bf3307a..f013ebb66 100644
--- a/loader/minilibc.h
+++ b/loader/minilibc.h
@@ -22,7 +22,7 @@ extern int errno;
/* from /usr/include/bits/sigset.h */
/* A `sigset_t' has a bit for each signal. */
-
+#if defined(__i386__)
#define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
typedef struct
{
@@ -31,6 +31,7 @@ typedef struct
/* from /usr/include/signal.h */
typedef __sigset_t sigset_t;
+#endif
/* Aieee, gcc 2.95+ creates a stub for posix_types.h on i386 which brings
glibc headers in and thus makes __FD_SET etc. not defined with 2.3+ kernels. */
@@ -50,9 +51,16 @@ typedef __sigset_t sigset_t;
#include <asm/signal.h>
#include <asm/stat.h>
-void * alloca(int size);
+void * alloca(size_t size);
void exit(int arg);
+/* x86_64 doesn't have some old crufty syscalls */
+#if defined(__x86_64__)
+#define __NR__newselect __NR_select
+#define __NR_socketcall __NR_socket
+#endif
+
+
#ifndef MINILIBC_INTERNAL
static inline _syscall5(int,mount,const char *,spec,const char *,dir,const char *,type,unsigned long,rwflag,const void *,data);
static inline _syscall5(int,_newselect,int,n,fd_set *,rd,fd_set *,wr,fd_set *,ex,struct timeval *,timeval);
@@ -123,15 +131,15 @@ inline int socket(int a, int b, int c);
inline int bind(int a, void * b, int c);
inline int listen(int a, int b);
inline int accept(int a, void * addr, void * addr2);
-int strlen(const char * string);
+size_t strlen(const char * string);
char * strcpy(char * dst, const char * src);
void * memcpy(void * dst, const void * src, size_t count);
void sleep(int secs);
int strcmp(const char * a, const char * b);
-int strncmp(const char * a, const char * b, int len);
+int strncmp(const char * a, const char * b, size_t len);
void printint(int i);
-void printf(char * fmt, ...);
+int printf(char * fmt, ...);
char * strchr(char * str, int ch);
-char * strncpy(char * dst, const char * src, int len);
+char * strncpy(char * dst, const char * src, size_t len);
void printstr(char * string);