summaryrefslogtreecommitdiffstats
path: root/cpukit/libfs/src/dosfs/dosfs.h
diff options
context:
space:
mode:
authorRalf Kirchner <ralf.kirchner@embedded-brains.de>2013-05-23 15:48:54 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-06-03 17:28:41 +0200
commit83a4cbb69d65c46a4d7b12de28064e4f550c1428 (patch)
tree43af5e157c6443a0b8a5769d8eb59874ee644047 /cpukit/libfs/src/dosfs/dosfs.h
parentlibtests: Add new test: utf8proc01 (diff)
downloadrtems-83a4cbb69d65c46a4d7b12de28064e4f550c1428.tar.bz2
dosfs: UTF-8 Support: Multibyte conversions
Add optional conversion methods for multibyte strings. With these conversions which make use of iconv and utf8proc it becomes possible to use strings from any language (Czech, Chinese, Arabian, Hebrew, Corean, ...) for file names and directory names. NOTE: Iconv support must be activated during the build of the tool chain for these conversion methods (options --enable-newlib-iconv --enable-newlib-iconv-encodings=[ENCODINGS_YOU_WANT]). Alternatively you can provide your own conversion methods.
Diffstat (limited to 'cpukit/libfs/src/dosfs/dosfs.h')
-rw-r--r--cpukit/libfs/src/dosfs/dosfs.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/cpukit/libfs/src/dosfs/dosfs.h b/cpukit/libfs/src/dosfs/dosfs.h
index f1c3d87d51..acfc143096 100644
--- a/cpukit/libfs/src/dosfs/dosfs.h
+++ b/cpukit/libfs/src/dosfs/dosfs.h
@@ -206,7 +206,8 @@ typedef struct {
/**
* @brief Converter implementation for new filesystem instance.
*
- * @see rtems_dosfs_create_default_converter().
+ * @see rtems_dosfs_create_default_converter() and
+ * rtems_dosfs_create_utf8_converter().
*/
rtems_dosfs_convert_control *converter;
} rtems_dosfs_mount_options;
@@ -221,6 +222,20 @@ typedef struct {
*/
rtems_dosfs_convert_control *rtems_dosfs_create_default_converter(void);
+/**
+ * @brief Allocates and initializes a UTF-8 converter.
+ *
+ * @param[in] codepage The iconv() identification string for the used codepage.
+ *
+ * @retval NULL Something failed.
+ * @retval other Pointer to initialized converter.
+ *
+ * @see rtems_dosfs_mount_options and mount().
+ */
+rtems_dosfs_convert_control *rtems_dosfs_create_utf8_converter(
+ const char *codepage
+);
+
#define MSDOS_FMT_INFO_LEVEL_NONE (0)
#define MSDOS_FMT_INFO_LEVEL_INFO (1)
#define MSDOS_FMT_INFO_LEVEL_DETAIL (2)