[Debburn-devel] remapping *?:><|\ on Joliet

Albert Cahalan acahalan at gmail.com
Thu Dec 7 07:11:57 CET 2006


It seems that Microsoft has decided to deviate from
normal UTF-16 for filesystem encodings.

There is a so-called "Services for UNIX" product that
Microsoft is offering as a replacement for the dying old
POSIX subsystem. This product remaps troublesome
characters to allow storage on NTFS.

It works great for network shares with Linux, provided
that you use the mapchars option with the cifs driver.
Since this remapping is the one Microsoft chose for
their filesystems, using it on Joliet CDs would be good.

This would be the encoding you'd get if you used a
Win32 CD creation tool to make a CD containing files
that were made with Services for UNIX utilities.

>From the Linux kernel fs/cifs/misc.c file:

#define UNI_ASTERIK     (__u16) ('*' + 0xF000)
#define UNI_QUESTION    (__u16) ('?' + 0xF000)
#define UNI_COLON       (__u16) (':' + 0xF000)
#define UNI_GRTRTHAN    (__u16) ('>' + 0xF000)
#define UNI_LESSTHAN    (__u16) ('<' + 0xF000)
#define UNI_PIPE        (__u16) ('|' + 0xF000)
#define UNI_SLASH       (__u16) ('\\' + 0xF000)

Note that Services for UNIX is a free download.

I'll be suggesting this translation to various other
projects if nobody beats me to it. There are many:
Wine, Cygwin, non-cifs and non-Linux fs drivers...



More information about the Debburn-devel mailing list