Go to the documentation of this file. 13 #include "../esp_attr.h" 19 #define PROGMEM STORE_ATTR 20 #define PROGMEM_PSTR PROGMEM 21 #define PSTR(str) (str) 23 #define PGM_P const char* 24 #define PGM_VOID_P const void* 26 #define pgm_read_byte(addr) (*(const unsigned char*)(addr)) 27 #define pgm_read_word(addr) (*(const unsigned short*)(addr)) 28 #define pgm_read_dword(addr) (*(const unsigned long*)(addr)) 29 #define pgm_read_float(addr) (*(const float*)(addr)) 31 #define pgm_read_byte_near(addr) pgm_read_byte(addr) 32 #define pgm_read_word_near(addr) pgm_read_word(addr) 33 #define pgm_read_dword_near(addr) pgm_read_dword(addr) 34 #define pgm_read_float_near(addr) pgm_read_float(addr) 35 #define pgm_read_byte_far(addr) pgm_read_byte(addr) 36 #define pgm_read_word_far(addr) pgm_read_word(addr) 37 #define pgm_read_dword_far(addr) pgm_read_dword(addr) 38 #define pgm_read_float_far(addr) pgm_read_float(addr) 40 #define memcpy_P(dest, src, num) memcpy((dest), (src), (num)) 41 #define memcmp_P(a1, b1, len) memcmp(a1, b1, len) 42 #define strlen_P(a) strlen((a)) 43 #define strcpy_P(dest, src) strcpy((dest), (src)) 44 #define strncpy_P(dest, src, size) strncpy((dest), (src), (size)) 45 #define strcmp_P(a, b) strcmp((a), (b)) 46 #define strncmp_P(str1, str2_P, size) strncmp(str1, str2_P, size) 47 #define strcasecmp_P(a, b) strcasecmp((a), (b)) 48 #define strcat_P(dest, src) strcat((dest), (src)) 49 #define strstr_P(a, b) strstr((a), (b)) 50 #define sprintf_P(s, f, ...) m_snprintf(s, 1024, f, ##__VA_ARGS__)