14 #define __ATTR_PROGMEM__ __attribute__((section(".progmem"))) 18 #define PGM_P const char * 20 #define PSTR(s) (__extension__({static const char __c[] PROGMEM = (s); &__c[0];})) 22 class __FlashStringHelper;
23 #define F(string_literal) (reinterpret_cast<const __FlashStringHelper *>(PSTR(string_literal))) 25 #define FPSTR(pstr_pointer) (reinterpret_cast<const __FlashStringHelper *>(pstr_pointer)) 27 #define _SFR_BYTE(n) (n) 44 #define memchr_P(s, c, n) memchr((s), (c), (n)) 45 #define memcmp_P(s1, s2, n) memcmp((s1), (s2), (n)) 46 #define memccpy_P(dest, src, c, n) memccpy((dest), (src), (c), (n)) 47 #define memcpy_P(dest, src, n) memcpy((dest), (src), (n)) 48 #define memmem_P(haystack, haystacklen, needle, needlelen) memmem((haystack), (haystacklen), (needle), (needlelen)) 49 #define memrchr_P(s, c, n) memrchr((s), (c), (n)) 50 #define strcat_P(dest, src) strcat((dest), (src)) 51 #define strchr_P(s, c) strchr((s), (c)) 52 #define strchrnul_P(s, c) strchrnul((s), (c)) 53 #define strcmp_P(a, b) strcmp((a), (b)) 54 #define strcpy_P(dest, src) strcpy((dest), (src)) 55 #define strcasecmp_P(s1, s2) strcasecmp((s1), (s2)) 56 #define strcasestr_P(haystack, needle) strcasestr((haystack), (needle)) 57 #define strcspn_P(s, accept) strcspn((s), (accept)) 58 #define strlcat_P(s1, s2, n) strlcat((s1), (s2), (n)) 59 #define strlcpy_P(s1, s2, n) strlcpy((s1), (s2), (n)) 60 #define strlen_P(a) strlen((a)) 61 #define strnlen_P(s, n) strnlen((s), (n)) 62 #define strncmp_P(s1, s2, n) strncmp((s1), (s2), (n)) 63 #define strncasecmp_P(s1, s2, n) strncasecmp((s1), (s2), (n)) 64 #define strncat_P(s1, s2, n) strncat((s1), (s2), (n)) 65 #define strncpy_P(s1, s2, n) strncpy((s1), (s2), (n)) 66 #define strpbrk_P(s, accept) strpbrk((s), (accept)) 67 #define strrchr_P(s, c) strrchr((s), (c)) 68 #define strsep_P(sp, delim) strsep((sp), (delim)) 69 #define strspn_P(s, accept) strspn((s), (accept)) 70 #define strstr_P(a, b) strstr((a), (b)) 71 #define strtok_P(s, delim) strtok((s), (delim)) 72 #define strtok_rP(s, delim, last) strtok((s), (delim), (last)) 74 #define strlen_PF(a) strlen((a)) 75 #define strnlen_PF(src, len) strnlen((src), (len)) 76 #define memcpy_PF(dest, src, len) memcpy((dest), (src), (len)) 77 #define strcpy_PF(dest, src) strcpy((dest), (src)) 78 #define strncpy_PF(dest, src, len) strncpy((dest), (src), (len)) 79 #define strcat_PF(dest, src) strcat((dest), (src)) 80 #define strlcat_PF(dest, src, len) strlcat((dest), (src), (len)) 81 #define strncat_PF(dest, src, len) strncat((dest), (src), (len)) 82 #define strcmp_PF(s1, s2) strcmp((s1), (s2)) 83 #define strncmp_PF(s1, s2, n) strncmp((s1), (s2), (n)) 84 #define strcasecmp_PF(s1, s2) strcasecmp((s1), (s2)) 85 #define strncasecmp_PF(s1, s2, n) strncasecmp((s1), (s2), (n)) 86 #define strstr_PF(s1, s2) strstr((s1), (s2)) 87 #define strlcpy_PF(dest, src, n) strlcpy((dest), (src), (n)) 88 #define memcmp_PF(s1, s2, n) memcmp((s1), (s2), (n)) 90 #define sprintf_P(s, f, ...) sprintf((s), (f), __VA_ARGS__) 92 #define pgm_read_byte(addr) (*(const unsigned char *)(addr)) 93 #define pgm_read_word(addr) (*(const unsigned short *)(addr)) 94 #define pgm_read_dword(addr) (*(const unsigned long *)(addr)) 95 #define pgm_read_float(addr) (*(const float *)(addr)) 96 #define pgm_read_ptr(addr) (*(const void* *)(addr)) 98 #define pgm_read_byte_near(addr) pgm_read_byte(addr) 99 #define pgm_read_word_near(addr) pgm_read_word(addr) 100 #define pgm_read_dword_near(addr) pgm_read_dword(addr) 101 #define pgm_read_float_near(addr) pgm_read_float(addr) 102 #define pgm_read_ptr_near(addr) pgm_read_ptr(addr) 104 #define pgm_read_byte_far(addr) pgm_read_byte(addr) 105 #define pgm_read_word_far(addr) pgm_read_word(addr) 106 #define pgm_read_dword_far(addr) pgm_read_dword(addr) 107 #define pgm_read_float_far(addr) pgm_read_float(addr) 108 #define pgm_read_ptr_far(addr) pgm_read_ptr(addr) 110 #define pgm_get_far_address(addr) (&(addr)) uint32_t prog_uint64_t
Definition: pgmspace.h:39
int8_t prog_int8_t
Definition: pgmspace.h:32
uint32_t prog_uint32_t
Definition: pgmspace.h:37
uint16_t prog_uint16_t
Definition: pgmspace.h:35
const void * int_farptr_t
Definition: pgmspace.h:41
void prog_void
Definition: pgmspace.h:29
int32_t prog_int32_t
Definition: pgmspace.h:36
int32_t prog_int64_t
Definition: pgmspace.h:38
unsigned char prog_uchar
Definition: pgmspace.h:31
char prog_char
Definition: pgmspace.h:30
int16_t prog_int16_t
Definition: pgmspace.h:34
const void * uint_farptr_t
Definition: pgmspace.h:42
uint8_t prog_uint8_t
Definition: pgmspace.h:33