header: string.h
public_includes:
  # Needed for compatibility with glibc which provides these symbols by default.
  - strings.h
standards:
  - stdc
macros:
  - macro_name: "NULL"
    macro_header: null-macro.h
  - macro_name: LIBC_HAS_ANNEX_K
    macro_header: annex-k-macros.h
types:
  - type_name: errno_t
  - type_name: locale_t
  - type_name: rsize_t
  - type_name: size_t
enums: []
objects: []
functions:
  - name: memccpy
    standards:
      - posix
    return_type: void *
    arguments:
      - type: void *__restrict
      - type: const void *__restrict
      - type: int
      - type: size_t
  - name: memchr
    standards:
      - stdc
    return_type: void *
    arguments:
      - type: const void *
      - type: int
      - type: size_t
  - name: memcmp
    standards:
      - stdc
    return_type: int
    arguments:
      - type: const void *
      - type: const void *
      - type: size_t
  - name: memcpy
    standards:
      - stdc
    return_type: void *
    arguments:
      - type: void *__restrict
      - type: const void *__restrict
      - type: size_t
  - name: memmem
    standards:
      - gnu
    return_type: void *
    arguments:
      - type: const void *
      - type: size_t
      - type: const void *
      - type: size_t
  - name: memmove
    standards:
      - stdc
    return_type: void *
    arguments:
      - type: void *
      - type: const void *
      - type: size_t
  - name: mempcpy
    standards:
      - posix
    return_type: void *
    arguments:
      - type: void *__restrict
      - type: const void *__restrict
      - type: size_t
  - name: memrchr
    standards:
      - gnu
    return_type: void *
    arguments:
      - type: const void *
      - type: int
      - type: size_t
  - name: memset
    standards:
      - stdc
    return_type: void *
    arguments:
      - type: void *
      - type: int
      - type: size_t
  - name: memset_explicit
    standards:
      - stdc
    return_type: void *
    arguments:
      - type: void *
      - type: int
      - type: size_t
  - name: stpcpy
    standards:
      - posix
    return_type: char *
    arguments:
      - type: char *__restrict
      - type: const char *__restrict
  - name: stpncpy
    standards:
      - posix
    return_type: char *
    arguments:
      - type: char *__restrict
      - type: const char *__restrict
      - type: size_t
  - name: strcasestr
    standards:
      - gnu
    return_type: char *
    arguments:
      - type: const char *
      - type: const char *
  - name: strcat
    standards:
      - stdc
    return_type: char *
    arguments:
      - type: char *__restrict
      - type: const char *__restrict
  - name: strchr
    standards:
      - stdc
    return_type: char *
    arguments:
      - type: const char *
      - type: int
  - name: strchrnul
    standards:
      - gnu
    return_type: char *
    arguments:
      - type: const char *
      - type: int
  - name: strcmp
    standards:
      - stdc
    return_type: int
    arguments:
      - type: const char *
      - type: const char *
  - name: strcoll
    standards:
      - stdc
    return_type: int
    arguments:
      - type: const char *
      - type: const char *
  - name: strcoll_l
    standards:
      - stdc
    return_type: int
    arguments:
      - type: const char *
      - type: const char *
      - type: locale_t
  - name: strcpy
    standards:
      - stdc
    return_type: char *
    arguments:
      - type: char *__restrict
      - type: const char *__restrict
  - name: strcspn
    standards:
      - stdc
    return_type: size_t
    arguments:
      - type: const char *
      - type: const char *
  - name: strdup
    return_type: char *
    arguments:
      - type: const char *
  - name: strerror
    standards:
      - stdc
    return_type: char *
    arguments:
      - type: int
  - name: strerror_r
    standards:
      - gnu
    return_type: char *
    arguments:
      - type: int
      - type: char *
      - type: size_t
  - name: strlcat
    standards:
      - bsd
    return_type: size_t
    arguments:
      - type: char *__restrict
      - type: const char *__restrict
      - type: size_t
  - name: strlcpy
    standards:
      - bsd
    return_type: size_t
    arguments:
      - type: char *__restrict
      - type: const char *__restrict
      - type: size_t
  - name: strlen
    standards:
      - stdc
    return_type: size_t
    arguments:
      - type: const char *
  - name: strncat
    standards:
      - stdc
    return_type: char *
    arguments:
      - type: char *
      - type: const char *
      - type: size_t
  - name: strncmp
    standards:
      - stdc
    return_type: int
    arguments:
      - type: const char *
      - type: const char *
      - type: size_t
  - name: strncpy
    standards:
      - stdc
    return_type: char *
    arguments:
      - type: char *__restrict
      - type: const char *__restrict
      - type: size_t
  - name: strndup
    standards:
      - stdc
    return_type: char *
    arguments:
      - type: const char *
      - type: size_t
  - name: strnlen
    standards:
      - posix
    return_type: size_t
    arguments:
      - type: const char *
      - type: size_t
  - name: strnlen_s
    standards:
      - stdc
    return_type: size_t
    arguments:
      - type: const char *
      - type: size_t
    guard: LIBC_HAS_ANNEX_K
  - name: strpbrk
    standards:
      - stdc
    return_type: char *
    arguments:
      - type: const char *
      - type: const char *
  - name: strrchr
    standards:
      - stdc
    return_type: char *
    arguments:
      - type: const char *
      - type: int
  - name: strsep
    standards:
      - bsd
    return_type: char *
    arguments:
      - type: char **__restrict
      - type: const char *__restrict
  - name: strsignal
    standards:
      - posix
    return_type: char *
    arguments:
      - type: int
  - name: strspn
    standards:
      - stdc
    return_type: size_t
    arguments:
      - type: const char *
      - type: const char *
  - name: strstr
    standards:
      - stdc
    return_type: char *
    arguments:
      - type: const char *
      - type: const char *
  - name: strtok
    standards:
      - stdc
    return_type: char *
    arguments:
      - type: char *__restrict
      - type: const char *__restrict
  - name: strtok_r
    standards:
      - posix
    return_type: char *
    arguments:
      - type: char *__restrict
      - type: const char *__restrict
      - type: char ** __restrict
  - name: strxfrm
    standards:
      - stdc
    return_type: size_t
    arguments:
      - type: char *__restrict
      - type: const char *__restrict
      - type: size_t
  - name: strxfrm_l
    standards:
      - stdc
    return_type: size_t
    arguments:
      - type: char *__restrict
      - type: const char *__restrict
      - type: size_t
      - type: locale_t
