66 lines
2.0 KiB
C
66 lines
2.0 KiB
C
|
#pragma once
|
||
|
|
||
|
#define STRING_SAVE
|
||
|
|
||
|
#include "types.h"
|
||
|
#include "paging-definitions.h"
|
||
|
|
||
|
/**
|
||
|
* Convert a define to a string.
|
||
|
* This macro is used to fi. resolve defined numbers within a constant string.
|
||
|
* @param _s the macro to convert to a string
|
||
|
* @return the string which is resolved by the macro
|
||
|
*/
|
||
|
#ifndef macroToString
|
||
|
#define _macroToString(_s) #_s
|
||
|
#define macroToString(_s) _macroToString(_s)
|
||
|
#endif
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C"
|
||
|
{
|
||
|
#endif
|
||
|
|
||
|
size_t strlen(const char* str);
|
||
|
void *memcpy(void *dest, const void *src, size_t length);
|
||
|
void *memmove(void *dest, const void *src, size_t length);
|
||
|
void *memccpy(void *dest, const void *src, uint8 c, size_t length);
|
||
|
void *memset(void *block, uint8 c, size_t size);
|
||
|
char *strcpy(char *dest, const char* src);
|
||
|
char *strncpy(char *dest, const char* src, size_t size);
|
||
|
char *strdup(const char *src);
|
||
|
char *strcat(char *dest, const char*append);
|
||
|
char *strncat(char *dest, const char*append, size_t size);
|
||
|
size_t strlcat(char *dest, const char*append, size_t size);
|
||
|
int32 memcmp(const void *region1, const void *region2, size_t size);
|
||
|
int32 strcmp(const char *str1, const char *str2);
|
||
|
int32 strncmp(const char *str1, const char *str2, size_t n);
|
||
|
void *memnotchr(const void *block, uint8 c, size_t size);
|
||
|
void *memchr(const void *block, uint8 c, size_t size);
|
||
|
void *memrchr(const void *block, uint8 c, size_t size);
|
||
|
char *strchr(const char* str, char c);
|
||
|
char *strrchr(const char* str, char c);
|
||
|
char* strtok(char* str, const char* delimiters);
|
||
|
char* itoa(int value, char * str, int base);
|
||
|
|
||
|
/**
|
||
|
* copy length bytes from src to dest, even if they overlap
|
||
|
*/
|
||
|
void bcopy(void *src, void* dest, size_t length);
|
||
|
|
||
|
/**
|
||
|
* Compare size bytes of region1 and region2
|
||
|
* @return the difference between the first differing bytes or zero on equality
|
||
|
*/
|
||
|
int32 bcmp(const void *region1, const void *region2, size_t size);
|
||
|
|
||
|
/**
|
||
|
* Computes a CRC- like checksum
|
||
|
*/
|
||
|
uint32 checksum(uint32* src, uint32 nbytes);
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|