| // Copyright 2026 The IREE Authors | |
| // | |
| // Licensed under the Apache License v2.0 with LLVM Exceptions. | |
| // See https://llvm.org/LICENSE.txt for license information. | |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
| // <string.h> for wasm32. | |
| #ifndef IREE_WASM_LIBC_STRING_H_ | |
| #define IREE_WASM_LIBC_STRING_H_ | |
| #include <stddef.h> | |
| // Copying (memcpy/memset/memmove are wasm builtins via -mbulk-memory). | |
| void* memcpy(void* dest, const void* src, size_t count); | |
| void* memmove(void* dest, const void* src, size_t count); | |
| void* memset(void* dest, int value, size_t count); | |
| // Comparison. | |
| int memcmp(const void* left, const void* right, size_t count); | |
| // Search. | |
| void* memchr(const void* pointer, int value, size_t count); | |
| // String operations. | |
| size_t strlen(const char* string); | |
| size_t strnlen(const char* string, size_t max_length); | |
| int strcmp(const char* left, const char* right); | |
| int strncmp(const char* left, const char* right, size_t count); | |
| char* strchr(const char* string, int character); | |
| char* strrchr(const char* string, int character); | |
| char* strstr(const char* haystack, const char* needle); | |
| // String copying. | |
| char* strcpy(char* dest, const char* src); | |
| char* strncpy(char* dest, const char* src, size_t count); | |
| char* strcat(char* dest, const char* src); | |
| char* strncat(char* dest, const char* src, size_t count); | |
| // Error string. | |
| char* strerror(int error_number); | |
| #endif // IREE_WASM_LIBC_STRING_H_ |