.TH "pgmspace.h" 3avr "Version 2.2.1" "AVR-LibC" \" -*- nroff -*-
.ad l
.nh
.SH NAME
pgmspace.h
.SH SYNOPSIS
.br
.PP
.SS "Macros"

.in +1c
.ti -1c
.RI "#define \fBPROGMEM_FAR\fP   __attribute__((__section__('\&.progmemx\&.data')))"
.br
.ti -1c
.RI "#define \fBPROGMEM\fP   __attribute__((__progmem__))"
.br
.ti -1c
.RI "#define \fBPSTR\fP(str)   ({ static const \fBPROGMEM\fP char c[] = (str); &c[0]; })"
.br
.ti -1c
.RI "#define \fBPSTR_FAR\fP(str)   ({ static const \fBPROGMEM_FAR\fP char c[] = (str); \fBpgm_get_far_address\fP(c[0]); })"
.br
.ti -1c
.RI "#define \fBpgm_read_byte_near\fP(__addr)   __LPM ((\fBuint16_t\fP)(__addr))"
.br
.ti -1c
.RI "#define \fBpgm_read_word_near\fP(__addr)   __LPM_word ((\fBuint16_t\fP)(__addr))"
.br
.ti -1c
.RI "#define \fBpgm_read_dword_near\fP(__addr)       __LPM_dword ((\fBuint16_t\fP)(__addr))"
.br
.ti -1c
.RI "#define \fBpgm_read_qword_near\fP(__addr)   __LPM_qword ((\fBuint16_t\fP)(__addr))"
.br
.ti -1c
.RI "#define \fBpgm_read_float_near\fP(addr)   pgm_read_float (addr)"
.br
.ti -1c
.RI "#define \fBpgm_read_ptr_near\fP(__addr)       ((void*) __LPM_word ((\fBuint16_t\fP)(__addr)))"
.br
.ti -1c
.RI "#define \fBpgm_read_byte_far\fP(__addr)   __ELPM (__addr)"
.br
.ti -1c
.RI "#define \fBpgm_read_word_far\fP(__addr)   __ELPM_word (__addr)"
.br
.ti -1c
.RI "#define \fBpgm_read_dword_far\fP(__addr)   __ELPM_dword (__addr)"
.br
.ti -1c
.RI "#define \fBpgm_read_qword_far\fP(__addr)   __ELPM_qword (__addr)"
.br
.ti -1c
.RI "#define \fBpgm_read_ptr_far\fP(__addr)   ((void*) __ELPM_word (__addr))"
.br
.ti -1c
.RI "#define \fBpgm_read_byte\fP(__addr)   \fBpgm_read_byte_near\fP(__addr)"
.br
.ti -1c
.RI "#define \fBpgm_read_word\fP(__addr)   \fBpgm_read_word_near\fP(__addr)"
.br
.ti -1c
.RI "#define \fBpgm_read_dword\fP(__addr)   \fBpgm_read_dword_near\fP(__addr)"
.br
.ti -1c
.RI "#define \fBpgm_read_qword\fP(__addr)   \fBpgm_read_qword_near\fP(__addr)"
.br
.ti -1c
.RI "#define \fBpgm_read_ptr\fP(__addr)   \fBpgm_read_ptr_near\fP(__addr)"
.br
.ti -1c
.RI "#define \fBpgm_get_far_address\fP(var)"
.br
.in -1c
.SS "Functions"

.in +1c
.ti -1c
.RI "static char \fBpgm_read_char\fP (const char *__addr)"
.br
.ti -1c
.RI "static unsigned char \fBpgm_read_unsigned_char\fP (const unsigned char *__addr)"
.br
.ti -1c
.RI "static signed char \fBpgm_read_signed_char\fP (const signed char *__addr)"
.br
.ti -1c
.RI "static \fBuint8_t\fP \fBpgm_read_u8\fP (const \fBuint8_t\fP *__addr)"
.br
.ti -1c
.RI "static \fBint8_t\fP \fBpgm_read_i8\fP (const \fBint8_t\fP *__addr)"
.br
.ti -1c
.RI "static short \fBpgm_read_short\fP (const short *__addr)"
.br
.ti -1c
.RI "static unsigned short \fBpgm_read_unsigned_short\fP (const unsigned short *__addr)"
.br
.ti -1c
.RI "static \fBuint16_t\fP \fBpgm_read_u16\fP (const \fBuint16_t\fP *__addr)"
.br
.ti -1c
.RI "static \fBint16_t\fP \fBpgm_read_i16\fP (const \fBint16_t\fP *__addr)"
.br
.ti -1c
.RI "static int \fBpgm_read_int\fP (const int *__addr)"
.br
.ti -1c
.RI "static signed \fBpgm_read_signed\fP (const signed *__addr)"
.br
.ti -1c
.RI "static unsigned \fBpgm_read_unsigned\fP (const unsigned *__addr)"
.br
.ti -1c
.RI "static signed int \fBpgm_read_signed_int\fP (const signed int *__addr)"
.br
.ti -1c
.RI "static unsigned int \fBpgm_read_unsigned_int\fP (const unsigned int *__addr)"
.br
.ti -1c
.RI "static __int24 \fBpgm_read_i24\fP (const __int24 *__addr)"
.br
.ti -1c
.RI "static __uint24 \fBpgm_read_u24\fP (const __uint24 *__addr)"
.br
.ti -1c
.RI "static \fBuint32_t\fP \fBpgm_read_u32\fP (const \fBuint32_t\fP *__addr)"
.br
.ti -1c
.RI "static \fBint32_t\fP \fBpgm_read_i32\fP (const \fBint32_t\fP *__addr)"
.br
.ti -1c
.RI "static long \fBpgm_read_long\fP (const long *__addr)"
.br
.ti -1c
.RI "static unsigned long \fBpgm_read_unsigned_long\fP (const unsigned long *__addr)"
.br
.ti -1c
.RI "static long long \fBpgm_read_long_long\fP (const long long *__addr)"
.br
.ti -1c
.RI "static unsigned long long \fBpgm_read_unsigned_long_long\fP (const unsigned long long *__addr)"
.br
.ti -1c
.RI "static \fBuint64_t\fP \fBpgm_read_u64\fP (const \fBuint64_t\fP *__addr)"
.br
.ti -1c
.RI "static \fBint64_t\fP \fBpgm_read_i64\fP (const \fBint64_t\fP *__addr)"
.br
.ti -1c
.RI "static float \fBpgm_read_float\fP (const float *__addr)"
.br
.ti -1c
.RI "static double \fBpgm_read_double\fP (const double *__addr)"
.br
.ti -1c
.RI "static long double \fBpgm_read_long_double\fP (const long double *__addr)"
.br
.ti -1c
.RI "static char \fBpgm_read_char_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static unsigned char \fBpgm_read_unsigned_char_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static signed char \fBpgm_read_signed_char_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static \fBuint8_t\fP \fBpgm_read_u8_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static \fBint8_t\fP \fBpgm_read_i8_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static short \fBpgm_read_short_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static unsigned short \fBpgm_read_unsigned_short_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static \fBuint16_t\fP \fBpgm_read_u16_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static \fBint16_t\fP \fBpgm_read_i16_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static int \fBpgm_read_int_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static unsigned \fBpgm_read_unsigned_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static unsigned int \fBpgm_read_unsigned_int_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static signed \fBpgm_read_signed_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static signed int \fBpgm_read_signed_int_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static long \fBpgm_read_long_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static unsigned long \fBpgm_read_unsigned_long_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static __int24 \fBpgm_read_i24_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static __uint24 \fBpgm_read_u24_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static \fBuint32_t\fP \fBpgm_read_u32_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static \fBint32_t\fP \fBpgm_read_i32_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static long long \fBpgm_read_long_long_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static unsigned long long \fBpgm_read_unsigned_long_long_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static \fBuint64_t\fP \fBpgm_read_u64_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static \fBint64_t\fP \fBpgm_read_i64_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static float \fBpgm_read_float_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static double \fBpgm_read_double_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "static long double \fBpgm_read_long_double_far\fP (\fBuint_farptr_t\fP __addr)"
.br
.ti -1c
.RI "const void * \fBmemchr_P\fP (const void *, int __val, size_t __len)"
.br
.ti -1c
.RI "int \fBmemcmp_P\fP (const void *, const void *, size_t)"
.br
.ti -1c
.RI "void * \fBmemccpy_P\fP (void *, const void *, int __val, size_t)"
.br
.ti -1c
.RI "void * \fBmemcpy_P\fP (void *, const void *, size_t)"
.br
.ti -1c
.RI "void * \fBmemmem_P\fP (const void *, size_t, const void *, size_t)"
.br
.ti -1c
.RI "const void * \fBmemrchr_P\fP (const void *, int __val, size_t __len)"
.br
.ti -1c
.RI "char * \fBstrcat_P\fP (char *, const char *)"
.br
.ti -1c
.RI "const char * \fBstrchr_P\fP (const char *, int __val)"
.br
.ti -1c
.RI "const char * \fBstrchrnul_P\fP (const char *, int __val)"
.br
.ti -1c
.RI "int \fBstrcmp_P\fP (const char *, const char *)"
.br
.ti -1c
.RI "char * \fBstrcpy_P\fP (char *, const char *)"
.br
.ti -1c
.RI "int \fBstrcasecmp_P\fP (const char *, const char *)"
.br
.ti -1c
.RI "char * \fBstrcasestr_P\fP (const char *, const char *)"
.br
.ti -1c
.RI "size_t \fBstrcspn_P\fP (const char *__s, const char *__reject)"
.br
.ti -1c
.RI "size_t \fBstrlcat_P\fP (char *, const char *, size_t)"
.br
.ti -1c
.RI "size_t \fBstrlcpy_P\fP (char *, const char *, size_t)"
.br
.ti -1c
.RI "size_t \fBstrnlen_P\fP (const char *, size_t)"
.br
.ti -1c
.RI "int \fBstrncmp_P\fP (const char *, const char *, size_t)"
.br
.ti -1c
.RI "int \fBstrncasecmp_P\fP (const char *, const char *, size_t)"
.br
.ti -1c
.RI "char * \fBstrncat_P\fP (char *, const char *, size_t)"
.br
.ti -1c
.RI "char * \fBstrncpy_P\fP (char *, const char *, size_t)"
.br
.ti -1c
.RI "char * \fBstrpbrk_P\fP (const char *__s, const char *__accept)"
.br
.ti -1c
.RI "const char * \fBstrrchr_P\fP (const char *, int __val)"
.br
.ti -1c
.RI "char * \fBstrsep_P\fP (char **__sp, const char *__delim)"
.br
.ti -1c
.RI "size_t \fBstrspn_P\fP (const char *__s, const char *__accept)"
.br
.ti -1c
.RI "char * \fBstrstr_P\fP (const char *, const char *)"
.br
.ti -1c
.RI "char * \fBstrtok_P\fP (char *__s, const char *__delim)"
.br
.ti -1c
.RI "char * \fBstrtok_rP\fP (char *__s, const char *__delim, char **__last)"
.br
.ti -1c
.RI "size_t \fBstrlen_PF\fP (\fBuint_farptr_t\fP src)"
.br
.ti -1c
.RI "size_t \fBstrnlen_PF\fP (\fBuint_farptr_t\fP src, size_t len)"
.br
.ti -1c
.RI "void * \fBmemcpy_PF\fP (void *dest, \fBuint_farptr_t\fP src, size_t len)"
.br
.ti -1c
.RI "char * \fBstrcpy_PF\fP (char *dest, \fBuint_farptr_t\fP src)"
.br
.ti -1c
.RI "char * \fBstrncpy_PF\fP (char *dest, \fBuint_farptr_t\fP src, size_t len)"
.br
.ti -1c
.RI "char * \fBstrcat_PF\fP (char *dest, \fBuint_farptr_t\fP src)"
.br
.ti -1c
.RI "size_t \fBstrlcat_PF\fP (char *dst, \fBuint_farptr_t\fP src, size_t siz)"
.br
.ti -1c
.RI "char * \fBstrncat_PF\fP (char *dest, \fBuint_farptr_t\fP src, size_t len)"
.br
.ti -1c
.RI "int \fBstrcmp_PF\fP (const char *s1, \fBuint_farptr_t\fP s2)"
.br
.ti -1c
.RI "int \fBstrncmp_PF\fP (const char *s1, \fBuint_farptr_t\fP s2, size_t n)"
.br
.ti -1c
.RI "int \fBstrcasecmp_PF\fP (const char *s1, \fBuint_farptr_t\fP s2)"
.br
.ti -1c
.RI "int \fBstrncasecmp_PF\fP (const char *s1, \fBuint_farptr_t\fP s2, size_t n)"
.br
.ti -1c
.RI "\fBuint_farptr_t\fP \fBstrchr_PF\fP (\fBuint_farptr_t\fP, int __val)"
.br
.ti -1c
.RI "char * \fBstrstr_PF\fP (const char *s1, \fBuint_farptr_t\fP s2)"
.br
.ti -1c
.RI "size_t \fBstrlcpy_PF\fP (char *dst, \fBuint_farptr_t\fP src, size_t siz)"
.br
.ti -1c
.RI "int \fBmemcmp_PF\fP (const void *, \fBuint_farptr_t\fP, size_t)"
.br
.ti -1c
.RI "static size_t \fBstrlen_P\fP (const char *s)"
.br
.ti -1c
.RI "template<typename T > T \fBpgm_read< T >\fP (const T *addr)"
.br
.ti -1c
.RI "template<typename T > T \fBpgm_read_far< T >\fP (\fBuint_farptr_t\fP addr)"
.br
.in -1c
.SH "Author"
.PP 
Generated automatically by Doxygen for AVR-LibC from the source code\&.