#ifndef SHADE_UTIL_H
#define SHADE_UTIL_H

#define IS_DIGIT(x) (x == '0' || x == '1' || x == '2' || x == '3' || x == '4' || x == '5' || x == '6' || x == '7' || x == '8' || x == '9')
#define IS_HEX(x) (IS_DIGIT(x) || x == 'a' || x == 'b' || x == 'c' || x == 'd' || x == 'e' || x == 'f')

/**
 * @brief Copy nbytes bytes from source to dest
 * 
 * @param source 
 * @param dest 
 * @param nbytes 
 */
void memcpy(char *source, char *dest, int nbytes);

/**
 * @brief Set len bytes from dest to val
 * 
 * @param dest 
 * @param val 
 * @param len 
 */
void memset(char *dest, char val, int len);

#endif