|  | #pragma once | 
|  |  | 
|  | #include <ros/common.h> | 
|  |  | 
|  | int	strlen(const char *s); | 
|  | int	strnlen(const char *s, 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); | 
|  | 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 *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); | 
|  |  | 
|  | #ifdef CONFIG_RISCV | 
|  | #warning Implement bcopy | 
|  | #endif |