Files
wufuc/inc/patternfind/patternfind.h

56 lines
1.5 KiB
C

#pragma once
typedef struct
{
struct PatternNibble
{
uint8_t data;
bool wildcard;
} nibble[2];
} PatternByte;
//returns: offset to data when found, -1 when not found
size_t patternfind(
uint8_t *data, //data
size_t datasize, //size of data
const char *pattern //pattern to search
);
//returns: offset to data when found, -1 when not found
size_t patternfind_bytes(
uint8_t *data, //data
size_t datasize, //size of data
const uint8_t *pattern, //bytes to search
size_t patternsize //size of bytes to search
);
//returns: nothing
void patternwrite(
uint8_t *data, //data
size_t datasize, //size of data
const char *pattern //pattern to write
);
//returns: true on success, false on failure
bool patternsnr(
uint8_t *data, //data
size_t datasize, //size of data
const char *searchpattern, //pattern to search
const char *replacepattern //pattern to write
);
//returns: true on success, false on failure
bool patterntransform(
const char *patterntext, //pattern string
PatternByte *pattern, //pattern to feed to patternfind
size_t patternsize //size of pattern
);
//returns: offset to data when found, -1 when not found
size_t patternfind_pbyte(
uint8_t *data, //data
size_t datasize, //size of data
const PatternByte *pattern, //pattern to search
size_t searchpatternsize //size of pattern to search
);