Index: cpukit/ChangeLog
===================================================================
--- cpukit/ChangeLog	(revision b834bde0a21903e0287ba6425dde9243f1c4acef)
+++ cpukit/ChangeLog	(revision b79a45e9c02e6aa5d768a932280ce55b5c77d212)
@@ -1,2 +1,18 @@
+2010-06-07	Bharath Suri <bharath.s.jois@gmail.com>
+
+	* 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/
+
 2010-06-07	Sebastian Huber <sebastian.huber@embedded-brains.de>
 
Index: cpukit/libcsupport/Makefile.am
===================================================================
--- cpukit/libcsupport/Makefile.am	(revision b834bde0a21903e0287ba6425dde9243f1c4acef)
+++ cpukit/libcsupport/Makefile.am	(revision b79a45e9c02e6aa5d768a932280ce55b5c77d212)
@@ -111,4 +111,6 @@
 libcsupport_a_SOURCES = src/gxx_wrappers.c src/getchark.c src/printk.c \
     src/printk_plugin.c src/putk.c src/vprintk.c \
+    src/sup_fs_is_separator.c src/sup_fs_get_start_loc.c \
+    src/sup_fs_get_sym_start_loc.c \
     $(BSD_LIBC_C_FILES) $(BASE_FS_C_FILES) $(MALLOC_C_FILES) \
     $(ERROR_C_FILES) $(ASSOCIATION_C_FILES)
Index: cpukit/libcsupport/include/rtems/libio_.h
===================================================================
--- cpukit/libcsupport/include/rtems/libio_.h	(revision b834bde0a21903e0287ba6425dde9243f1c4acef)
+++ cpukit/libcsupport/include/rtems/libio_.h	(revision b79a45e9c02e6aa5d768a932280ce55b5c77d212)
@@ -1,3 +1,3 @@
-/**
+/*
  * @file rtems/libio_.h
  */
@@ -91,5 +91,5 @@
 #define rtems_libio_check_fd(_fd) \
   do {                                                     \
-      if ((uint32_t) (_fd) >= rtems_libio_number_iops) { \
+      if ((uint32_t) (_fd) >= rtems_libio_number_iops) {   \
           errno = EBADF;                                   \
           return -1;                                       \
@@ -130,10 +130,10 @@
  */
 
-#define rtems_libio_check_permissions(_iop, _flag)    \
-  do {                                                \
-      if (((_iop)->flags & (_flag)) == 0) {           \
+#define rtems_libio_check_permissions(_iop, _flag)          \
+  do {                                                      \
+      if (((_iop)->flags & (_flag)) == 0) {                 \
             rtems_set_errno_and_return_minus_one( EINVAL ); \
-            return -1;                                \
-      }                                               \
+            return -1;                                      \
+      }                                                     \
   } while (0)
 
@@ -149,42 +149,4 @@
       if ( (_node)->ops->freenod_h ) \
         (*(_node)->ops->freenod_h)( (_node) ); \
-  } while (0)
-
-/*
- *  rtems_filesystem_is_separator
- *
- *  Macro to determine if a character is a path name separator.
- *
- *  NOTE:  This macro handles MS-DOS and UNIX style names.
- */
-
-#define rtems_filesystem_is_separator( _ch ) \
-   ( ((_ch) == '/') || ((_ch) == '\\') || ((_ch) == '\0'))
-
-/*
- *  rtems_filesystem_get_start_loc
- *
- *  Macro to determine if path is absolute or relative.
- */
-
-#define rtems_filesystem_get_start_loc( _path, _index, _loc )  \
-  do {                                                         \
-    if ( rtems_filesystem_is_separator( (_path)[ 0 ] ) ) {     \
-      *(_loc) = rtems_filesystem_root;                         \
-      *(_index) = 1;                                           \
-    } else {                                                   \
-      *(_loc) = rtems_filesystem_current;                      \
-      *(_index) = 0;                                           \
-    }                                                          \
-  } while (0)
-
-#define rtems_filesystem_get_sym_start_loc( _path, _index, _loc )  \
-  do {                                                         \
-    if ( rtems_filesystem_is_separator( (_path)[ 0 ] ) ) {     \
-      *(_loc) = rtems_filesystem_root;                         \
-      *(_index) = 1;                                           \
-    } else {                                                   \
-      *(_index) = 0;                                           \
-    }                                                          \
   } while (0)
 
@@ -272,4 +234,16 @@
 void rtems_filesystem_initialize(void);
 
+int init_fs_mount_table(void);
+
+int rtems_filesystem_is_separator(char ch);
+
+void rtems_filesystem_get_start_loc(const char *path,
+				    int *index,
+				    rtems_filesystem_location_info_t *loc);
+
+void rtems_filesystem_get_sym_start_loc(const char *path,
+					int *index,
+					rtems_filesystem_location_info_t *loc);
+
 #ifdef __cplusplus
 }
