Ignore:
Timestamp:
Jul 1, 2010, 2:10:54 PM (10 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
4.10
Children:
615d8cc
Parents:
f33be44
Message:

2010-06-07 Sebastian Huber <sebastian.huber@…>

  • libcsupport/include/rtems/libio_.h: Declare rtems_filesystem_mount_table_control.
  • libcsupport/include/rtems/libio.h: Removed rtems_filesystem_table_first(), rtems_filesystem_table_next() and rtems_filesystem_table_node_t declarations. Declare rtems_per_filesystem_routine, rtems_filesystem_iterate() and rtems_filesystem_get_mount_handler().
  • libcsupport/src/mount.c: Added rtems_filesystem_mounts_first() and rtems_filesystem_mounts_next(). Simplify mount(). Removed rtems_filesystem_mount_table_control_init. Use rtems_filesystem_get_mount_handler().
  • libcsupport/src/mount-mgr.c: Removed rtems_filesystem_mounts_first() and rtems_filesystem_mounts_next(). Added rtems_filesystem_iterate() and rtems_filesystem_get_mount_handler(). Use rtems_libio_lock() and rtems_libio_unlock();
  • sapi/include/confdefs.h, libmisc/shell/main_mount.c: Update for mount API changes.

2010-06-07 Bharath Suri <bharath.s.jois@…>

  • libcsupport/include/rtems/libio_.h: Removed macros rtems_filesystem_is_separator rtems_filesystem_get_start_loc rtems_filesystem_get_sym_start_loc and added them as files under libcsupport/src/
  • libcsupport/src/: Added new files libcsupport/src/sup_fs_get_start_loc.c libcsupport/src/sup_fs_get_sym_start_loc.c libcsupport/src/sup_fs_is_separator.c
  • libcsupport/Makefile.am: Changes to accommodate new files under libcsupport/src/
File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpukit/libcsupport/include/rtems/libio_.h

    rf33be44 r00bf6744  
    1 /**
     1/*
    22 * @file rtems/libio_.h
    33 */
     
    3939extern rtems_id                          rtems_libio_semaphore;
    4040extern const rtems_filesystem_file_handlers_r rtems_filesystem_null_handlers;
     41
     42/*
     43 * Mount table list.
     44 */
     45extern rtems_chain_control rtems_filesystem_mount_table_control;
    4146
    4247/*
     
    9196#define rtems_libio_check_fd(_fd) \
    9297  do {                                                     \
    93       if ((uint32_t) (_fd) >= rtems_libio_number_iops) { \
     98      if ((uint32_t) (_fd) >= rtems_libio_number_iops) {   \
    9499          errno = EBADF;                                   \
    95100          return -1;                                       \
     
    130135 */
    131136
    132 #define rtems_libio_check_permissions(_iop, _flag)    \
    133   do {                                                \
    134       if (((_iop)->flags & (_flag)) == 0) {           \
     137#define rtems_libio_check_permissions(_iop, _flag)          \
     138  do {                                                      \
     139      if (((_iop)->flags & (_flag)) == 0) {                 \
    135140            rtems_set_errno_and_return_minus_one( EINVAL ); \
    136             return -1;                                \
    137       }                                               \
     141            return -1;                                      \
     142      }                                                     \
    138143  } while (0)
    139144
     
    149154      if ( (_node)->ops->freenod_h ) \
    150155        (*(_node)->ops->freenod_h)( (_node) ); \
    151   } while (0)
    152 
    153 /*
    154  *  rtems_filesystem_is_separator
    155  *
    156  *  Macro to determine if a character is a path name separator.
    157  *
    158  *  NOTE:  This macro handles MS-DOS and UNIX style names.
    159  */
    160 
    161 #define rtems_filesystem_is_separator( _ch ) \
    162    ( ((_ch) == '/') || ((_ch) == '\\') || ((_ch) == '\0'))
    163 
    164 /*
    165  *  rtems_filesystem_get_start_loc
    166  *
    167  *  Macro to determine if path is absolute or relative.
    168  */
    169 
    170 #define rtems_filesystem_get_start_loc( _path, _index, _loc )  \
    171   do {                                                         \
    172     if ( rtems_filesystem_is_separator( (_path)[ 0 ] ) ) {     \
    173       *(_loc) = rtems_filesystem_root;                         \
    174       *(_index) = 1;                                           \
    175     } else {                                                   \
    176       *(_loc) = rtems_filesystem_current;                      \
    177       *(_index) = 0;                                           \
    178     }                                                          \
    179   } while (0)
    180 
    181 #define rtems_filesystem_get_sym_start_loc( _path, _index, _loc )  \
    182   do {                                                         \
    183     if ( rtems_filesystem_is_separator( (_path)[ 0 ] ) ) {     \
    184       *(_loc) = rtems_filesystem_root;                         \
    185       *(_index) = 1;                                           \
    186     } else {                                                   \
    187       *(_index) = 0;                                           \
    188     }                                                          \
    189156  } while (0)
    190157
     
    272239void rtems_filesystem_initialize(void);
    273240
     241int init_fs_mount_table(void);
     242
     243int rtems_filesystem_is_separator(char ch);
     244
     245void rtems_filesystem_get_start_loc(const char *path,
     246                                    int *index,
     247                                    rtems_filesystem_location_info_t *loc);
     248
     249void rtems_filesystem_get_sym_start_loc(const char *path,
     250                                        int *index,
     251                                        rtems_filesystem_location_info_t *loc);
     252
    274253#ifdef __cplusplus
    275254}
Note: See TracChangeset for help on using the changeset viewer.