agileRTOS (zrtos)  Version 0.8.0 (ghostbuster)
vfs/module/avr/progmem.h File Reference
#include <avr/pgmspace.h>
#include <zrtos/error.h>
#include <zrtos/types.h>
#include <zrtos/vfs_plugin.h>
Include dependency graph for vfs/module/avr/progmem.h:

Go to the source code of this file.

Data Structures

struct  _zrtos_vfs_module_avr_progmem_inode_t
 

Typedefs

typedef struct _zrtos_vfs_module_avr_progmem_inode_t zrtos_vfs_module_avr_progmem_inode_t
 

Functions

zrtos_error_t zrtos_vfs_module_avr_progmem__on_read (zrtos_vfs_file_t *thiz, char *path, void *buf, size_t len, zrtos_vfs_offset_t offset, size_t *out)
 
 ZRTOS_VFS_PLUGIN__INIT (zero, ZRTOS_VFS_PLUGIN__ON_READ(zrtos_vfs_module_avr_progmem__on_read))
 

Typedef Documentation

◆ zrtos_vfs_module_avr_progmem_inode_t

Function Documentation

◆ zrtos_vfs_module_avr_progmem__on_read()

zrtos_error_t zrtos_vfs_module_avr_progmem__on_read ( zrtos_vfs_file_t thiz,
char *  path,
void *  buf,
size_t  len,
zrtos_vfs_offset_t  offset,
size_t out 
)

Definition at line 27 of file vfs/module/avr/progmem.h.

34  {
37  thiz
38  );
39  uint32_t addr = offset;
40  uint8_t *data_ptr = data;
41 
42  if(offset > ZRTOS_TYPES__UINT32_MAX){
43  ret = ZRTOS_ERROR__INVAL;
44  goto L_OUT;
45  }
46 
48  mod->start_addr
49  ,mod->end_addr
50  ,addr
51  ,&len
52  )){
53  *ret = len;
54  for(;len--;addr++){
55  *data_ptr++ = pgm_read_byte_far(addr);
56  }
58  }
59 
60 L_OUT:
61  return ret;
62 }
bool zrtos_types__uint32_is_valid_address_range(uint32_t first_address, uint32_t last_address, uint32_t offset, size_t *length)
Definition: types.h:83
void * zrtos_vfs_file__get_inode_data(zrtos_vfs_file_t *thiz)
Definition: vfs_file.h:191
Successful program execution status.
Definition: error.h:22
Bad address.
Definition: error.h:38
Invalid argument.
Definition: error.h:46
static uint8_t
Definition: mcp2515.h:159
zrtos_error_t
Definition: error.h:20
#define ZRTOS_TYPES__UINT32_MAX
Definition: types.h:186
Here is the call graph for this function:

◆ ZRTOS_VFS_PLUGIN__INIT()

ZRTOS_VFS_PLUGIN__INIT ( zero  ,
ZRTOS_VFS_PLUGIN__ON_READ(zrtos_vfs_module_avr_progmem__on_read  
)
Here is the caller graph for this function: