source: rtems/cpukit/libfs/src/rfs/rtems-rfs-data.h @ a290e72a

4.104.115
Last change on this file since a290e72a was a9fa9b7, checked in by Chris Johns <chrisj@…>, on 02/18/10 at 00:24:25

2010-02-18 Chris Johns <chrisj@…>

  • libfs/src/rfs/rtems-rfs-bitmaps.c, libfs/src/rfs/rtems-rfs-bitmaps.h, libfs/src/rfs/rtems-rfs-bitmaps-ut.c, libfs/src/rfs/rtems-rfs-block.c, libfs/src/rfs/rtems-rfs-block.h, libfs/src/rfs/rtems-rfs-block-pos.h, libfs/src/rfs/rtems-rfs-buffer-bdbuf.c, libfs/src/rfs/rtems-rfs-buffer.c, libfs/src/rfs/rtems-rfs-buffer-devio.c, libfs/src/rfs/rtems-rfs-buffer.h, libfs/src/rfs/rtems-rfs-data.h, libfs/src/rfs/rtems-rfs-dir.c, libfs/src/rfs/rtems-rfs-dir.h, libfs/src/rfs/rtems-rfs-dir-hash.c, libfs/src/rfs/rtems-rfs-dir-hash.h, libfs/src/rfs/rtems-rfs-file.c, libfs/src/rfs/rtems-rfs-file.h, libfs/src/rfs/rtems-rfs-file-system.c, libfs/src/rfs/rtems-rfs-file-system-fwd.h, libfs/src/rfs/rtems-rfs-file-system.h, libfs/src/rfs/rtems-rfs-format.c, libfs/src/rfs/rtems-rfs-format.h, libfs/src/rfs/rtems-rfs-group.c, libfs/src/rfs/rtems-rfs-group.h, libfs/src/rfs/rtems-rfs.h, libfs/src/rfs/rtems-rfs-inode.c, libfs/src/rfs/rtems-rfs-inode.h, libfs/src/rfs/rtems-rfs-link.c, libfs/src/rfs/rtems-rfs-link.h, libfs/src/rfs/rtems-rfs-mutex.c, libfs/src/rfs/rtems-rfs-mutex.h, libfs/src/rfs/rtems-rfs-rtems.c, libfs/src/rfs/rtems-rfs-rtems-dev.c, libfs/src/rfs/rtems-rfs-rtems-dir.c, libfs/src/rfs/rtems-rfs-rtems-file.c, libfs/src/rfs/rtems-rfs-rtems.h, libfs/src/rfs/rtems-rfs-rtems-utils.c, libfs/src/rfs/rtems-rfs-shell.c, libfs/src/rfs/rtems-rfs-shell.h, libfs/src/rfs/rtems-rfs-trace.c, libfs/src/rfs/rtems-rfs-trace.h: New.
  • Makefile.am, preinstall.am, libfs/Makefile.am, wrapup/Makefile.am: Updated with the RFS support.
  • libfs/README: Updated after 10 years.
  • libblock/src/flashdisk.c, libblock/src/nvdisk.c, libblock/src/ramdisk-driver.c: Updated to the new error reporting in libblock.
  • libmisc/shell/main_ls.c, libmisc/shell/print-ls.c: Fix printing the size in long mode.
  • libnetworking/nfs/bootp_subr.c, libnetworking/rtems/rtems_bootp.c, libnetworking/rtems/rtems_bsdnet_internal.h: Return the BOOTP/DHCP to the forever behaviour of 4.9 with the ability to call BOOTP and control the process if required.
  • Property mode set to 100644
File size: 1.8 KB
RevLine 
[a9fa9b7]1/*
2 *  COPYRIGHT (c) 2010 Chris Johns <chrisj@rtems.org>
3 *
4 *  The license and distribution terms for this file may be
5 *  found in the file LICENSE in this distribution or at
6 *  http://www.rtems.com/license/LICENSE.
7 *
8 *  $Id$
9 */
10/**
11 * @file
12 *
13 * @ingroup rtems-rfs
14 *
15 * RTEMS File System Data.
16 *
17 * Access data in the correct byte order for the specific target we are running
18 * on.
19 *
20 * @todo Make direct access on matching byte ordered targets.
21 */
22
23#if !defined (_RTEMS_RFS_DATA_H_)
24#define _RTEMS_RFS_DATA_H_
25
26#include <stdint.h>
27
28/**
29 * Helper function to make sure we have a byte pointer.
30 */
31#define rtems_rfs_data_ptr(_d) ((uint8_t*)(_d))
32
33/**
34 * RFS Read Unsigned 8bit Integer
35 */
36#define rtems_rfs_read_u8(_d) \
37  (*rtems_rfs_data_ptr (_d))
38
39/**
40 * RFS Read Unsigned 16bit Integer
41 */
42#define rtems_rfs_read_u16(_d) \
43  ((rtems_rfs_data_ptr (_d)[0] << 8) | (rtems_rfs_data_ptr (_d)[1]))
44
45/**
46 * RFS Read Unsigned 32bit Integer
47 */
48#define rtems_rfs_read_u32(_d) \
49  ((rtems_rfs_data_ptr (_d)[0] << 24) | (rtems_rfs_data_ptr (_d)[1] << 16) | \
50   (rtems_rfs_data_ptr (_d)[2] << 8) | (rtems_rfs_data_ptr (_d)[3]))
51
52/**
53 * RFS Write Unsigned 8bit Integer
54 */
55#define rtems_rfs_write_u8(_d, _v) \
56  (*rtems_rfs_data_ptr (_d) = (uint8_t)(_v))
57
58/**
59 * RFS Write Unsigned 16bit Integer
60 */
61#define rtems_rfs_write_u16(_d, _v) \
62  do { \
63    rtems_rfs_data_ptr (_d)[0] = (uint8_t)((_v) >> 8); \
64    rtems_rfs_data_ptr (_d)[1] = (uint8_t)((_v)); \
65  } while (0)
66
67/**
68 * RFS Write Unsigned 32bit Integer
69 */
70#define rtems_rfs_write_u32(_d, _v) \
71  do { \
72    rtems_rfs_data_ptr (_d)[0] = (uint8_t)((_v) >> 24); \
73    rtems_rfs_data_ptr (_d)[1] = (uint8_t)((_v) >> 16); \
74    rtems_rfs_data_ptr (_d)[2] = (uint8_t)((_v) >> 8); \
75    rtems_rfs_data_ptr (_d)[3] = (uint8_t)((_v)); \
76  } while (0)
77
78#endif
Note: See TracBrowser for help on using the repository browser.