mm: 9ns: Add support for mmap
[akaros.git] / kern / include / string.h
index 59a7f93..e280389 100644 (file)
@@ -1,25 +1,43 @@
-#ifndef ROS_INC_STRING_H
-#define ROS_INC_STRING_H
+#pragma once
 
-#include <arch/types.h>
+#include <ros/common.h>
 
 int    strlen(const char *s);
 int    strnlen(const char *s, size_t size);
-char * strcpy(char *dst, const char *src);
-char * strcat(char *dst, const char *src);
-char * strncpy(char *dst, const char *src, size_t size);
+char *strstr(const char *s1, const char *s2);
+
+/* zra : These aren't being used, and they are dangerous, so I'm rm'ing them
+STRING strcpy(STRING dst, const STRING src);
+STRING strcat(STRING dst, const STRING src);
+*/
+char *strncpy(char *dst, const char *src, size_t size);
 size_t strlcpy(char *dst, const char *src, size_t size);
+size_t strlcat(char *dst, const char *src, size_t size);
 int    strcmp(const char *s1, const char *s2);
 int    strncmp(const char *s1, const char *s2, size_t size);
-char * strchr(const char *s, char c);
-char * strfind(const char *s, char c);
+int cistrcmp(char *s1, char *s2);
+char *strchr(const char *s, char c);
+char *strrchr(const char *s, char c);
+char *strfind(const char *s, char c);
+
+void *memset(void* p, int what, size_t sz);
+int   memcmp(const void* s1, const void* s2, size_t sz);
+void *memcpy(void* dst, const void* src, size_t sz);
+void *memmove(void *dst, const void* src, size_t sz);
+void *memchr(const void *mem, int chr, int len);
 
-void * memset(void *dst, int c, size_t len);
-void * memcpy(void *dst, const void *src, size_t len);
-void * memmove(void *dst, const void *src, size_t len);
-int    memcmp(const void *s1, const void *s2, size_t len);
-void * memfind(const void *s, int c, size_t len);
+void *memfind(const void *s, int c, size_t len);
 
 long   strtol(const char *s, char **endptr, int base);
+unsigned long strtoul(const char *s, char **endptr, int base);
+int    atoi(const char*s);
+int sigchecksum(void *address, int length);
+void *sigscan(uint8_t *address, int length, char *signature);
+
+
+/* In arch/support64.S */
+void bcopy(const void *src, void *dst, size_t len);
 
-#endif /* not ROS_INC_STRING_H */
+#ifdef CONFIG_RISCV
+#warning Implement bcopy
+#endif