/*
* String library
* Copyright (c) 2001,2004 David H. Hovemeyer <daveho@cs.umd.edu>
- * $Revision: 1.1 $
+ * $Revision: 1.2 $
*
* This is free software. You are permitted to use,
* redistribute, and modify it as specified in the file "COPYING".
#include <stddef.h>
+/* Definition of the control structure for streams
+*/
+typedef struct file_struct {
+ short level; /* fill/empty level of buffer */
+ unsigned flags; /* File status flags */
+ char fd; /* File descriptor */
+ unsigned char hold; /* Ungetc char if no buffer */
+ short bsize; /* Buffer size */
+ unsigned char *buffer; /* Data transfer buffer */
+ unsigned char *curp; /* Current active pointer */
+ unsigned istemp; /* Temporary file indicator */
+ short token; /* Used for validity checking */
+} FILE;
+
void* memset(void* s, int c, size_t n);
void* memcpy(void *dst, const void* src, size_t n);
void *memmove(void *dst, const void *src, size_t n);
char *strchr(const char *s, int c);
char *strrchr(const char *s, int c);
char *strpbrk(const char *s, const char *accept);
+char *strncat(char *s1, const char *s2, size_t limit);
+int fprintf(FILE *file, char *fmt, ...);
+//int fflush(FILE *file);
+
+void abort (void) __attribute__ ((__noreturn__));
+#define _tolower(c) ((c) + 'a' - 'A')
+
+int tolower(int ch);
/* Note: The ISO C standard puts this in <stdio.h>, but we don't
* have that header in GeekOS (yet). */
int snprintf(char *s, size_t size, const char *fmt, ...)
__attribute__ ((__format__ (__printf__, 3, 4)));
+
#endif /* STRING_H */
+