Files
ipxe/src/include/string.h
T
Michael Brown 6cccb3bdc0 [build] Mark core files as permitted for UEFI Secure Boot
Mark all files used in a standard build of bin-x86_64-efi/snponly.efi
as permitted for UEFI Secure Boot.  These files represent the core
functionality of iPXE that is guaranteed to have been included in
every binary that was previously subject to a security review and
signed by Microsoft.  It is therefore legitimate to assume that at
least these files have already been reviewed to the required standard
multiple times.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
2026-01-14 13:25:34 +00:00

60 lines
2.3 KiB
C

#ifndef _STRING_H
#define _STRING_H
/** @file
*
* String functions
*
*/
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
FILE_SECBOOT ( PERMITTED );
#include <stddef.h>
extern void * generic_memset ( void *dest, int character,
size_t len ) __nonnull;
extern void * generic_memcpy ( void *dest, const void *src,
size_t len ) __nonnull;
extern void * generic_memcpy_reverse ( void *dest, const void *src,
size_t len ) __nonnull;
extern void * generic_memmove ( void *dest, const void *src,
size_t len ) __nonnull;
#include <bits/string.h>
/* Architecture-specific code is expected to provide these functions,
* but may instead explicitly choose to use the generic versions.
*/
void * memset ( void *dest, int character, size_t len ) __nonnull;
void * memcpy ( void *dest, const void *src, size_t len ) __nonnull;
void * memmove ( void *dest, const void *src, size_t len ) __nonnull;
extern int __pure memcmp ( const void *first, const void *second,
size_t len ) __nonnull;
extern void * __pure memchr ( const void *src, int character,
size_t len ) __nonnull;
extern void * memswap ( void *dest, void *src, size_t len ) __nonnull;
extern int __pure strcmp ( const char *first, const char *second ) __nonnull;
extern int __pure strncmp ( const char *first, const char *second,
size_t max ) __nonnull;
extern size_t __pure strlen ( const char *src ) __nonnull;
extern size_t __pure strnlen ( const char *src, size_t max ) __nonnull;
extern char * __pure strchr ( const char *src, int character ) __nonnull;
extern char * __pure strrchr ( const char *src, int character ) __nonnull;
extern char * __pure strstr ( const char *haystack,
const char *needle ) __nonnull;
extern char * stpcpy ( char *dest, const char *src ) __nonnull;
extern char * strcpy ( char *dest, const char *src ) __nonnull;
extern char * strncpy ( char *dest, const char *src, size_t max ) __nonnull;
extern char * strcat ( char *dest, const char *src ) __nonnull;
extern char * __malloc strdup ( const char *src ) __nonnull;
extern char * __malloc strndup ( const char *src, size_t max ) __nonnull;
extern char * __pure strpbrk ( const char *string,
const char *delim ) __nonnull;
extern char * strsep ( char **string, const char *delim ) __nonnull;
extern char * __pure strerror ( int errno );
#endif /* _STRING_H */