137 lines
1.6 KiB
C
137 lines
1.6 KiB
C
#ifndef SPSTR_H
|
|
# define SPSTR_H
|
|
|
|
#include <stdint.h>
|
|
|
|
/**
|
|
* @brief more secure string to use, should always be null terminated at data + size to allow passing to other standard c string and never reaching out of boundaries
|
|
*
|
|
*/
|
|
typedef struct {
|
|
size_t size;//in byte
|
|
char* data;
|
|
} string_t;
|
|
|
|
/**
|
|
* @brief used for runtime data manipulation
|
|
*
|
|
*/
|
|
typedef struct {
|
|
size_t size;//in byte
|
|
uint8_t* data;
|
|
} buffer_t;
|
|
|
|
void* spmemset(void* dst, uint8_t c, size_t n);
|
|
void spmemcmp();
|
|
void spmemcpy();
|
|
void spmemmove();
|
|
void spmemchr();
|
|
|
|
void spstrcpy();
|
|
void spstrcat();
|
|
void spstrcmp();
|
|
void spstrchr();
|
|
void spstrrchr();
|
|
void spstrstr();
|
|
void spstrcspn();
|
|
void spstrspn();
|
|
void spstrpbrk();
|
|
void spstrtok();
|
|
void spstrcoll();
|
|
|
|
#define SPSTR_IMPL
|
|
#ifdef SPSTR_IMPL
|
|
|
|
#ifdef SPSTR_STATIC
|
|
#define SPSTR_DEF static
|
|
#else
|
|
#define SPSTR_DEF extern
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
SPSTR_DEF void* spmemset(void* dst, uint8_t c, size_t n) {
|
|
uint8_t* span = 0x00;
|
|
|
|
span = (uint8_t *)dst;
|
|
if (dst == 0x00) {
|
|
return (dst);
|
|
}
|
|
for (int i = 0; i < n; i++) {
|
|
span[i] = c;
|
|
}
|
|
return (dst);
|
|
}
|
|
|
|
SPSTR_DEF void spmemcmp() {
|
|
|
|
}
|
|
|
|
SPSTR_DEF void spmemcpy() {
|
|
|
|
}
|
|
|
|
SPSTR_DEF void spmemmove() {
|
|
|
|
}
|
|
|
|
SPSTR_DEF void spmemchr() {
|
|
|
|
}
|
|
|
|
|
|
|
|
SPSTR_DEF void spstrcpy() {
|
|
|
|
}
|
|
|
|
SPSTR_DEF void spstrcat() {
|
|
|
|
}
|
|
|
|
SPSTR_DEF void spstrcmp() {
|
|
|
|
}
|
|
|
|
SPSTR_DEF void spstrchr() {
|
|
|
|
}
|
|
|
|
SPSTR_DEF void spstrrchr() {
|
|
|
|
}
|
|
|
|
SPSTR_DEF void spstrstr() {
|
|
|
|
}
|
|
|
|
SPSTR_DEF void spstrcspn() {
|
|
|
|
}
|
|
|
|
SPSTR_DEF void spstrspn() {
|
|
|
|
}
|
|
|
|
SPSTR_DEF void spstrpbrk() {
|
|
|
|
}
|
|
|
|
SPSTR_DEF void spstrtok() {
|
|
|
|
}
|
|
|
|
SPSTR_DEF void spstrcoll() {
|
|
|
|
}
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#endif
|