Implemented the new profiler
[akaros.git] / kern / include / string.h
1 #pragma once
2
3 #include <ros/common.h>
4
5 int     strlen(const char *s);
6 int     strnlen(const char *s, size_t size);
7 char *strstr(const char *s1, const char *s2);
8
9 /* zra : These aren't being used, and they are dangerous, so I'm rm'ing them
10 STRING  strcpy(STRING dst, const STRING src);
11 STRING  strcat(STRING dst, const STRING src);
12 */
13 char *strncpy(char *dst, const char *src, size_t size);
14 size_t  strlcpy(char *dst, const char *src, size_t size);
15 size_t  strlcat(char *dst, const char *src, size_t size);
16 int     strcmp(const char *s1, const char *s2);
17 int     strncmp(const char *s1, const char *s2, size_t size);
18 int cistrcmp(char *s1, char *s2);
19 char *strchr(const char *s, char c);
20 char *strrchr(const char *s, char c);
21 char *strfind(const char *s, char c);
22
23 void *memset(void* p, int what, size_t sz);
24 int   memcmp(const void* s1, const void* s2, size_t sz);
25 void *memcpy(void* dst, const void* src, size_t sz);
26 void *memmove(void *dst, const void* src, size_t sz);
27 void *memchr(const void *mem, int chr, int len);
28
29 void *memfind(const void *s, int c, size_t len);
30
31 long    strtol(const char *s, char **endptr, int base);
32 unsigned long strtoul(const char *s, char **endptr, int base);
33 int     atoi(const char*s);
34 int sigchecksum(void *address, int length);
35 void *sigscan(uint8_t *address, int length, char *signature);
36
37
38 /* In arch/support64.S */
39 void bcopy(const void *src, void *dst, size_t len);
40
41 #ifdef CONFIG_RISCV
42 #warning Implement bcopy
43 #endif