summaryrefslogtreecommitdiffstats
path: root/sys/fs/msdosfs/msdosfsmount.h
diff options
context:
space:
mode:
authorfjoe <fjoe@FreeBSD.org>2003-09-26 20:26:25 +0000
committerfjoe <fjoe@FreeBSD.org>2003-09-26 20:26:25 +0000
commit571ef024e3f3a472116a55a8489d77eb4f5f933e (patch)
tree5e4dbdee80eebe5477ad9c5637bb6b0ee47993d5 /sys/fs/msdosfs/msdosfsmount.h
parent0c8bfb6d004a87cd501c13516a69b3ef59ed6c7c (diff)
downloadFreeBSD-src-571ef024e3f3a472116a55a8489d77eb4f5f933e.zip
FreeBSD-src-571ef024e3f3a472116a55a8489d77eb4f5f933e.tar.gz
- Support for multibyte charsets in LIBICONV.
- CD9660_ICONV, NTFS_ICONV and MSDOSFS_ICONV kernel options (with corresponding modules). - kiconv(3) for loadable charset conversion tables support. Submitted by: Ryuichiro Imura <imura@ryu16.org>
Diffstat (limited to 'sys/fs/msdosfs/msdosfsmount.h')
-rw-r--r--sys/fs/msdosfs/msdosfsmount.h22
1 files changed, 9 insertions, 13 deletions
diff --git a/sys/fs/msdosfs/msdosfsmount.h b/sys/fs/msdosfs/msdosfsmount.h
index d525771..468677a 100644
--- a/sys/fs/msdosfs/msdosfsmount.h
+++ b/sys/fs/msdosfs/msdosfsmount.h
@@ -95,11 +95,10 @@ struct msdosfsmount {
u_int pm_curfat; /* current fat for FAT32 (0 otherwise) */
u_int *pm_inusemap; /* ptr to bitmap of in-use clusters */
u_int pm_flags; /* see below */
- u_int16_t pm_u2w[128]; /* Local->Unicode table */
- u_int8_t pm_ul[128]; /* Local upper->lower table */
- u_int8_t pm_lu[128]; /* Local lower->upper table */
- u_int8_t pm_d2u[128]; /* DOS->local table */
- u_int8_t pm_u2d[128]; /* Local->DOS table */
+ void *pm_u2w; /* Local->Unicode iconv handle */
+ void *pm_w2u; /* Unicode->Local iconv handle */
+ void *pm_u2d; /* Unicode->DOS iconv handle */
+ void *pm_d2u; /* DOS->Local iconv handle */
};
/* Byte offset in FAT on filesystem pmp, cluster cn */
#define FATOFS(pmp, cn) ((cn) * (pmp)->pm_fatmult / (pmp)->pm_fatdiv)
@@ -218,10 +217,9 @@ struct msdosfs_args {
int flags; /* see below */
int magic; /* version number */
u_int16_t u2w[128]; /* Local->Unicode table */
- u_int8_t ul[128]; /* Local upper->lower table */
- u_int8_t lu[128]; /* Local lower->upper table */
- u_int8_t d2u[128]; /* DOS->local table */
- u_int8_t u2d[128]; /* Local->DOS table */
+ char *cs_win; /* Windows(Unicode) Charset */
+ char *cs_dos; /* DOS Charset */
+ char *cs_local; /* Local Charset */
};
/*
@@ -230,13 +228,11 @@ struct msdosfs_args {
#define MSDOSFSMNT_SHORTNAME 1 /* Force old DOS short names only */
#define MSDOSFSMNT_LONGNAME 2 /* Force Win'95 long names */
#define MSDOSFSMNT_NOWIN95 4 /* Completely ignore Win95 entries */
-#define MSDOSFSMNT_U2WTABLE 0x10 /* Local->Unicode and local<->DOS */
- /* tables loaded */
-#define MSDOSFSMNT_ULTABLE 0x20 /* Local upper<->lower table loaded */
+#define MSDOSFSMNT_KICONV 0x10 /* Use libiconv to convert chars */
/* All flags above: */
#define MSDOSFSMNT_MNTOPT \
(MSDOSFSMNT_SHORTNAME|MSDOSFSMNT_LONGNAME|MSDOSFSMNT_NOWIN95 \
- |MSDOSFSMNT_U2WTABLE|MSDOSFSMNT_ULTABLE)
+ |MSDOSFSMNT_KICONV)
#define MSDOSFSMNT_RONLY 0x80000000 /* mounted read-only */
#define MSDOSFSMNT_WAITONFAT 0x40000000 /* mounted synchronous */
#define MSDOSFS_FATMIRROR 0x20000000 /* FAT is mirrored */
OpenPOWER on IntegriCloud