void* memset(void *dst, int val, u32_t n);
void* memcpy(void *dst, const void *src, u32_t n);
size_t strlen(const char*);
+const char *strerror(int);
#endif /* _STRING_H */
#include <sys/types.h>
+#include <errno.h>
size_t strlen(const char *s)
{
return(s);
}
+
+static const char *_errno_str[] = {
+ "SUCCESS",
+ "EINVAL",
+ "ENOSYS",
+ "EALREADY",
+ "EAGAIN",
+ "ENOMEM",
+ "EFAULT",
+ "EAFNOSUPPORT",
+ "EMFILE",
+ "EBADF",
+ "ENFILE",
+ "EADDRNOTAVAIL",
+ "ENOTSUP",
+ "EOPNOTSUPP",
+ "ENOENT",
+ "EPERM",
+ "EACCES",
+ "ERANGE",
+ "EBADFD",
+ "EBUSY",
+ "EINTR",
+ "EOVERFLOW",
+ "ECONNREFUSED",
+ NULL
+};
+
+const char *strerror(int err)
+{
+ if(err < 0 || err > ECONNREFUSED) {
+ err = ECONNREFUSED + 1;
+ }
+
+ return(_errno_str[err]);
+}