f38cd9e619
Signed-off-by: Chloe M. <chloe@mensia.org>
57 lines
1.2 KiB
C
57 lines
1.2 KiB
C
/*
|
|
* Copyright (c) 2026, Chloe M.
|
|
* Provided under the BSD-3 clause.
|
|
*
|
|
* Description: String helpers
|
|
* Author: Chloe M.
|
|
*/
|
|
|
|
#ifndef _SPKG_STRING_H_
|
|
#define _SPKG_STRING_H_ 1
|
|
|
|
#include <stdef.h>
|
|
|
|
/*
|
|
* Compare the differences between two strings
|
|
*
|
|
* @Buffer1: First buffer to compare
|
|
* @Buffer2: Second buffer to compare
|
|
* @Length: Number of bytes to compare
|
|
*
|
|
* Returns the differences
|
|
*/
|
|
LONG RtlMemCmp(const VOID *Buffer1, const VOID *Buffer2, USIZE Length);
|
|
|
|
/*
|
|
* Obtain the length in bytes of a '\0' terminated string
|
|
*
|
|
* @String: String to obtain length from
|
|
*
|
|
* Returns zero on failure
|
|
*/
|
|
USIZE RtlStrLen(const CHAR *String);
|
|
|
|
/*
|
|
* Fill n bytes of a buffer with a value
|
|
*
|
|
* @Buffer: Pointer to buffer to fill
|
|
* @SetValue: Value to fill with
|
|
* @Length: Number of bytes to fill
|
|
*
|
|
* Returns @Buffer on success, otherwise NULL on failure
|
|
*/
|
|
VOID *RtlMemSet(VOID *Buffer, LONG SetValue, USIZE Length);
|
|
|
|
/*
|
|
* Copy n bytes of one buffer to another
|
|
*
|
|
* @Dest: Destination buffer
|
|
* @Soruce: Source buffer
|
|
* @Length: Length of buffers
|
|
*
|
|
* Returns @Dest on suucess, otherwise NULL on failure
|
|
*/
|
|
VOID *RtlMemCpy(VOID *Dest, const VOID *Source, USIZE Length);
|
|
|
|
#endif /* !_SPKG_STRING_H_ */
|