RTEMS  5.1
Macros

RTEMS File System Data. More...

#include <stdint.h>

Go to the source code of this file.

Macros

#define rtems_rfs_data_ptr(_d)   ((uint8_t*)(_d))
 
#define rtems_rfs_data_get(_d, _t, _o, _s)   (((_t)(rtems_rfs_data_ptr (_d)[_o])) << (_s))
 
#define rtems_rfs_read_u8(_d)   (*rtems_rfs_data_ptr (_d))
 
#define rtems_rfs_read_u16(_d)
 
#define rtems_rfs_read_u32(_d)
 
#define rtems_rfs_write_u8(_d, _v)   (*rtems_rfs_data_ptr (_d) = (uint8_t)(_v))
 
#define rtems_rfs_write_u16(_d, _v)
 
#define rtems_rfs_write_u32(_d, _v)
 

Detailed Description

RTEMS File System Data.

RTEMS File System Data.

Access data in the correct byte order for the specific target we are running on.

Todo:
Make direct access on matching byte ordered targets.

Macro Definition Documentation

◆ rtems_rfs_data_get

#define rtems_rfs_data_get (   _d,
  _t,
  _o,
  _s 
)    (((_t)(rtems_rfs_data_ptr (_d)[_o])) << (_s))

Helper function to get the data shifted in the correctly sized type.

◆ rtems_rfs_data_ptr

#define rtems_rfs_data_ptr (   _d)    ((uint8_t*)(_d))

Helper function to make sure we have a byte pointer.

◆ rtems_rfs_read_u16

#define rtems_rfs_read_u16 (   _d)
Value:
(rtems_rfs_data_get (_d, uint16_t, 0, 8) | \
rtems_rfs_data_get (_d, uint16_t, 1, 0))
#define rtems_rfs_data_get(_d, _t, _o, _s)
Definition: rtems-rfs-data.h:38

RFS Read Unsigned 16bit Integer

◆ rtems_rfs_read_u32

#define rtems_rfs_read_u32 (   _d)
Value:
(rtems_rfs_data_get (_d, uint32_t, 0, 24) | \
rtems_rfs_data_get (_d, uint32_t, 1, 16) | \
rtems_rfs_data_get (_d, uint32_t, 2, 8) | \
rtems_rfs_data_get (_d, uint32_t, 3, 0))
#define rtems_rfs_data_get(_d, _t, _o, _s)
Definition: rtems-rfs-data.h:38

RFS Read Unsigned 32bit Integer

◆ rtems_rfs_read_u8

#define rtems_rfs_read_u8 (   _d)    (*rtems_rfs_data_ptr (_d))

RFS Read Unsigned 8bit Integer

◆ rtems_rfs_write_u16

#define rtems_rfs_write_u16 (   _d,
  _v 
)
Value:
do { \
rtems_rfs_data_ptr (_d)[0] = (uint8_t)(((uint16_t)(_v)) >> 8); \
rtems_rfs_data_ptr (_d)[1] = (uint8_t)((_v)); \
} while (0)

RFS Write Unsigned 16bit Integer

◆ rtems_rfs_write_u32

#define rtems_rfs_write_u32 (   _d,
  _v 
)
Value:
do { \
rtems_rfs_data_ptr (_d)[0] = (uint8_t)(((uint32_t)(_v)) >> 24); \
rtems_rfs_data_ptr (_d)[1] = (uint8_t)(((uint32_t)(_v)) >> 16); \
rtems_rfs_data_ptr (_d)[2] = (uint8_t)(((uint32_t)(_v)) >> 8); \
rtems_rfs_data_ptr (_d)[3] = (uint8_t)((uint32_t)(_v)); \
} while (0)

RFS Write Unsigned 32bit Integer

◆ rtems_rfs_write_u8

#define rtems_rfs_write_u8 (   _d,
  _v 
)    (*rtems_rfs_data_ptr (_d) = (uint8_t)(_v))

RFS Write Unsigned 8bit Integer