summaryrefslogtreecommitdiff
path: root/platforms/eeprom.h
diff options
context:
space:
mode:
Diffstat (limited to 'platforms/eeprom.h')
-rw-r--r--platforms/eeprom.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/platforms/eeprom.h b/platforms/eeprom.h
new file mode 100644
index 0000000000..f5b3f0ad53
--- /dev/null
+++ b/platforms/eeprom.h
@@ -0,0 +1,21 @@
+#pragma once
+
+#if defined(__AVR__) && !defined(EEPROM_DRIVER)
+# include <avr/eeprom.h>
+#else
+# include <stdint.h>
+# include <stdlib.h>
+
+uint8_t eeprom_read_byte(const uint8_t *__p);
+uint16_t eeprom_read_word(const uint16_t *__p);
+uint32_t eeprom_read_dword(const uint32_t *__p);
+void eeprom_read_block(void *__dst, const void *__src, size_t __n);
+void eeprom_write_byte(uint8_t *__p, uint8_t __value);
+void eeprom_write_word(uint16_t *__p, uint16_t __value);
+void eeprom_write_dword(uint32_t *__p, uint32_t __value);
+void eeprom_write_block(const void *__src, void *__dst, size_t __n);
+void eeprom_update_byte(uint8_t *__p, uint8_t __value);
+void eeprom_update_word(uint16_t *__p, uint16_t __value);
+void eeprom_update_dword(uint32_t *__p, uint32_t __value);
+void eeprom_update_block(const void *__src, void *__dst, size_t __n);
+#endif