123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- #ifndef ZEPHYR_INCLUDE_DRIVERS_EEPROM_H_
- #define ZEPHYR_INCLUDE_DRIVERS_EEPROM_H_
- #include <zephyr/types.h>
- #include <stddef.h>
- #include <sys/types.h>
- #include <device.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- typedef int (*eeprom_api_read)(const struct device *dev, off_t offset,
- void *data,
- size_t len);
- typedef int (*eeprom_api_write)(const struct device *dev, off_t offset,
- const void *data, size_t len);
- typedef size_t (*eeprom_api_size)(const struct device *dev);
- __subsystem struct eeprom_driver_api {
- eeprom_api_read read;
- eeprom_api_write write;
- eeprom_api_size size;
- };
- __syscall int eeprom_read(const struct device *dev, off_t offset, void *data,
- size_t len);
- static inline int z_impl_eeprom_read(const struct device *dev, off_t offset,
- void *data, size_t len)
- {
- const struct eeprom_driver_api *api =
- (const struct eeprom_driver_api *)dev->api;
- return api->read(dev, offset, data, len);
- }
- __syscall int eeprom_write(const struct device *dev, off_t offset,
- const void *data,
- size_t len);
- static inline int z_impl_eeprom_write(const struct device *dev, off_t offset,
- const void *data, size_t len)
- {
- const struct eeprom_driver_api *api =
- (const struct eeprom_driver_api *)dev->api;
- return api->write(dev, offset, data, len);
- }
- __syscall size_t eeprom_get_size(const struct device *dev);
- static inline size_t z_impl_eeprom_get_size(const struct device *dev)
- {
- const struct eeprom_driver_api *api =
- (const struct eeprom_driver_api *)dev->api;
- return api->size(dev);
- }
- #ifdef __cplusplus
- }
- #endif
- #include <syscalls/eeprom.h>
- #endif
|