summaryrefslogtreecommitdiff
path: root/Frameworks/physfs.framework
diff options
context:
space:
mode:
Diffstat (limited to 'Frameworks/physfs.framework')
-rw-r--r--Frameworks/physfs.framework/.svn/all-wcprops23
-rw-r--r--Frameworks/physfs.framework/.svn/entries79
-rw-r--r--Frameworks/physfs.framework/.svn/format1
-rw-r--r--Frameworks/physfs.framework/.svn/prop-base/Headers.svn-base5
-rw-r--r--Frameworks/physfs.framework/.svn/prop-base/Resources.svn-base5
-rw-r--r--Frameworks/physfs.framework/.svn/prop-base/physfs.svn-base5
-rw-r--r--Frameworks/physfs.framework/.svn/text-base/Headers.svn-base1
-rw-r--r--Frameworks/physfs.framework/.svn/text-base/Resources.svn-base1
-rw-r--r--Frameworks/physfs.framework/.svn/text-base/physfs.svn-base1
-rw-r--r--Frameworks/physfs.framework/Versions/.svn/all-wcprops11
-rw-r--r--Frameworks/physfs.framework/Versions/.svn/entries47
-rw-r--r--Frameworks/physfs.framework/Versions/.svn/format1
-rw-r--r--Frameworks/physfs.framework/Versions/.svn/prop-base/Current.svn-base5
-rw-r--r--Frameworks/physfs.framework/Versions/.svn/text-base/Current.svn-base1
-rw-r--r--Frameworks/physfs.framework/Versions/A/.svn/all-wcprops11
-rw-r--r--Frameworks/physfs.framework/Versions/A/.svn/entries47
-rw-r--r--Frameworks/physfs.framework/Versions/A/.svn/format1
-rw-r--r--Frameworks/physfs.framework/Versions/A/.svn/prop-base/physfs.svn-base9
-rw-r--r--Frameworks/physfs.framework/Versions/A/.svn/text-base/physfs.svn-basebin378756 -> 0 bytes
-rw-r--r--Frameworks/physfs.framework/Versions/A/Headers/.svn/all-wcprops29
-rw-r--r--Frameworks/physfs.framework/Versions/A/Headers/.svn/entries76
-rw-r--r--Frameworks/physfs.framework/Versions/A/Headers/.svn/format1
-rw-r--r--Frameworks/physfs.framework/Versions/A/Headers/.svn/text-base/physfs.h.svn-base2390
-rw-r--r--Frameworks/physfs.framework/Versions/A/Headers/.svn/text-base/physfs_casefolding.h.svn-base2013
-rw-r--r--Frameworks/physfs.framework/Versions/A/Headers/.svn/text-base/physfs_internal.h.svn-base1779
-rw-r--r--Frameworks/physfs.framework/Versions/A/Headers/.svn/text-base/physfs_platforms.h.svn-base37
-rw-r--r--Frameworks/physfs.framework/Versions/A/Headers/physfs.h2390
-rw-r--r--Frameworks/physfs.framework/Versions/A/Headers/physfs_casefolding.h2013
-rw-r--r--Frameworks/physfs.framework/Versions/A/Headers/physfs_internal.h1779
-rw-r--r--Frameworks/physfs.framework/Versions/A/Headers/physfs_platforms.h37
-rw-r--r--Frameworks/physfs.framework/Versions/A/Resources/.svn/all-wcprops11
-rw-r--r--Frameworks/physfs.framework/Versions/A/Resources/.svn/entries43
-rw-r--r--Frameworks/physfs.framework/Versions/A/Resources/.svn/format1
-rw-r--r--Frameworks/physfs.framework/Versions/A/Resources/.svn/text-base/Info.plist.svn-base22
-rw-r--r--Frameworks/physfs.framework/Versions/A/Resources/English.lproj/.svn/all-wcprops11
-rw-r--r--Frameworks/physfs.framework/Versions/A/Resources/English.lproj/.svn/entries41
-rw-r--r--Frameworks/physfs.framework/Versions/A/Resources/English.lproj/.svn/format1
-rw-r--r--Frameworks/physfs.framework/Versions/A/Resources/English.lproj/.svn/prop-base/InfoPlist.strings.svn-base5
-rw-r--r--Frameworks/physfs.framework/Versions/A/Resources/English.lproj/.svn/text-base/InfoPlist.strings.svn-basebin92 -> 0 bytes
-rw-r--r--Frameworks/physfs.framework/Versions/A/Resources/English.lproj/InfoPlist.stringsbin92 -> 0 bytes
-rw-r--r--Frameworks/physfs.framework/Versions/A/Resources/Info.plist22
-rwxr-xr-xFrameworks/physfs.framework/Versions/A/physfsbin378756 -> 0 bytes
42 files changed, 0 insertions, 12955 deletions
diff --git a/Frameworks/physfs.framework/.svn/all-wcprops b/Frameworks/physfs.framework/.svn/all-wcprops
deleted file mode 100644
index 2e316bff..00000000
--- a/Frameworks/physfs.framework/.svn/all-wcprops
+++ /dev/null
@@ -1,23 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 71
-/svnroot/lom/!svn/ver/408/client/proj/xcode/Frameworks/physfs.framework
-END
-Resources
-K 25
-svn:wc:ra_dav:version-url
-V 81
-/svnroot/lom/!svn/ver/408/client/proj/xcode/Frameworks/physfs.framework/Resources
-END
-Headers
-K 25
-svn:wc:ra_dav:version-url
-V 79
-/svnroot/lom/!svn/ver/408/client/proj/xcode/Frameworks/physfs.framework/Headers
-END
-physfs
-K 25
-svn:wc:ra_dav:version-url
-V 78
-/svnroot/lom/!svn/ver/408/client/proj/xcode/Frameworks/physfs.framework/physfs
-END
diff --git a/Frameworks/physfs.framework/.svn/entries b/Frameworks/physfs.framework/.svn/entries
deleted file mode 100644
index 3e683b54..00000000
--- a/Frameworks/physfs.framework/.svn/entries
+++ /dev/null
@@ -1,79 +0,0 @@
-8
-
-dir
-425
-https://allenmoatallen@lom.svn.sourceforge.net/svnroot/lom/client/proj/xcode/Frameworks/physfs.framework
-https://allenmoatallen@lom.svn.sourceforge.net/svnroot/lom
-
-
-
-2009-01-28T20:51:01.517662Z
-408
-allenmoatallen
-
-
-svn:special svn:externals svn:needs-lock
-
-
-
-
-
-
-
-
-
-
-
-526aae6b-ec45-0410-ad3e-d5d18bbc98bf
-
-Versions
-dir
-
-Resources
-file
-
-
-
-
-2009-01-28T20:52:50.000000Z
-8a6539acc25a583ce7a88f6573bf4687
-2009-01-28T20:51:01.517662Z
-408
-allenmoatallen
-has-props
-
-
-svn:special
-
-Headers
-file
-
-
-
-
-2009-01-28T20:52:50.000000Z
-574393f6f6e7d44c9dfa3c805bbefb99
-2009-01-28T20:51:01.517662Z
-408
-allenmoatallen
-has-props
-
-
-svn:special
-
-physfs
-file
-
-
-
-
-2009-01-28T20:52:50.000000Z
-2cd8b45ed3ad9de40ca1bf6e8ea99f30
-2009-01-28T20:51:01.517662Z
-408
-allenmoatallen
-has-props
-
-
-svn:special
-
diff --git a/Frameworks/physfs.framework/.svn/format b/Frameworks/physfs.framework/.svn/format
deleted file mode 100644
index 45a4fb75..00000000
--- a/Frameworks/physfs.framework/.svn/format
+++ /dev/null
@@ -1 +0,0 @@
-8
diff --git a/Frameworks/physfs.framework/.svn/prop-base/Headers.svn-base b/Frameworks/physfs.framework/.svn/prop-base/Headers.svn-base
deleted file mode 100644
index d2224698..00000000
--- a/Frameworks/physfs.framework/.svn/prop-base/Headers.svn-base
+++ /dev/null
@@ -1,5 +0,0 @@
-K 11
-svn:special
-V 1
-*
-END
diff --git a/Frameworks/physfs.framework/.svn/prop-base/Resources.svn-base b/Frameworks/physfs.framework/.svn/prop-base/Resources.svn-base
deleted file mode 100644
index d2224698..00000000
--- a/Frameworks/physfs.framework/.svn/prop-base/Resources.svn-base
+++ /dev/null
@@ -1,5 +0,0 @@
-K 11
-svn:special
-V 1
-*
-END
diff --git a/Frameworks/physfs.framework/.svn/prop-base/physfs.svn-base b/Frameworks/physfs.framework/.svn/prop-base/physfs.svn-base
deleted file mode 100644
index d2224698..00000000
--- a/Frameworks/physfs.framework/.svn/prop-base/physfs.svn-base
+++ /dev/null
@@ -1,5 +0,0 @@
-K 11
-svn:special
-V 1
-*
-END
diff --git a/Frameworks/physfs.framework/.svn/text-base/Headers.svn-base b/Frameworks/physfs.framework/.svn/text-base/Headers.svn-base
deleted file mode 100644
index 45bda20b..00000000
--- a/Frameworks/physfs.framework/.svn/text-base/Headers.svn-base
+++ /dev/null
@@ -1 +0,0 @@
-link Versions/Current/Headers \ No newline at end of file
diff --git a/Frameworks/physfs.framework/.svn/text-base/Resources.svn-base b/Frameworks/physfs.framework/.svn/text-base/Resources.svn-base
deleted file mode 100644
index 0af1f07c..00000000
--- a/Frameworks/physfs.framework/.svn/text-base/Resources.svn-base
+++ /dev/null
@@ -1 +0,0 @@
-link Versions/Current/Resources \ No newline at end of file
diff --git a/Frameworks/physfs.framework/.svn/text-base/physfs.svn-base b/Frameworks/physfs.framework/.svn/text-base/physfs.svn-base
deleted file mode 100644
index 8f765cb6..00000000
--- a/Frameworks/physfs.framework/.svn/text-base/physfs.svn-base
+++ /dev/null
@@ -1 +0,0 @@
-link Versions/Current/physfs \ No newline at end of file
diff --git a/Frameworks/physfs.framework/Versions/.svn/all-wcprops b/Frameworks/physfs.framework/Versions/.svn/all-wcprops
deleted file mode 100644
index b1b6ee83..00000000
--- a/Frameworks/physfs.framework/Versions/.svn/all-wcprops
+++ /dev/null
@@ -1,11 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 80
-/svnroot/lom/!svn/ver/408/client/proj/xcode/Frameworks/physfs.framework/Versions
-END
-Current
-K 25
-svn:wc:ra_dav:version-url
-V 88
-/svnroot/lom/!svn/ver/408/client/proj/xcode/Frameworks/physfs.framework/Versions/Current
-END
diff --git a/Frameworks/physfs.framework/Versions/.svn/entries b/Frameworks/physfs.framework/Versions/.svn/entries
deleted file mode 100644
index 02577d46..00000000
--- a/Frameworks/physfs.framework/Versions/.svn/entries
+++ /dev/null
@@ -1,47 +0,0 @@
-8
-
-dir
-425
-https://allenmoatallen@lom.svn.sourceforge.net/svnroot/lom/client/proj/xcode/Frameworks/physfs.framework/Versions
-https://allenmoatallen@lom.svn.sourceforge.net/svnroot/lom
-
-
-
-2009-01-28T20:51:01.517662Z
-408
-allenmoatallen
-
-
-svn:special svn:externals svn:needs-lock
-
-
-
-
-
-
-
-
-
-
-
-526aae6b-ec45-0410-ad3e-d5d18bbc98bf
-
-A
-dir
-
-Current
-file
-
-
-
-
-2009-01-28T20:52:50.000000Z
-654580f41818cd6f51408c7cbd313728
-2009-01-28T20:51:01.517662Z
-408
-allenmoatallen
-has-props
-
-
-svn:special
-
diff --git a/Frameworks/physfs.framework/Versions/.svn/format b/Frameworks/physfs.framework/Versions/.svn/format
deleted file mode 100644
index 45a4fb75..00000000
--- a/Frameworks/physfs.framework/Versions/.svn/format
+++ /dev/null
@@ -1 +0,0 @@
-8
diff --git a/Frameworks/physfs.framework/Versions/.svn/prop-base/Current.svn-base b/Frameworks/physfs.framework/Versions/.svn/prop-base/Current.svn-base
deleted file mode 100644
index d2224698..00000000
--- a/Frameworks/physfs.framework/Versions/.svn/prop-base/Current.svn-base
+++ /dev/null
@@ -1,5 +0,0 @@
-K 11
-svn:special
-V 1
-*
-END
diff --git a/Frameworks/physfs.framework/Versions/.svn/text-base/Current.svn-base b/Frameworks/physfs.framework/Versions/.svn/text-base/Current.svn-base
deleted file mode 100644
index 613feee7..00000000
--- a/Frameworks/physfs.framework/Versions/.svn/text-base/Current.svn-base
+++ /dev/null
@@ -1 +0,0 @@
-link A \ No newline at end of file
diff --git a/Frameworks/physfs.framework/Versions/A/.svn/all-wcprops b/Frameworks/physfs.framework/Versions/A/.svn/all-wcprops
deleted file mode 100644
index 6c9a6c5a..00000000
--- a/Frameworks/physfs.framework/Versions/A/.svn/all-wcprops
+++ /dev/null
@@ -1,11 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 82
-/svnroot/lom/!svn/ver/408/client/proj/xcode/Frameworks/physfs.framework/Versions/A
-END
-physfs
-K 25
-svn:wc:ra_dav:version-url
-V 89
-/svnroot/lom/!svn/ver/408/client/proj/xcode/Frameworks/physfs.framework/Versions/A/physfs
-END
diff --git a/Frameworks/physfs.framework/Versions/A/.svn/entries b/Frameworks/physfs.framework/Versions/A/.svn/entries
deleted file mode 100644
index 3d672c54..00000000
--- a/Frameworks/physfs.framework/Versions/A/.svn/entries
+++ /dev/null
@@ -1,47 +0,0 @@
-8
-
-dir
-425
-https://allenmoatallen@lom.svn.sourceforge.net/svnroot/lom/client/proj/xcode/Frameworks/physfs.framework/Versions/A
-https://allenmoatallen@lom.svn.sourceforge.net/svnroot/lom
-
-
-
-2009-01-28T20:51:01.517662Z
-408
-allenmoatallen
-
-
-svn:special svn:externals svn:needs-lock
-
-
-
-
-
-
-
-
-
-
-
-526aae6b-ec45-0410-ad3e-d5d18bbc98bf
-
-Resources
-dir
-
-Headers
-dir
-
-physfs
-file
-
-
-
-
-2009-01-28T20:52:50.000000Z
-d49f59e3b4fe03aa2a06a020282b4892
-2009-01-28T20:51:01.517662Z
-408
-allenmoatallen
-has-props
-
diff --git a/Frameworks/physfs.framework/Versions/A/.svn/format b/Frameworks/physfs.framework/Versions/A/.svn/format
deleted file mode 100644
index 45a4fb75..00000000
--- a/Frameworks/physfs.framework/Versions/A/.svn/format
+++ /dev/null
@@ -1 +0,0 @@
-8
diff --git a/Frameworks/physfs.framework/Versions/A/.svn/prop-base/physfs.svn-base b/Frameworks/physfs.framework/Versions/A/.svn/prop-base/physfs.svn-base
deleted file mode 100644
index cd0e69f8..00000000
--- a/Frameworks/physfs.framework/Versions/A/.svn/prop-base/physfs.svn-base
+++ /dev/null
@@ -1,9 +0,0 @@
-K 14
-svn:executable
-V 0
-
-K 13
-svn:mime-type
-V 24
-application/octet-stream
-END
diff --git a/Frameworks/physfs.framework/Versions/A/.svn/text-base/physfs.svn-base b/Frameworks/physfs.framework/Versions/A/.svn/text-base/physfs.svn-base
deleted file mode 100644
index efea2d32..00000000
--- a/Frameworks/physfs.framework/Versions/A/.svn/text-base/physfs.svn-base
+++ /dev/null
Binary files differ
diff --git a/Frameworks/physfs.framework/Versions/A/Headers/.svn/all-wcprops b/Frameworks/physfs.framework/Versions/A/Headers/.svn/all-wcprops
deleted file mode 100644
index 18a170e4..00000000
--- a/Frameworks/physfs.framework/Versions/A/Headers/.svn/all-wcprops
+++ /dev/null
@@ -1,29 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 90
-/svnroot/lom/!svn/ver/408/client/proj/xcode/Frameworks/physfs.framework/Versions/A/Headers
-END
-physfs_casefolding.h
-K 25
-svn:wc:ra_dav:version-url
-V 111
-/svnroot/lom/!svn/ver/408/client/proj/xcode/Frameworks/physfs.framework/Versions/A/Headers/physfs_casefolding.h
-END
-physfs.h
-K 25
-svn:wc:ra_dav:version-url
-V 99
-/svnroot/lom/!svn/ver/408/client/proj/xcode/Frameworks/physfs.framework/Versions/A/Headers/physfs.h
-END
-physfs_platforms.h
-K 25
-svn:wc:ra_dav:version-url
-V 109
-/svnroot/lom/!svn/ver/408/client/proj/xcode/Frameworks/physfs.framework/Versions/A/Headers/physfs_platforms.h
-END
-physfs_internal.h
-K 25
-svn:wc:ra_dav:version-url
-V 108
-/svnroot/lom/!svn/ver/408/client/proj/xcode/Frameworks/physfs.framework/Versions/A/Headers/physfs_internal.h
-END
diff --git a/Frameworks/physfs.framework/Versions/A/Headers/.svn/entries b/Frameworks/physfs.framework/Versions/A/Headers/.svn/entries
deleted file mode 100644
index 9a16792d..00000000
--- a/Frameworks/physfs.framework/Versions/A/Headers/.svn/entries
+++ /dev/null
@@ -1,76 +0,0 @@
-8
-
-dir
-425
-https://allenmoatallen@lom.svn.sourceforge.net/svnroot/lom/client/proj/xcode/Frameworks/physfs.framework/Versions/A/Headers
-https://allenmoatallen@lom.svn.sourceforge.net/svnroot/lom
-
-
-
-2009-01-28T20:51:01.517662Z
-408
-allenmoatallen
-
-
-svn:special svn:externals svn:needs-lock
-
-
-
-
-
-
-
-
-
-
-
-526aae6b-ec45-0410-ad3e-d5d18bbc98bf
-
-physfs_casefolding.h
-file
-
-
-
-
-2009-01-28T20:52:50.000000Z
-b730bc551e08d8d76d476f385918a610
-2009-01-28T20:51:01.517662Z
-408
-allenmoatallen
-
-physfs.h
-file
-
-
-
-
-2009-01-28T20:52:50.000000Z
-59f6f8a1ad43a538660d37166737337d
-2009-01-28T20:51:01.517662Z
-408
-allenmoatallen
-
-physfs_platforms.h
-file
-
-
-
-
-2009-01-28T20:52:50.000000Z
-5fdceedee21fd58d1498346835a69880
-2009-01-28T20:51:01.517662Z
-408
-allenmoatallen
-
-physfs_internal.h
-file
-
-
-
-
-2009-01-28T20:52:50.000000Z
-6cb9e424f87c65daa41d9c20eff3a712
-2009-01-28T20:51:01.517662Z
-408
-allenmoatallen
-
diff --git a/Frameworks/physfs.framework/Versions/A/Headers/.svn/format b/Frameworks/physfs.framework/Versions/A/Headers/.svn/format
deleted file mode 100644
index 45a4fb75..00000000
--- a/Frameworks/physfs.framework/Versions/A/Headers/.svn/format
+++ /dev/null
@@ -1 +0,0 @@
-8
diff --git a/Frameworks/physfs.framework/Versions/A/Headers/.svn/text-base/physfs.h.svn-base b/Frameworks/physfs.framework/Versions/A/Headers/.svn/text-base/physfs.h.svn-base
deleted file mode 100644
index 90386325..00000000
--- a/Frameworks/physfs.framework/Versions/A/Headers/.svn/text-base/physfs.h.svn-base
+++ /dev/null
@@ -1,2390 +0,0 @@
-/** \file physfs.h */
-
-/**
- * \mainpage PhysicsFS
- *
- * The latest version of PhysicsFS can be found at:
- * http://icculus.org/physfs/
- *
- * PhysicsFS; a portable, flexible file i/o abstraction.
- *
- * This API gives you access to a system file system in ways superior to the
- * stdio or system i/o calls. The brief benefits:
- *
- * - It's portable.
- * - It's safe. No file access is permitted outside the specified dirs.
- * - It's flexible. Archives (.ZIP files) can be used transparently as
- * directory structures.
- *
- * This system is largely inspired by Quake 3's PK3 files and the related
- * fs_* cvars. If you've ever tinkered with these, then this API will be
- * familiar to you.
- *
- * With PhysicsFS, you have a single writing directory and multiple
- * directories (the "search path") for reading. You can think of this as a
- * filesystem within a filesystem. If (on Windows) you were to set the
- * writing directory to "C:\MyGame\MyWritingDirectory", then no PHYSFS calls
- * could touch anything above this directory, including the "C:\MyGame" and
- * "C:\" directories. This prevents an application's internal scripting
- * language from piddling over c:\\config.sys, for example. If you'd rather
- * give PHYSFS full access to the system's REAL file system, set the writing
- * dir to "C:\", but that's generally A Bad Thing for several reasons.
- *
- * Drive letters are hidden in PhysicsFS once you set up your initial paths.
- * The search path creates a single, hierarchical directory structure.
- * Not only does this lend itself well to general abstraction with archives,
- * it also gives better support to operating systems like MacOS and Unix.
- * Generally speaking, you shouldn't ever hardcode a drive letter; not only
- * does this hurt portability to non-Microsoft OSes, but it limits your win32
- * users to a single drive, too. Use the PhysicsFS abstraction functions and
- * allow user-defined configuration options, too. When opening a file, you
- * specify it like it was on a Unix filesystem: if you want to write to
- * "C:\MyGame\MyConfigFiles\game.cfg", then you might set the write dir to
- * "C:\MyGame" and then open "MyConfigFiles/game.cfg". This gives an
- * abstraction across all platforms. Specifying a file in this way is termed
- * "platform-independent notation" in this documentation. Specifying a
- * a filename in a form such as "C:\mydir\myfile" or
- * "MacOS hard drive:My Directory:My File" is termed "platform-dependent
- * notation". The only time you use platform-dependent notation is when
- * setting up your write directory and search path; after that, all file
- * access into those directories are done with platform-independent notation.
- *
- * All files opened for writing are opened in relation to the write directory,
- * which is the root of the writable filesystem. When opening a file for
- * reading, PhysicsFS goes through the search path. This is NOT the
- * same thing as the PATH environment variable. An application using
- * PhysicsFS specifies directories to be searched which may be actual
- * directories, or archive files that contain files and subdirectories of
- * their own. See the end of these docs for currently supported archive
- * formats.
- *
- * Once the search path is defined, you may open files for reading. If you've
- * got the following search path defined (to use a win32 example again):
- *
- * - C:\\mygame
- * - C:\\mygame\\myuserfiles
- * - D:\\mygamescdromdatafiles
- * - C:\\mygame\\installeddatafiles.zip
- *
- * Then a call to PHYSFS_openRead("textfiles/myfile.txt") (note the directory
- * separator, lack of drive letter, and lack of dir separator at the start of
- * the string; this is platform-independent notation) will check for
- * C:\\mygame\\textfiles\\myfile.txt, then
- * C:\\mygame\\myuserfiles\\textfiles\\myfile.txt, then
- * D:\\mygamescdromdatafiles\\textfiles\\myfile.txt, then, finally, for
- * textfiles\\myfile.txt inside of C:\\mygame\\installeddatafiles.zip.
- * Remember that most archive types and platform filesystems store their
- * filenames in a case-sensitive manner, so you should be careful to specify
- * it correctly.
- *
- * Files opened through PhysicsFS may NOT contain "." or ".." or ":" as dir
- * elements. Not only are these meaningless on MacOS Classic and/or Unix,
- * they are a security hole. Also, symbolic links (which can be found in
- * some archive types and directly in the filesystem on Unix platforms) are
- * NOT followed until you call PHYSFS_permitSymbolicLinks(). That's left to
- * your own discretion, as following a symlink can allow for access outside
- * the write dir and search paths. For portability, there is no mechanism for
- * creating new symlinks in PhysicsFS.
- *
- * The write dir is not included in the search path unless you specifically
- * add it. While you CAN change the write dir as many times as you like,
- * you should probably set it once and stick to it. Remember that your
- * program will not have permission to write in every directory on Unix and
- * NT systems.
- *
- * All files are opened in binary mode; there is no endline conversion for
- * textfiles. Other than that, PhysicsFS has some convenience functions for
- * platform-independence. There is a function to tell you the current
- * platform's dir separator ("\\" on windows, "/" on Unix, ":" on MacOS),
- * which is needed only to set up your search/write paths. There is a
- * function to tell you what CD-ROM drives contain accessible discs, and a
- * function to recommend a good search path, etc.
- *
- * A recommended order for the search path is the write dir, then the base dir,
- * then the cdrom dir, then any archives discovered. Quake 3 does something
- * like this, but moves the archives to the start of the search path. Build
- * Engine games, like Duke Nukem 3D and Blood, place the archives last, and
- * use the base dir for both searching and writing. There is a helper
- * function (PHYSFS_setSaneConfig()) that puts together a basic configuration
- * for you, based on a few parameters. Also see the comments on
- * PHYSFS_getBaseDir(), and PHYSFS_getUserDir() for info on what those
- * are and how they can help you determine an optimal search path.
- *
- * PhysicsFS 2.0 adds the concept of "mounting" archives to arbitrary points
- * in the search path. If a zipfile contains "maps/level.map" and you mount
- * that archive at "mods/mymod", then you would have to open
- * "mods/mymod/maps/level.map" to access the file, even though "mods/mymod"
- * isn't actually specified in the .zip file. Unlike the Unix mentality of
- * mounting a filesystem, "mods/mymod" doesn't actually have to exist when
- * mounting the zipfile. It's a "virtual" directory. The mounting mechanism
- * allows the developer to seperate archives in the tree and avoid trampling
- * over files when added new archives, such as including mod support in a
- * game...keeping external content on a tight leash in this manner can be of
- * utmost importance to some applications.
- *
- * PhysicsFS is mostly thread safe. The error messages returned by
- * PHYSFS_getLastError are unique by thread, and library-state-setting
- * functions are mutex'd. For efficiency, individual file accesses are
- * not locked, so you can not safely read/write/seek/close/etc the same
- * file from two threads at the same time. Other race conditions are bugs
- * that should be reported/patched.
- *
- * While you CAN use stdio/syscall file access in a program that has PHYSFS_*
- * calls, doing so is not recommended, and you can not use system
- * filehandles with PhysicsFS and vice versa.
- *
- * Note that archives need not be named as such: if you have a ZIP file and
- * rename it with a .PKG extension, the file will still be recognized as a
- * ZIP archive by PhysicsFS; the file's contents are used to determine its
- * type where possible.
- *
- * Currently supported archive types:
- * - .ZIP (pkZip/WinZip/Info-ZIP compatible)
- * - .GRP (Build Engine groupfile archives)
- * - .PAK (Quake I/II archive format)
- * - .HOG (Descent I/II HOG file archives)
- * - .MVL (Descent II movielib archives)
- * - .WAD (DOOM engine archives)
- *
- *
- * String policy for PhysicsFS 2.0 and later:
- *
- * PhysicsFS 1.0 could only deal with null-terminated ASCII strings. All high
- * ASCII chars resulted in undefined behaviour, and there was no Unicode
- * support at all. PhysicsFS 2.0 supports Unicode without breaking binary
- * compatibility with the 1.0 API by using UTF-8 encoding of all strings
- * passed in and out of the library.
- *
- * All strings passed through PhysicsFS are in null-terminated UTF-8 format.
- * This means that if all you care about is English (ASCII characters <= 127)
- * then you just use regular C strings. If you care about Unicode (and you
- * should!) then you need to figure out what your platform wants, needs, and
- * offers. If you are on Windows and build with Unicode support, your TCHAR
- * strings are two bytes per character (this is called "UCS-2 encoding"). You
- * should convert them to UTF-8 before handing them to PhysicsFS with
- * PHYSFS_utf8FromUcs2(). If you're using Unix or Mac OS X, your wchar_t
- * strings are four bytes per character ("UCS-4 encoding"). Use
- * PHYSFS_utf8FromUcs4(). Mac OS X can give you UTF-8 directly from a
- * CFString, and many Unixes generally give you C strings in UTF-8 format
- * everywhere. If you have a single-byte high ASCII charset, like so-many
- * European "codepages" you may be out of luck. We'll convert from "Latin1"
- * to UTF-8 only, and never back to Latin1. If you're above ASCII 127, all
- * bets are off: move to Unicode or use your platform's facilities. Passing a
- * C string with high-ASCII data that isn't UTF-8 encoded will NOT do what
- * you expect!
- *
- * Naturally, there's also PHYSFS_utf8ToUcs2() and PHYSFS_utf8ToUcs4() to get
- * data back into a format you like. Behind the scenes, PhysicsFS will use
- * Unicode where possible: the UTF-8 strings on Windows will be converted
- * and used with the multibyte Windows APIs, for example.
- *
- * PhysicsFS offers basic encoding conversion support, but not a whole string
- * library. Get your stuff into whatever format you can work with.
- *
- * Some platforms and archivers don't offer full Unicode support behind the
- * scenes. For example, OS/2 only offers "codepages" and the filesystem
- * itself doesn't support multibyte encodings. We make an earnest effort to
- * convert to/from the current locale here, but all bets are off if
- * you want to hand an arbitrary Japanese character through to these systems.
- * Modern OSes (Mac OS X, Linux, Windows, PocketPC, etc) should all be fine.
- * Many game-specific archivers are seriously unprepared for Unicode (the
- * Descent HOG/MVL and Build Engine GRP archivers, for example, only offer a
- * DOS 8.3 filename, for example). Nothing can be done for these, but they
- * tend to be legacy formats for existing content that was all ASCII (and
- * thus, valid UTF-8) anyhow. Other formats, like .ZIP, don't explicitly
- * offer Unicode support, but unofficially expect filenames to be UTF-8
- * encoded, and thus Just Work. Most everything does the right thing without
- * bothering you, but it's good to be aware of these nuances in case they
- * don't.
- *
- *
- * Other stuff:
- *
- * Please see the file LICENSE.txt in the source's root directory for licensing
- * and redistribution rights.
- *
- * Please see the file CREDITS.txt in the source's root directory for a more or
- * less complete list of who's responsible for this.
- *
- * \author Ryan C. Gordon.
- */
-
-#ifndef _INCLUDE_PHYSFS_H_
-#define _INCLUDE_PHYSFS_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef DOXYGEN_SHOULD_IGNORE_THIS
-#if (defined _MSC_VER)
-#define __EXPORT__ __declspec(dllexport)
-#elif (__GNUC__ >= 3)
-#define __EXPORT__ __attribute__((visibility("default")))
-#else
-#define __EXPORT__
-#endif
-#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
-
-/**
- * \typedef PHYSFS_uint8
- * \brief An unsigned, 8-bit integer type.
- */
-typedef unsigned char PHYSFS_uint8;
-
-/**
- * \typedef PHYSFS_sint8
- * \brief A signed, 8-bit integer type.
- */
-typedef signed char PHYSFS_sint8;
-
-/**
- * \typedef PHYSFS_uint16
- * \brief An unsigned, 16-bit integer type.
- */
-typedef unsigned short PHYSFS_uint16;
-
-/**
- * \typedef PHYSFS_sint16
- * \brief A signed, 16-bit integer type.
- */
-typedef signed short PHYSFS_sint16;
-
-/**
- * \typedef PHYSFS_uint32
- * \brief An unsigned, 32-bit integer type.
- */
-typedef unsigned int PHYSFS_uint32;
-
-/**
- * \typedef PHYSFS_sint32
- * \brief A signed, 32-bit integer type.
- */
-typedef signed int PHYSFS_sint32;
-
-/**
- * \typedef PHYSFS_uint64
- * \brief An unsigned, 64-bit integer type.
- * \warning on platforms without any sort of 64-bit datatype, this is
- * equivalent to PHYSFS_uint32!
- */
-
-/**
- * \typedef PHYSFS_sint64
- * \brief A signed, 64-bit integer type.
- * \warning on platforms without any sort of 64-bit datatype, this is
- * equivalent to PHYSFS_sint32!
- */
-
-
-#if (defined PHYSFS_NO_64BIT_SUPPORT) /* oh well. */
-typedef PHYSFS_uint32 PHYSFS_uint64;
-typedef PHYSFS_sint32 PHYSFS_sint64;
-#elif (defined _MSC_VER)
-typedef signed __int64 PHYSFS_sint64;
-typedef unsigned __int64 PHYSFS_uint64;
-#else
-typedef unsigned long long PHYSFS_uint64;
-typedef signed long long PHYSFS_sint64;
-#endif
-
-
-#ifndef DOXYGEN_SHOULD_IGNORE_THIS
-/* Make sure the types really have the right sizes */
-#define PHYSFS_COMPILE_TIME_ASSERT(name, x) \
- typedef int PHYSFS_dummy_ ## name[(x) * 2 - 1]
-
-PHYSFS_COMPILE_TIME_ASSERT(uint8, sizeof(PHYSFS_uint8) == 1);
-PHYSFS_COMPILE_TIME_ASSERT(sint8, sizeof(PHYSFS_sint8) == 1);
-PHYSFS_COMPILE_TIME_ASSERT(uint16, sizeof(PHYSFS_uint16) == 2);
-PHYSFS_COMPILE_TIME_ASSERT(sint16, sizeof(PHYSFS_sint16) == 2);
-PHYSFS_COMPILE_TIME_ASSERT(uint32, sizeof(PHYSFS_uint32) == 4);
-PHYSFS_COMPILE_TIME_ASSERT(sint32, sizeof(PHYSFS_sint32) == 4);
-
-#ifndef PHYSFS_NO_64BIT_SUPPORT
-PHYSFS_COMPILE_TIME_ASSERT(uint64, sizeof(PHYSFS_uint64) == 8);
-PHYSFS_COMPILE_TIME_ASSERT(sint64, sizeof(PHYSFS_sint64) == 8);
-#endif
-
-#undef PHYSFS_COMPILE_TIME_ASSERT
-
-#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
-
-
-/**
- * \struct PHYSFS_File
- * \brief A PhysicsFS file handle.
- *
- * You get a pointer to one of these when you open a file for reading,
- * writing, or appending via PhysicsFS.
- *
- * As you can see from the lack of meaningful fields, you should treat this
- * as opaque data. Don't try to manipulate the file handle, just pass the
- * pointer you got, unmolested, to various PhysicsFS APIs.
- *
- * \sa PHYSFS_openRead
- * \sa PHYSFS_openWrite
- * \sa PHYSFS_openAppend
- * \sa PHYSFS_close
- * \sa PHYSFS_read
- * \sa PHYSFS_write
- * \sa PHYSFS_seek
- * \sa PHYSFS_tell
- * \sa PHYSFS_eof
- * \sa PHYSFS_setBuffer
- * \sa PHYSFS_flush
- */
-typedef struct
-{
- void *opaque; /**< That's all you get. Don't touch. */
-} PHYSFS_File;
-
-
-/**
- * \def PHYSFS_file
- * \brief 1.0 API compatibility define.
- *
- * PHYSFS_file is identical to PHYSFS_File. This #define is here for backwards
- * compatibility with the 1.0 API, which had an inconsistent capitalization
- * convention in this case. New code should use PHYSFS_File, as this #define
- * may go away someday.
- *
- * \sa PHYSFS_File
- */
-#define PHYSFS_file PHYSFS_File
-
-
-/**
- * \struct PHYSFS_ArchiveInfo
- * \brief Information on various PhysicsFS-supported archives.
- *
- * This structure gives you details on what sort of archives are supported
- * by this implementation of PhysicsFS. Archives tend to be things like
- * ZIP files and such.
- *
- * \warning Not all binaries are created equal! PhysicsFS can be built with
- * or without support for various archives. You can check with
- * PHYSFS_supportedArchiveTypes() to see if your archive type is
- * supported.
- *
- * \sa PHYSFS_supportedArchiveTypes
- */
-typedef struct
-{
- const char *extension; /**< Archive file extension: "ZIP", for example. */
- const char *description; /**< Human-readable archive description. */
- const char *author; /**< Person who did support for this archive. */
- const char *url; /**< URL related to this archive */
-} PHYSFS_ArchiveInfo;
-
-
-/**
- * \struct PHYSFS_Version
- * \brief Information the version of PhysicsFS in use.
- *
- * Represents the library's version as three levels: major revision
- * (increments with massive changes, additions, and enhancements),
- * minor revision (increments with backwards-compatible changes to the
- * major revision), and patchlevel (increments with fixes to the minor
- * revision).
- *
- * \sa PHYSFS_VERSION
- * \sa PHYSFS_getLinkedVersion
- */
-typedef struct
-{
- PHYSFS_uint8 major; /**< major revision */
- PHYSFS_uint8 minor; /**< minor revision */
- PHYSFS_uint8 patch; /**< patchlevel */
-} PHYSFS_Version;
-
-#ifndef DOXYGEN_SHOULD_IGNORE_THIS
-#define PHYSFS_VER_MAJOR 1
-#define PHYSFS_VER_MINOR 1
-#define PHYSFS_VER_PATCH 1
-#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
-
-
-/* PhysicsFS state stuff ... */
-
-/**
- * \def PHYSFS_VERSION(x)
- * \brief Macro to determine PhysicsFS version program was compiled against.
- *
- * This macro fills in a PHYSFS_Version structure with the version of the
- * library you compiled against. This is determined by what header the
- * compiler uses. Note that if you dynamically linked the library, you might
- * have a slightly newer or older version at runtime. That version can be
- * determined with PHYSFS_getLinkedVersion(), which, unlike PHYSFS_VERSION,
- * is not a macro.
- *
- * \param x A pointer to a PHYSFS_Version struct to initialize.
- *
- * \sa PHYSFS_Version
- * \sa PHYSFS_getLinkedVersion
- */
-#define PHYSFS_VERSION(x) \
-{ \
- (x)->major = PHYSFS_VER_MAJOR; \
- (x)->minor = PHYSFS_VER_MINOR; \
- (x)->patch = PHYSFS_VER_PATCH; \
-}
-
-
-/**
- * \fn void PHYSFS_getLinkedVersion(PHYSFS_Version *ver)
- * \brief Get the version of PhysicsFS that is linked against your program.
- *
- * If you are using a shared library (DLL) version of PhysFS, then it is
- * possible that it will be different than the version you compiled against.
- *
- * This is a real function; the macro PHYSFS_VERSION tells you what version
- * of PhysFS you compiled against:
- *
- * \code
- * PHYSFS_Version compiled;
- * PHYSFS_Version linked;
- *
- * PHYSFS_VERSION(&compiled);
- * PHYSFS_getLinkedVersion(&linked);
- * printf("We compiled against PhysFS version %d.%d.%d ...\n",
- * compiled.major, compiled.minor, compiled.patch);
- * printf("But we linked against PhysFS version %d.%d.%d.\n",
- * linked.major, linked.minor, linked.patch);
- * \endcode
- *
- * This function may be called safely at any time, even before PHYSFS_init().
- *
- * \sa PHYSFS_VERSION
- */
-__EXPORT__ void PHYSFS_getLinkedVersion(PHYSFS_Version *ver);
-
-
-/**
- * \fn int PHYSFS_init(const char *argv0)
- * \brief Initialize the PhysicsFS library.
- *
- * This must be called before any other PhysicsFS function.
- *
- * This should be called prior to any attempts to change your process's
- * current working directory.
- *
- * \param argv0 the argv[0] string passed to your program's mainline.
- * This may be NULL on most platforms (such as ones without a
- * standard main() function), but you should always try to pass
- * something in here. Unix-like systems such as Linux _need_ to
- * pass argv[0] from main() in here.
- * \return nonzero on success, zero on error. Specifics of the error can be
- * gleaned from PHYSFS_getLastError().
- *
- * \sa PHYSFS_deinit
- * \sa PHYSFS_isInit
- */
-__EXPORT__ int PHYSFS_init(const char *argv0);
-
-
-/**
- * \fn int PHYSFS_deinit(void)
- * \brief Deinitialize the PhysicsFS library.
- *
- * This closes any files opened via PhysicsFS, blanks the search/write paths,
- * frees memory, and invalidates all of your file handles.
- *
- * Note that this call can FAIL if there's a file open for writing that
- * refuses to close (for example, the underlying operating system was
- * buffering writes to network filesystem, and the fileserver has crashed,
- * or a hard drive has failed, etc). It is usually best to close all write
- * handles yourself before calling this function, so that you can gracefully
- * handle a specific failure.
- *
- * Once successfully deinitialized, PHYSFS_init() can be called again to
- * restart the subsystem. All defaults API states are restored at this
- * point.
- *
- * \return nonzero on success, zero on error. Specifics of the error can be
- * gleaned from PHYSFS_getLastError(). If failure, state of PhysFS is
- * undefined, and probably badly screwed up.
- *
- * \sa PHYSFS_init
- * \sa PHYSFS_isInit
- */
-__EXPORT__ int PHYSFS_deinit(void);
-
-
-/**
- * \fn const PHYSFS_ArchiveInfo **PHYSFS_supportedArchiveTypes(void)
- * \brief Get a list of supported archive types.
- *
- * Get a list of archive types supported by this implementation of PhysicFS.
- * These are the file formats usable for search path entries. This is for
- * informational purposes only. Note that the extension listed is merely
- * convention: if we list "ZIP", you can open a PkZip-compatible archive
- * with an extension of "XYZ", if you like.
- *
- * The returned value is an array of pointers to PHYSFS_ArchiveInfo structures,
- * with a NULL entry to signify the end of the list:
- *
- * \code
- * PHYSFS_ArchiveInfo **i;
- *
- * for (i = PHYSFS_supportedArchiveTypes(); *i != NULL; i++)
- * {
- * printf("Supported archive: [%s], which is [%s].\n",
- * i->extension, i->description);
- * }
- * \endcode
- *
- * The return values are pointers to static internal memory, and should
- * be considered READ ONLY, and never freed.
- *
- * \return READ ONLY Null-terminated array of READ ONLY structures.
- */
-__EXPORT__ const PHYSFS_ArchiveInfo **PHYSFS_supportedArchiveTypes(void);
-
-
-/**
- * \fn void PHYSFS_freeList(void *listVar)
- * \brief Deallocate resources of lists returned by PhysicsFS.
- *
- * Certain PhysicsFS functions return lists of information that are
- * dynamically allocated. Use this function to free those resources.
- *
- * \param listVar List of information specified as freeable by this function.
- *
- * \sa PHYSFS_getCdRomDirs
- * \sa PHYSFS_enumerateFiles
- * \sa PHYSFS_getSearchPath
- */
-__EXPORT__ void PHYSFS_freeList(void *listVar);
-
-
-/**
- * \fn const char *PHYSFS_getLastError(void)
- * \brief Get human-readable error information.
- *
- * Get the last PhysicsFS error message as a human-readable, null-terminated
- * string. This will be NULL if there's been no error since the last call to
- * this function. The pointer returned by this call points to an internal
- * buffer. Each thread has a unique error state associated with it, but each
- * time a new error message is set, it will overwrite the previous one
- * associated with that thread. It is safe to call this function at anytime,
- * even before PHYSFS_init().
- *
- * It is not wise to expect a specific string of characters here, since the
- * error message may be localized into an unfamiliar language. These strings
- * are meant to be passed on directly to the user.
- *
- * \return READ ONLY string of last error message.
- */
-__EXPORT__ const char *PHYSFS_getLastError(void);
-
-
-/**
- * \fn const char *PHYSFS_getDirSeparator(void)
- * \brief Get platform-dependent dir separator string.
- *
- * This returns "\\" on win32, "/" on Unix, and ":" on MacOS. It may be more
- * than one character, depending on the platform, and your code should take
- * that into account. Note that this is only useful for setting up the
- * search/write paths, since access into those dirs always use '/'
- * (platform-independent notation) to separate directories. This is also
- * handy for getting platform-independent access when using stdio calls.
- *
- * \return READ ONLY null-terminated string of platform's dir separator.
- */
-__EXPORT__ const char *PHYSFS_getDirSeparator(void);
-
-
-/**
- * \fn void PHYSFS_permitSymbolicLinks(int allow)
- * \brief Enable or disable following of symbolic links.
- *
- * Some physical filesystems and archives contain files that are just pointers
- * to other files. On the physical filesystem, opening such a link will
- * (transparently) open the file that is pointed to.
- *
- * By default, PhysicsFS will check if a file is really a symlink during open
- * calls and fail if it is. Otherwise, the link could take you outside the
- * write and search paths, and compromise security.
- *
- * If you want to take that risk, call this function with a non-zero parameter.
- * Note that this is more for sandboxing a program's scripting language, in
- * case untrusted scripts try to compromise the system. Generally speaking,
- * a user could very well have a legitimate reason to set up a symlink, so
- * unless you feel there's a specific danger in allowing them, you should
- * permit them.
- *
- * Symlinks are only explicitly checked when dealing with filenames
- * in platform-independent notation. That is, when setting up your
- * search and write paths, etc, symlinks are never checked for.
- *
- * Symbolic link permission can be enabled or disabled at any time after
- * you've called PHYSFS_init(), and is disabled by default.
- *
- * \param allow nonzero to permit symlinks, zero to deny linking.
- *
- * \sa PHYSFS_symbolicLinksPermitted
- */
-__EXPORT__ void PHYSFS_permitSymbolicLinks(int allow);
-
-
-/* !!! FIXME: const this? */
-/**
- * \fn char **PHYSFS_getCdRomDirs(void)
- * \brief Get an array of paths to available CD-ROM drives.
- *
- * The dirs returned are platform-dependent ("D:\" on Win32, "/cdrom" or
- * whatnot on Unix). Dirs are only returned if there is a disc ready and
- * accessible in the drive. So if you've got two drives (D: and E:), and only
- * E: has a disc in it, then that's all you get. If the user inserts a disc
- * in D: and you call this function again, you get both drives. If, on a
- * Unix box, the user unmounts a disc and remounts it elsewhere, the next
- * call to this function will reflect that change.
- *
- * This function refers to "CD-ROM" media, but it really means "inserted disc
- * media," such as DVD-ROM, HD-DVD, CDRW, and Blu-Ray discs. It looks for
- * filesystems, and as such won't report an audio CD, unless there's a
- * mounted filesystem track on it.
- *
- * The returned value is an array of strings, with a NULL entry to signify the
- * end of the list:
- *
- * \code
- * char **cds = PHYSFS_getCdRomDirs();
- * char **i;
- *
- * for (i = cds; *i != NULL; i++)
- * printf("cdrom dir [%s] is available.\n", *i);
- *
- * PHYSFS_freeList(cds);
- * \endcode
- *
- * This call may block while drives spin up. Be forewarned.
- *
- * When you are done with the returned information, you may dispose of the
- * resources by calling PHYSFS_freeList() with the returned pointer.
- *
- * \return Null-terminated array of null-terminated strings.
- *
- * \sa PHYSFS_getCdRomDirsCallback
- */
-__EXPORT__ char **PHYSFS_getCdRomDirs(void);
-
-
-/**
- * \fn const char *PHYSFS_getBaseDir(void)
- * \brief Get the path where the application resides.
- *
- * Helper function.
- *
- * Get the "base dir". This is the directory where the application was run
- * from, which is probably the installation directory, and may or may not
- * be the process's current working directory.
- *
- * You should probably use the base dir in your search path.
- *
- * \return READ ONLY string of base dir in platform-dependent notation.
- *
- * \sa PHYSFS_getUserDir
- */
-__EXPORT__ const char *PHYSFS_getBaseDir(void);
-
-
-/**
- * \fn const char *PHYSFS_getUserDir(void)
- * \brief Get the path where user's home directory resides.
- *
- * Helper function.
- *
- * Get the "user dir". This is meant to be a suggestion of where a specific
- * user of the system can store files. On Unix, this is her home directory.
- * On systems with no concept of multiple home directories (MacOS, win95),
- * this will default to something like "C:\mybasedir\users\username"
- * where "username" will either be the login name, or "default" if the
- * platform doesn't support multiple users, either.
- *
- * You should probably use the user dir as the basis for your write dir, and
- * also put it near the beginning of your search path.
- *
- * \return READ ONLY string of user dir in platform-dependent notation.
- *
- * \sa PHYSFS_getBaseDir
- */
-__EXPORT__ const char *PHYSFS_getUserDir(void);
-
-
-/**
- * \fn const char *PHYSFS_getWriteDir(void)
- * \brief Get path where PhysicsFS will allow file writing.
- *
- * Get the current write dir. The default write dir is NULL.
- *
- * \return READ ONLY string of write dir in platform-dependent notation,
- * OR NULL IF NO WRITE PATH IS CURRENTLY SET.
- *
- * \sa PHYSFS_setWriteDir
- */
-__EXPORT__ const char *PHYSFS_getWriteDir(void);
-
-
-/**
- * \fn int PHYSFS_setWriteDir(const char *newDir)
- * \brief Tell PhysicsFS where it may write files.
- *
- * Set a new write dir. This will override the previous setting.
- *
- * This call will fail (and fail to change the write dir) if the current
- * write dir still has files open in it.
- *
- * \param newDir The new directory to be the root of the write dir,
- * specified in platform-dependent notation. Setting to NULL
- * disables the write dir, so no files can be opened for
- * writing via PhysicsFS.
- * \return non-zero on success, zero on failure. All attempts to open a file
- * for writing via PhysicsFS will fail until this call succeeds.
- * Specifics of the error can be gleaned from PHYSFS_getLastError().
- *
- * \sa PHYSFS_getWriteDir
- */
-__EXPORT__ int PHYSFS_setWriteDir(const char *newDir);
-
-
-/**
- * \fn int PHYSFS_addToSearchPath(const char *newDir, int appendToPath)
- * \brief Add an archive or directory to the search path.
- *
- * This is a legacy call in PhysicsFS 2.0, equivalent to:
- * PHYSFS_mount(newDir, NULL, appendToPath);
- *
- * You must use this and not PHYSFS_mount if binary compatibility with
- * PhysicsFS 1.0 is important (which it may not be for many people).
- *
- * \sa PHYSFS_mount
- * \sa PHYSFS_removeFromSearchPath
- * \sa PHYSFS_getSearchPath
- */
-__EXPORT__ int PHYSFS_addToSearchPath(const char *newDir, int appendToPath);
-
-
-/**
- * \fn int PHYSFS_removeFromSearchPath(const char *oldDir)
- * \brief Remove a directory or archive from the search path.
- *
- * This must be a (case-sensitive) match to a dir or archive already in the
- * search path, specified in platform-dependent notation.
- *
- * This call will fail (and fail to remove from the path) if the element still
- * has files open in it.
- *
- * \param oldDir dir/archive to remove.
- * \return nonzero on success, zero on failure.
- * Specifics of the error can be gleaned from PHYSFS_getLastError().
- *
- * \sa PHYSFS_addToSearchPath
- * \sa PHYSFS_getSearchPath
- */
-__EXPORT__ int PHYSFS_removeFromSearchPath(const char *oldDir);
-
-
-/**
- * \fn char **PHYSFS_getSearchPath(void)
- * \brief Get the current search path.
- *
- * The default search path is an empty list.
- *
- * The returned value is an array of strings, with a NULL entry to signify the
- * end of the list:
- *
- * \code
- * char **i;
- *
- * for (i = PHYSFS_getSearchPath(); *i != NULL; i++)
- * printf("[%s] is in the search path.\n", *i);
- * \endcode
- *
- * When you are done with the returned information, you may dispose of the
- * resources by calling PHYSFS_freeList() with the returned pointer.
- *
- * \return Null-terminated array of null-terminated strings. NULL if there
- * was a problem (read: OUT OF MEMORY).
- *
- * \sa PHYSFS_getSearchPathCallback
- * \sa PHYSFS_addToSearchPath
- * \sa PHYSFS_removeFromSearchPath
- */
-__EXPORT__ char **PHYSFS_getSearchPath(void);
-
-
-/**
- * \fn int PHYSFS_setSaneConfig(const char *organization, const char *appName, const char *archiveExt, int includeCdRoms, int archivesFirst)
- * \brief Set up sane, default paths.
- *
- * Helper function.
- *
- * The write dir will be set to "userdir/.organization/appName", which is
- * created if it doesn't exist.
- *
- * The above is sufficient to make sure your program's configuration directory
- * is separated from other clutter, and platform-independent. The period
- * before "mygame" even hides the directory on Unix systems.
- *
- * The search path will be:
- *
- * - The Write Dir (created if it doesn't exist)
- * - The Base Dir (PHYSFS_getBaseDir())
- * - All found CD-ROM dirs (optionally)
- *
- * These directories are then searched for files ending with the extension
- * (archiveExt), which, if they are valid and supported archives, will also
- * be added to the search path. If you specified "PKG" for (archiveExt), and
- * there's a file named data.PKG in the base dir, it'll be checked. Archives
- * can either be appended or prepended to the search path in alphabetical
- * order, regardless of which directories they were found in.
- *
- * All of this can be accomplished from the application, but this just does it
- * all for you. Feel free to add more to the search path manually, too.
- *
- * \param organization Name of your company/group/etc to be used as a
- * dirname, so keep it small, and no-frills.
- *
- * \param appName Program-specific name of your program, to separate it
- * from other programs using PhysicsFS.
- *
- * \param archiveExt File extension used by your program to specify an
- * archive. For example, Quake 3 uses "pk3", even though
- * they are just zipfiles. Specify NULL to not dig out
- * archives automatically. Do not specify the '.' char;
- * If you want to look for ZIP files, specify "ZIP" and
- * not ".ZIP" ... the archive search is case-insensitive.
- *
- * \param includeCdRoms Non-zero to include CD-ROMs in the search path, and
- * (if (archiveExt) != NULL) search them for archives.
- * This may cause a significant amount of blocking
- * while discs are accessed, and if there are no discs
- * in the drive (or even not mounted on Unix systems),
- * then they may not be made available anyhow. You may
- * want to specify zero and handle the disc setup
- * yourself.
- *
- * \param archivesFirst Non-zero to prepend the archives to the search path.
- * Zero to append them. Ignored if !(archiveExt).
- *
- * \return nonzero on success, zero on error. Specifics of the error can be
- * gleaned from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_setSaneConfig(const char *organization,
- const char *appName,
- const char *archiveExt,
- int includeCdRoms,
- int archivesFirst);
-
-
-/* Directory management stuff ... */
-
-/**
- * \fn int PHYSFS_mkdir(const char *dirName)
- * \brief Create a directory.
- *
- * This is specified in platform-independent notation in relation to the
- * write dir. All missing parent directories are also created if they
- * don't exist.
- *
- * So if you've got the write dir set to "C:\mygame\writedir" and call
- * PHYSFS_mkdir("downloads/maps") then the directories
- * "C:\mygame\writedir\downloads" and "C:\mygame\writedir\downloads\maps"
- * will be created if possible. If the creation of "maps" fails after we
- * have successfully created "downloads", then the function leaves the
- * created directory behind and reports failure.
- *
- * \param dirName New dir to create.
- * \return nonzero on success, zero on error. Specifics of the error can be
- * gleaned from PHYSFS_getLastError().
- *
- * \sa PHYSFS_delete
- */
-__EXPORT__ int PHYSFS_mkdir(const char *dirName);
-
-
-/**
- * \fn int PHYSFS_delete(const char *filename)
- * \brief Delete a file or directory.
- *
- * (filename) is specified in platform-independent notation in relation to the
- * write dir.
- *
- * A directory must be empty before this call can delete it.
- *
- * Deleting a symlink will remove the link, not what it points to, regardless
- * of whether you "permitSymLinks" or not.
- *
- * So if you've got the write dir set to "C:\mygame\writedir" and call
- * PHYSFS_delete("downloads/maps/level1.map") then the file
- * "C:\mygame\writedir\downloads\maps\level1.map" is removed from the
- * physical filesystem, if it exists and the operating system permits the
- * deletion.
- *
- * Note that on Unix systems, deleting a file may be successful, but the
- * actual file won't be removed until all processes that have an open
- * filehandle to it (including your program) close their handles.
- *
- * Chances are, the bits that make up the file still exist, they are just
- * made available to be written over at a later point. Don't consider this
- * a security method or anything. :)
- *
- * \param filename Filename to delete.
- * \return nonzero on success, zero on error. Specifics of the error can be
- * gleaned from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_delete(const char *filename);
-
-
-/**
- * \fn const char *PHYSFS_getRealDir(const char *filename)
- * \brief Figure out where in the search path a file resides.
- *
- * The file is specified in platform-independent notation. The returned
- * filename will be the element of the search path where the file was found,
- * which may be a directory, or an archive. Even if there are multiple
- * matches in different parts of the search path, only the first one found
- * is used, just like when opening a file.
- *
- * So, if you look for "maps/level1.map", and C:\\mygame is in your search
- * path and C:\\mygame\\maps\\level1.map exists, then "C:\mygame" is returned.
- *
- * If a any part of a match is a symbolic link, and you've not explicitly
- * permitted symlinks, then it will be ignored, and the search for a match
- * will continue.
- *
- * If you specify a fake directory that only exists as a mount point, it'll
- * be associated with the first archive mounted there, even though that
- * directory isn't necessarily contained in a real archive.
- *
- * \param filename file to look for.
- * \return READ ONLY string of element of search path containing the
- * the file in question. NULL if not found.
- */
-__EXPORT__ const char *PHYSFS_getRealDir(const char *filename);
-
-
-/**
- * \fn char **PHYSFS_enumerateFiles(const char *dir)
- * \brief Get a file listing of a search path's directory.
- *
- * Matching directories are interpolated. That is, if "C:\mydir" is in the
- * search path and contains a directory "savegames" that contains "x.sav",
- * "y.sav", and "z.sav", and there is also a "C:\userdir" in the search path
- * that has a "savegames" subdirectory with "w.sav", then the following code:
- *
- * \code
- * char **rc = PHYSFS_enumerateFiles("savegames");
- * char **i;
- *
- * for (i = rc; *i != NULL; i++)
- * printf(" * We've got [%s].\n", *i);
- *
- * PHYSFS_freeList(rc);
- * \endcode
- *
- * ...will print:
- *
- * \verbatim
- * We've got [x.sav].
- * We've got [y.sav].
- * We've got [z.sav].
- * We've got [w.sav].\endverbatim
- *
- * Feel free to sort the list however you like. We only promise there will
- * be no duplicates, but not what order the final list will come back in.
- *
- * Don't forget to call PHYSFS_freeList() with the return value from this
- * function when you are done with it.
- *
- * \param dir directory in platform-independent notation to enumerate.
- * \return Null-terminated array of null-terminated strings.
- *
- * \sa PHYSFS_enumerateFilesCallback
- */
-__EXPORT__ char **PHYSFS_enumerateFiles(const char *dir);
-
-
-/**
- * \fn int PHYSFS_exists(const char *fname)
- * \brief Determine if a file exists in the search path.
- *
- * Reports true if there is an entry anywhere in the search path by the
- * name of (fname).
- *
- * Note that entries that are symlinks are ignored if
- * PHYSFS_permitSymbolicLinks(1) hasn't been called, so you
- * might end up further down in the search path than expected.
- *
- * \param fname filename in platform-independent notation.
- * \return non-zero if filename exists. zero otherwise.
- *
- * \sa PHYSFS_isDirectory
- * \sa PHYSFS_isSymbolicLink
- */
-__EXPORT__ int PHYSFS_exists(const char *fname);
-
-
-/**
- * \fn int PHYSFS_isDirectory(const char *fname)
- * \brief Determine if a file in the search path is really a directory.
- *
- * Determine if the first occurence of (fname) in the search path is
- * really a directory entry.
- *
- * Note that entries that are symlinks are ignored if
- * PHYSFS_permitSymbolicLinks(1) hasn't been called, so you
- * might end up further down in the search path than expected.
- *
- * \param fname filename in platform-independent notation.
- * \return non-zero if filename exists and is a directory. zero otherwise.
- *
- * \sa PHYSFS_exists
- * \sa PHYSFS_isSymbolicLink
- */
-__EXPORT__ int PHYSFS_isDirectory(const char *fname);
-
-
-/**
- * \fn int PHYSFS_isSymbolicLink(const char *fname)
- * \brief Determine if a file in the search path is really a symbolic link.
- *
- * Determine if the first occurence of (fname) in the search path is
- * really a symbolic link.
- *
- * Note that entries that are symlinks are ignored if
- * PHYSFS_permitSymbolicLinks(1) hasn't been called, and as such,
- * this function will always return 0 in that case.
- *
- * \param fname filename in platform-independent notation.
- * \return non-zero if filename exists and is a symlink. zero otherwise.
- *
- * \sa PHYSFS_exists
- * \sa PHYSFS_isDirectory
- */
-__EXPORT__ int PHYSFS_isSymbolicLink(const char *fname);
-
-
-/**
- * \fn PHYSFS_sint64 PHYSFS_getLastModTime(const char *filename)
- * \brief Get the last modification time of a file.
- *
- * The modtime is returned as a number of seconds since the epoch
- * (Jan 1, 1970). The exact derivation and accuracy of this time depends on
- * the particular archiver. If there is no reasonable way to obtain this
- * information for a particular archiver, or there was some sort of error,
- * this function returns (-1).
- *
- * \param filename filename to check, in platform-independent notation.
- * \return last modified time of the file. -1 if it can't be determined.
- */
-__EXPORT__ PHYSFS_sint64 PHYSFS_getLastModTime(const char *filename);
-
-
-/* i/o stuff... */
-
-/**
- * \fn PHYSFS_File *PHYSFS_openWrite(const char *filename)
- * \brief Open a file for writing.
- *
- * Open a file for writing, in platform-independent notation and in relation
- * to the write dir as the root of the writable filesystem. The specified
- * file is created if it doesn't exist. If it does exist, it is truncated to
- * zero bytes, and the writing offset is set to the start.
- *
- * Note that entries that are symlinks are ignored if
- * PHYSFS_permitSymbolicLinks(1) hasn't been called, and opening a
- * symlink with this function will fail in such a case.
- *
- * \param filename File to open.
- * \return A valid PhysicsFS filehandle on success, NULL on error. Specifics
- * of the error can be gleaned from PHYSFS_getLastError().
- *
- * \sa PHYSFS_openRead
- * \sa PHYSFS_openAppend
- * \sa PHYSFS_write
- * \sa PHYSFS_close
- */
-__EXPORT__ PHYSFS_File *PHYSFS_openWrite(const char *filename);
-
-
-/**
- * \fn PHYSFS_File *PHYSFS_openAppend(const char *filename)
- * \brief Open a file for appending.
- *
- * Open a file for writing, in platform-independent notation and in relation
- * to the write dir as the root of the writable filesystem. The specified
- * file is created if it doesn't exist. If it does exist, the writing offset
- * is set to the end of the file, so the first write will be the byte after
- * the end.
- *
- * Note that entries that are symlinks are ignored if
- * PHYSFS_permitSymbolicLinks(1) hasn't been called, and opening a
- * symlink with this function will fail in such a case.
- *
- * \param filename File to open.
- * \return A valid PhysicsFS filehandle on success, NULL on error. Specifics
- * of the error can be gleaned from PHYSFS_getLastError().
- *
- * \sa PHYSFS_openRead
- * \sa PHYSFS_openWrite
- * \sa PHYSFS_write
- * \sa PHYSFS_close
- */
-__EXPORT__ PHYSFS_File *PHYSFS_openAppend(const char *filename);
-
-
-/**
- * \fn PHYSFS_File *PHYSFS_openRead(const char *filename)
- * \brief Open a file for reading.
- *
- * Open a file for reading, in platform-independent notation. The search path
- * is checked one at a time until a matching file is found, in which case an
- * abstract filehandle is associated with it, and reading may be done.
- * The reading offset is set to the first byte of the file.
- *
- * Note that entries that are symlinks are ignored if
- * PHYSFS_permitSymbolicLinks(1) hasn't been called, and opening a
- * symlink with this function will fail in such a case.
- *
- * \param filename File to open.
- * \return A valid PhysicsFS filehandle on success, NULL on error. Specifics
- * of the error can be gleaned from PHYSFS_getLastError().
- *
- * \sa PHYSFS_openWrite
- * \sa PHYSFS_openAppend
- * \sa PHYSFS_read
- * \sa PHYSFS_close
- */
-__EXPORT__ PHYSFS_File *PHYSFS_openRead(const char *filename);
-
-
-/**
- * \fn int PHYSFS_close(PHYSFS_File *handle)
- * \brief Close a PhysicsFS filehandle.
- *
- * This call is capable of failing if the operating system was buffering
- * writes to the physical media, and, now forced to write those changes to
- * physical media, can not store the data for some reason. In such a case,
- * the filehandle stays open. A well-written program should ALWAYS check the
- * return value from the close call in addition to every writing call!
- *
- * \param handle handle returned from PHYSFS_open*().
- * \return nonzero on success, zero on error. Specifics of the error can be
- * gleaned from PHYSFS_getLastError().
- *
- * \sa PHYSFS_openRead
- * \sa PHYSFS_openWrite
- * \sa PHYSFS_openAppend
- */
-__EXPORT__ int PHYSFS_close(PHYSFS_File *handle);
-
-
-/**
- * \fn PHYSFS_sint64 PHYSFS_read(PHYSFS_File *handle, void *buffer, PHYSFS_uint32 objSize, PHYSFS_uint32 objCount)
- * \brief Read data from a PhysicsFS filehandle
- *
- * The file must be opened for reading.
- *
- * \param handle handle returned from PHYSFS_openRead().
- * \param buffer buffer to store read data into.
- * \param objSize size in bytes of objects being read from (handle).
- * \param objCount number of (objSize) objects to read from (handle).
- * \return number of objects read. PHYSFS_getLastError() can shed light on
- * the reason this might be < (objCount), as can PHYSFS_eof().
- * -1 if complete failure.
- *
- * \sa PHYSFS_eof
- */
-__EXPORT__ PHYSFS_sint64 PHYSFS_read(PHYSFS_File *handle,
- void *buffer,
- PHYSFS_uint32 objSize,
- PHYSFS_uint32 objCount);
-
-/**
- * \fn PHYSFS_sint64 PHYSFS_write(PHYSFS_File *handle, const void *buffer, PHYSFS_uint32 objSize, PHYSFS_uint32 objCount)
- * \brief Write data to a PhysicsFS filehandle
- *
- * The file must be opened for writing.
- *
- * \param handle retval from PHYSFS_openWrite() or PHYSFS_openAppend().
- * \param buffer buffer to store read data into.
- * \param objSize size in bytes of objects being read from (handle).
- * \param objCount number of (objSize) objects to read from (handle).
- * \return number of objects written. PHYSFS_getLastError() can shed light on
- * the reason this might be < (objCount). -1 if complete failure.
- */
-__EXPORT__ PHYSFS_sint64 PHYSFS_write(PHYSFS_File *handle,
- const void *buffer,
- PHYSFS_uint32 objSize,
- PHYSFS_uint32 objCount);
-
-
-/* File position stuff... */
-
-/**
- * \fn int PHYSFS_eof(PHYSFS_File *handle)
- * \brief Check for end-of-file state on a PhysicsFS filehandle.
- *
- * Determine if the end of file has been reached in a PhysicsFS filehandle.
- *
- * \param handle handle returned from PHYSFS_openRead().
- * \return nonzero if EOF, zero if not.
- *
- * \sa PHYSFS_read
- * \sa PHYSFS_tell
- */
-__EXPORT__ int PHYSFS_eof(PHYSFS_File *handle);
-
-
-/**
- * \fn PHYSFS_sint64 PHYSFS_tell(PHYSFS_File *handle)
- * \brief Determine current position within a PhysicsFS filehandle.
- *
- * \param handle handle returned from PHYSFS_open*().
- * \return offset in bytes from start of file. -1 if error occurred.
- * Specifics of the error can be gleaned from PHYSFS_getLastError().
- *
- * \sa PHYSFS_seek
- */
-__EXPORT__ PHYSFS_sint64 PHYSFS_tell(PHYSFS_File *handle);
-
-
-/**
- * \fn int PHYSFS_seek(PHYSFS_File *handle, PHYSFS_uint64 pos)
- * \brief Seek to a new position within a PhysicsFS filehandle.
- *
- * The next read or write will occur at that place. Seeking past the
- * beginning or end of the file is not allowed, and causes an error.
- *
- * \param handle handle returned from PHYSFS_open*().
- * \param pos number of bytes from start of file to seek to.
- * \return nonzero on success, zero on error. Specifics of the error can be
- * gleaned from PHYSFS_getLastError().
- *
- * \sa PHYSFS_tell
- */
-__EXPORT__ int PHYSFS_seek(PHYSFS_File *handle, PHYSFS_uint64 pos);
-
-
-/**
- * \fn PHYSFS_sint64 PHYSFS_fileLength(PHYSFS_File *handle)
- * \brief Get total length of a file in bytes.
- *
- * Note that if the file size can't be determined (since the archive is
- * "streamed" or whatnot) than this will report (-1). Also note that if
- * another process/thread is writing to this file at the same time, then
- * the information this function supplies could be incorrect before you
- * get it. Use with caution, or better yet, don't use at all.
- *
- * \param handle handle returned from PHYSFS_open*().
- * \return size in bytes of the file. -1 if can't be determined.
- *
- * \sa PHYSFS_tell
- * \sa PHYSFS_seek
- */
-__EXPORT__ PHYSFS_sint64 PHYSFS_fileLength(PHYSFS_File *handle);
-
-
-/* Buffering stuff... */
-
-/**
- * \fn int PHYSFS_setBuffer(PHYSFS_File *handle, PHYSFS_uint64 bufsize)
- * \brief Set up buffering for a PhysicsFS file handle.
- *
- * Define an i/o buffer for a file handle. A memory block of (bufsize) bytes
- * will be allocated and associated with (handle).
- *
- * For files opened for reading, up to (bufsize) bytes are read from (handle)
- * and stored in the internal buffer. Calls to PHYSFS_read() will pull
- * from this buffer until it is empty, and then refill it for more reading.
- * Note that compressed files, like ZIP archives, will decompress while
- * buffering, so this can be handy for offsetting CPU-intensive operations.
- * The buffer isn't filled until you do your next read.
- *
- * For files opened for writing, data will be buffered to memory until the
- * buffer is full or the buffer is flushed. Closing a handle implicitly
- * causes a flush...check your return values!
- *
- * Seeking, etc transparently accounts for buffering.
- *
- * You can resize an existing buffer by calling this function more than once
- * on the same file. Setting the buffer size to zero will free an existing
- * buffer.
- *
- * PhysicsFS file handles are unbuffered by default.
- *
- * Please check the return value of this function! Failures can include
- * not being able to seek backwards in a read-only file when removing the
- * buffer, not being able to allocate the buffer, and not being able to
- * flush the buffer to disk, among other unexpected problems.
- *
- * \param handle handle returned from PHYSFS_open*().
- * \param bufsize size, in bytes, of buffer to allocate.
- * \return nonzero if successful, zero on error.
- *
- * \sa PHYSFS_flush
- * \sa PHYSFS_read
- * \sa PHYSFS_write
- * \sa PHYSFS_close
- */
-__EXPORT__ int PHYSFS_setBuffer(PHYSFS_File *handle, PHYSFS_uint64 bufsize);
-
-
-/**
- * \fn int PHYSFS_flush(PHYSFS_File *handle)
- * \brief Flush a buffered PhysicsFS file handle.
- *
- * For buffered files opened for writing, this will put the current contents
- * of the buffer to disk and flag the buffer as empty if possible.
- *
- * For buffered files opened for reading or unbuffered files, this is a safe
- * no-op, and will report success.
- *
- * \param handle handle returned from PHYSFS_open*().
- * \return nonzero if successful, zero on error.
- *
- * \sa PHYSFS_setBuffer
- * \sa PHYSFS_close
- */
-__EXPORT__ int PHYSFS_flush(PHYSFS_File *handle);
-
-
-/* Byteorder stuff... */
-
-/**
- * \fn PHYSFS_sint16 PHYSFS_swapSLE16(PHYSFS_sint16 val)
- * \brief Swap littleendian signed 16 to platform's native byte order.
- *
- * Take a 16-bit signed value in littleendian format and convert it to
- * the platform's native byte order.
- *
- * \param val value to convert
- * \return converted value.
- */
-__EXPORT__ PHYSFS_sint16 PHYSFS_swapSLE16(PHYSFS_sint16 val);
-
-
-/**
- * \fn PHYSFS_uint16 PHYSFS_swapULE16(PHYSFS_uint16 val)
- * \brief Swap littleendian unsigned 16 to platform's native byte order.
- *
- * Take a 16-bit unsigned value in littleendian format and convert it to
- * the platform's native byte order.
- *
- * \param val value to convert
- * \return converted value.
- */
-__EXPORT__ PHYSFS_uint16 PHYSFS_swapULE16(PHYSFS_uint16 val);
-
-/**
- * \fn PHYSFS_sint32 PHYSFS_swapSLE32(PHYSFS_sint32 val)
- * \brief Swap littleendian signed 32 to platform's native byte order.
- *
- * Take a 32-bit signed value in littleendian format and convert it to
- * the platform's native byte order.
- *
- * \param val value to convert
- * \return converted value.
- */
-__EXPORT__ PHYSFS_sint32 PHYSFS_swapSLE32(PHYSFS_sint32 val);
-
-
-/**
- * \fn PHYSFS_uint32 PHYSFS_swapULE32(PHYSFS_uint32 val)
- * \brief Swap littleendian unsigned 32 to platform's native byte order.
- *
- * Take a 32-bit unsigned value in littleendian format and convert it to
- * the platform's native byte order.
- *
- * \param val value to convert
- * \return converted value.
- */
-__EXPORT__ PHYSFS_uint32 PHYSFS_swapULE32(PHYSFS_uint32 val);
-
-/**
- * \fn PHYSFS_sint64 PHYSFS_swapSLE64(PHYSFS_sint64 val)
- * \brief Swap littleendian signed 64 to platform's native byte order.
- *
- * Take a 64-bit signed value in littleendian format and convert it to
- * the platform's native byte order.
- *
- * \param val value to convert
- * \return converted value.
- *
- * \warning Remember, PHYSFS_uint64 is only 32 bits on platforms without
- * any sort of 64-bit support.
- */
-__EXPORT__ PHYSFS_sint64 PHYSFS_swapSLE64(PHYSFS_sint64 val);
-
-
-/**
- * \fn PHYSFS_uint64 PHYSFS_swapULE64(PHYSFS_uint64 val)
- * \brief Swap littleendian unsigned 64 to platform's native byte order.
- *
- * Take a 64-bit unsigned value in littleendian format and convert it to
- * the platform's native byte order.
- *
- * \param val value to convert
- * \return converted value.
- *
- * \warning Remember, PHYSFS_uint64 is only 32 bits on platforms without
- * any sort of 64-bit support.
- */
-__EXPORT__ PHYSFS_uint64 PHYSFS_swapULE64(PHYSFS_uint64 val);
-
-
-/**
- * \fn PHYSFS_sint16 PHYSFS_swapSBE16(PHYSFS_sint16 val)
- * \brief Swap bigendian signed 16 to platform's native byte order.
- *
- * Take a 16-bit signed value in bigendian format and convert it to
- * the platform's native byte order.
- *
- * \param val value to convert
- * \return converted value.
- */
-__EXPORT__ PHYSFS_sint16 PHYSFS_swapSBE16(PHYSFS_sint16 val);
-
-
-/**
- * \fn PHYSFS_uint16 PHYSFS_swapUBE16(PHYSFS_uint16 val)
- * \brief Swap bigendian unsigned 16 to platform's native byte order.
- *
- * Take a 16-bit unsigned value in bigendian format and convert it to
- * the platform's native byte order.
- *
- * \param val value to convert
- * \return converted value.
- */
-__EXPORT__ PHYSFS_uint16 PHYSFS_swapUBE16(PHYSFS_uint16 val);
-
-/**
- * \fn PHYSFS_sint32 PHYSFS_swapSBE32(PHYSFS_sint32 val)
- * \brief Swap bigendian signed 32 to platform's native byte order.
- *
- * Take a 32-bit signed value in bigendian format and convert it to
- * the platform's native byte order.
- *
- * \param val value to convert
- * \return converted value.
- */
-__EXPORT__ PHYSFS_sint32 PHYSFS_swapSBE32(PHYSFS_sint32 val);
-
-
-/**
- * \fn PHYSFS_uint32 PHYSFS_swapUBE32(PHYSFS_uint32 val)
- * \brief Swap bigendian unsigned 32 to platform's native byte order.
- *
- * Take a 32-bit unsigned value in bigendian format and convert it to
- * the platform's native byte order.
- *
- * \param val value to convert
- * \return converted value.
- */
-__EXPORT__ PHYSFS_uint32 PHYSFS_swapUBE32(PHYSFS_uint32 val);
-
-
-/**
- * \fn PHYSFS_sint64 PHYSFS_swapSBE64(PHYSFS_sint64 val)
- * \brief Swap bigendian signed 64 to platform's native byte order.
- *
- * Take a 64-bit signed value in bigendian format and convert it to
- * the platform's native byte order.
- *
- * \param val value to convert
- * \return converted value.
- *
- * \warning Remember, PHYSFS_uint64 is only 32 bits on platforms without
- * any sort of 64-bit support.
- */
-__EXPORT__ PHYSFS_sint64 PHYSFS_swapSBE64(PHYSFS_sint64 val);
-
-
-/**
- * \fn PHYSFS_uint64 PHYSFS_swapUBE64(PHYSFS_uint64 val)
- * \brief Swap bigendian unsigned 64 to platform's native byte order.
- *
- * Take a 64-bit unsigned value in bigendian format and convert it to
- * the platform's native byte order.
- *
- * \param val value to convert
- * \return converted value.
- *
- * \warning Remember, PHYSFS_uint64 is only 32 bits on platforms without
- * any sort of 64-bit support.
- */
-__EXPORT__ PHYSFS_uint64 PHYSFS_swapUBE64(PHYSFS_uint64 val);
-
-
-/**
- * \fn int PHYSFS_readSLE16(PHYSFS_File *file, PHYSFS_sint16 *val)
- * \brief Read and convert a signed 16-bit littleendian value.
- *
- * Convenience function. Read a signed 16-bit littleendian value from a
- * file and convert it to the platform's native byte order.
- *
- * \param file PhysicsFS file handle from which to read.
- * \param val pointer to where value should be stored.
- * \return zero on failure, non-zero on success. If successful, (*val) will
- * store the result. On failure, you can find out what went wrong
- * from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_readSLE16(PHYSFS_File *file, PHYSFS_sint16 *val);
-
-
-/**
- * \fn int PHYSFS_readULE16(PHYSFS_File *file, PHYSFS_uint16 *val)
- * \brief Read and convert an unsigned 16-bit littleendian value.
- *
- * Convenience function. Read an unsigned 16-bit littleendian value from a
- * file and convert it to the platform's native byte order.
- *
- * \param file PhysicsFS file handle from which to read.
- * \param val pointer to where value should be stored.
- * \return zero on failure, non-zero on success. If successful, (*val) will
- * store the result. On failure, you can find out what went wrong
- * from PHYSFS_getLastError().
- *
- */
-__EXPORT__ int PHYSFS_readULE16(PHYSFS_File *file, PHYSFS_uint16 *val);
-
-
-/**
- * \fn int PHYSFS_readSBE16(PHYSFS_File *file, PHYSFS_sint16 *val)
- * \brief Read and convert a signed 16-bit bigendian value.
- *
- * Convenience function. Read a signed 16-bit bigendian value from a
- * file and convert it to the platform's native byte order.
- *
- * \param file PhysicsFS file handle from which to read.
- * \param val pointer to where value should be stored.
- * \return zero on failure, non-zero on success. If successful, (*val) will
- * store the result. On failure, you can find out what went wrong
- * from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_readSBE16(PHYSFS_File *file, PHYSFS_sint16 *val);
-
-
-/**
- * \fn int PHYSFS_readUBE16(PHYSFS_File *file, PHYSFS_uint16 *val)
- * \brief Read and convert an unsigned 16-bit bigendian value.
- *
- * Convenience function. Read an unsigned 16-bit bigendian value from a
- * file and convert it to the platform's native byte order.
- *
- * \param file PhysicsFS file handle from which to read.
- * \param val pointer to where value should be stored.
- * \return zero on failure, non-zero on success. If successful, (*val) will
- * store the result. On failure, you can find out what went wrong
- * from PHYSFS_getLastError().
- *
- */
-__EXPORT__ int PHYSFS_readUBE16(PHYSFS_File *file, PHYSFS_uint16 *val);
-
-
-/**
- * \fn int PHYSFS_readSLE32(PHYSFS_File *file, PHYSFS_sint32 *val)
- * \brief Read and convert a signed 32-bit littleendian value.
- *
- * Convenience function. Read a signed 32-bit littleendian value from a
- * file and convert it to the platform's native byte order.
- *
- * \param file PhysicsFS file handle from which to read.
- * \param val pointer to where value should be stored.
- * \return zero on failure, non-zero on success. If successful, (*val) will
- * store the result. On failure, you can find out what went wrong
- * from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_readSLE32(PHYSFS_File *file, PHYSFS_sint32 *val);
-
-
-/**
- * \fn int PHYSFS_readULE32(PHYSFS_File *file, PHYSFS_uint32 *val)
- * \brief Read and convert an unsigned 32-bit littleendian value.
- *
- * Convenience function. Read an unsigned 32-bit littleendian value from a
- * file and convert it to the platform's native byte order.
- *
- * \param file PhysicsFS file handle from which to read.
- * \param val pointer to where value should be stored.
- * \return zero on failure, non-zero on success. If successful, (*val) will
- * store the result. On failure, you can find out what went wrong
- * from PHYSFS_getLastError().
- *
- */
-__EXPORT__ int PHYSFS_readULE32(PHYSFS_File *file, PHYSFS_uint32 *val);
-
-
-/**
- * \fn int PHYSFS_readSBE32(PHYSFS_File *file, PHYSFS_sint32 *val)
- * \brief Read and convert a signed 32-bit bigendian value.
- *
- * Convenience function. Read a signed 32-bit bigendian value from a
- * file and convert it to the platform's native byte order.
- *
- * \param file PhysicsFS file handle from which to read.
- * \param val pointer to where value should be stored.
- * \return zero on failure, non-zero on success. If successful, (*val) will
- * store the result. On failure, you can find out what went wrong
- * from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_readSBE32(PHYSFS_File *file, PHYSFS_sint32 *val);
-
-
-/**
- * \fn int PHYSFS_readUBE32(PHYSFS_File *file, PHYSFS_uint32 *val)
- * \brief Read and convert an unsigned 32-bit bigendian value.
- *
- * Convenience function. Read an unsigned 32-bit bigendian value from a
- * file and convert it to the platform's native byte order.
- *
- * \param file PhysicsFS file handle from which to read.
- * \param val pointer to where value should be stored.
- * \return zero on failure, non-zero on success. If successful, (*val) will
- * store the result. On failure, you can find out what went wrong
- * from PHYSFS_getLastError().
- *
- */
-__EXPORT__ int PHYSFS_readUBE32(PHYSFS_File *file, PHYSFS_uint32 *val);
-
-
-/**
- * \fn int PHYSFS_readSLE64(PHYSFS_File *file, PHYSFS_sint64 *val)
- * \brief Read and convert a signed 64-bit littleendian value.
- *
- * Convenience function. Read a signed 64-bit littleendian value from a
- * file and convert it to the platform's native byte order.
- *
- * \param file PhysicsFS file handle from which to read.
- * \param val pointer to where value should be stored.
- * \return zero on failure, non-zero on success. If successful, (*val) will
- * store the result. On failure, you can find out what went wrong
- * from PHYSFS_getLastError().
- *
- * \warning Remember, PHYSFS_sint64 is only 32 bits on platforms without
- * any sort of 64-bit support.
- */
-__EXPORT__ int PHYSFS_readSLE64(PHYSFS_File *file, PHYSFS_sint64 *val);
-
-
-/**
- * \fn int PHYSFS_readULE64(PHYSFS_File *file, PHYSFS_uint64 *val)
- * \brief Read and convert an unsigned 64-bit littleendian value.
- *
- * Convenience function. Read an unsigned 64-bit littleendian value from a
- * file and convert it to the platform's native byte order.
- *
- * \param file PhysicsFS file handle from which to read.
- * \param val pointer to where value should be stored.
- * \return zero on failure, non-zero on success. If successful, (*val) will
- * store the result. On failure, you can find out what went wrong
- * from PHYSFS_getLastError().
- *
- * \warning Remember, PHYSFS_uint64 is only 32 bits on platforms without
- * any sort of 64-bit support.
- */
-__EXPORT__ int PHYSFS_readULE64(PHYSFS_File *file, PHYSFS_uint64 *val);
-
-
-/**
- * \fn int PHYSFS_readSBE64(PHYSFS_File *file, PHYSFS_sint64 *val)
- * \brief Read and convert a signed 64-bit bigendian value.
- *
- * Convenience function. Read a signed 64-bit bigendian value from a
- * file and convert it to the platform's native byte order.
- *
- * \param file PhysicsFS file handle from which to read.
- * \param val pointer to where value should be stored.
- * \return zero on failure, non-zero on success. If successful, (*val) will
- * store the result. On failure, you can find out what went wrong
- * from PHYSFS_getLastError().
- *
- * \warning Remember, PHYSFS_sint64 is only 32 bits on platforms without
- * any sort of 64-bit support.
- */
-__EXPORT__ int PHYSFS_readSBE64(PHYSFS_File *file, PHYSFS_sint64 *val);
-
-
-/**
- * \fn int PHYSFS_readUBE64(PHYSFS_File *file, PHYSFS_uint64 *val)
- * \brief Read and convert an unsigned 64-bit bigendian value.
- *
- * Convenience function. Read an unsigned 64-bit bigendian value from a
- * file and convert it to the platform's native byte order.
- *
- * \param file PhysicsFS file handle from which to read.
- * \param val pointer to where value should be stored.
- * \return zero on failure, non-zero on success. If successful, (*val) will
- * store the result. On failure, you can find out what went wrong
- * from PHYSFS_getLastError().
- *
- * \warning Remember, PHYSFS_uint64 is only 32 bits on platforms without
- * any sort of 64-bit support.
- */
-__EXPORT__ int PHYSFS_readUBE64(PHYSFS_File *file, PHYSFS_uint64 *val);
-
-
-/**
- * \fn int PHYSFS_writeSLE16(PHYSFS_File *file, PHYSFS_sint16 val)
- * \brief Convert and write a signed 16-bit littleendian value.
- *
- * Convenience function. Convert a signed 16-bit value from the platform's
- * native byte order to littleendian and write it to a file.
- *
- * \param file PhysicsFS file handle to which to write.
- * \param val Value to convert and write.
- * \return zero on failure, non-zero on success. On failure, you can
- * find out what went wrong from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_writeSLE16(PHYSFS_File *file, PHYSFS_sint16 val);
-
-
-/**
- * \fn int PHYSFS_writeULE16(PHYSFS_File *file, PHYSFS_uint16 val)
- * \brief Convert and write an unsigned 16-bit littleendian value.
- *
- * Convenience function. Convert an unsigned 16-bit value from the platform's
- * native byte order to littleendian and write it to a file.
- *
- * \param file PhysicsFS file handle to which to write.
- * \param val Value to convert and write.
- * \return zero on failure, non-zero on success. On failure, you can
- * find out what went wrong from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_writeULE16(PHYSFS_File *file, PHYSFS_uint16 val);
-
-
-/**
- * \fn int PHYSFS_writeSBE16(PHYSFS_File *file, PHYSFS_sint16 val)
- * \brief Convert and write a signed 16-bit bigendian value.
- *
- * Convenience function. Convert a signed 16-bit value from the platform's
- * native byte order to bigendian and write it to a file.
- *
- * \param file PhysicsFS file handle to which to write.
- * \param val Value to convert and write.
- * \return zero on failure, non-zero on success. On failure, you can
- * find out what went wrong from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_writeSBE16(PHYSFS_File *file, PHYSFS_sint16 val);
-
-
-/**
- * \fn int PHYSFS_writeUBE16(PHYSFS_File *file, PHYSFS_uint16 val)
- * \brief Convert and write an unsigned 16-bit bigendian value.
- *
- * Convenience function. Convert an unsigned 16-bit value from the platform's
- * native byte order to bigendian and write it to a file.
- *
- * \param file PhysicsFS file handle to which to write.
- * \param val Value to convert and write.
- * \return zero on failure, non-zero on success. On failure, you can
- * find out what went wrong from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_writeUBE16(PHYSFS_File *file, PHYSFS_uint16 val);
-
-
-/**
- * \fn int PHYSFS_writeSLE32(PHYSFS_File *file, PHYSFS_sint32 val)
- * \brief Convert and write a signed 32-bit littleendian value.
- *
- * Convenience function. Convert a signed 32-bit value from the platform's
- * native byte order to littleendian and write it to a file.
- *
- * \param file PhysicsFS file handle to which to write.
- * \param val Value to convert and write.
- * \return zero on failure, non-zero on success. On failure, you can
- * find out what went wrong from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_writeSLE32(PHYSFS_File *file, PHYSFS_sint32 val);
-
-
-/**
- * \fn int PHYSFS_writeULE32(PHYSFS_File *file, PHYSFS_uint32 val)
- * \brief Convert and write an unsigned 32-bit littleendian value.
- *
- * Convenience function. Convert an unsigned 32-bit value from the platform's
- * native byte order to littleendian and write it to a file.
- *
- * \param file PhysicsFS file handle to which to write.
- * \param val Value to convert and write.
- * \return zero on failure, non-zero on success. On failure, you can
- * find out what went wrong from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_writeULE32(PHYSFS_File *file, PHYSFS_uint32 val);
-
-
-/**
- * \fn int PHYSFS_writeSBE32(PHYSFS_File *file, PHYSFS_sint32 val)
- * \brief Convert and write a signed 32-bit bigendian value.
- *
- * Convenience function. Convert a signed 32-bit value from the platform's
- * native byte order to bigendian and write it to a file.
- *
- * \param file PhysicsFS file handle to which to write.
- * \param val Value to convert and write.
- * \return zero on failure, non-zero on success. On failure, you can
- * find out what went wrong from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_writeSBE32(PHYSFS_File *file, PHYSFS_sint32 val);
-
-
-/**
- * \fn int PHYSFS_writeUBE32(PHYSFS_File *file, PHYSFS_uint32 val)
- * \brief Convert and write an unsigned 32-bit bigendian value.
- *
- * Convenience function. Convert an unsigned 32-bit value from the platform's
- * native byte order to bigendian and write it to a file.
- *
- * \param file PhysicsFS file handle to which to write.
- * \param val Value to convert and write.
- * \return zero on failure, non-zero on success. On failure, you can
- * find out what went wrong from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_writeUBE32(PHYSFS_File *file, PHYSFS_uint32 val);
-
-
-/**
- * \fn int PHYSFS_writeSLE64(PHYSFS_File *file, PHYSFS_sint64 val)
- * \brief Convert and write a signed 64-bit littleendian value.
- *
- * Convenience function. Convert a signed 64-bit value from the platform's
- * native byte order to littleendian and write it to a file.
- *
- * \param file PhysicsFS file handle to which to write.
- * \param val Value to convert and write.
- * \return zero on failure, non-zero on success. On failure, you can
- * find out what went wrong from PHYSFS_getLastError().
- *
- * \warning Remember, PHYSFS_uint64 is only 32 bits on platforms without
- * any sort of 64-bit support.
- */
-__EXPORT__ int PHYSFS_writeSLE64(PHYSFS_File *file, PHYSFS_sint64 val);
-
-
-/**
- * \fn int PHYSFS_writeULE64(PHYSFS_File *file, PHYSFS_uint64 val)
- * \brief Convert and write an unsigned 64-bit littleendian value.
- *
- * Convenience function. Convert an unsigned 64-bit value from the platform's
- * native byte order to littleendian and write it to a file.
- *
- * \param file PhysicsFS file handle to which to write.
- * \param val Value to convert and write.
- * \return zero on failure, non-zero on success. On failure, you can
- * find out what went wrong from PHYSFS_getLastError().
- *
- * \warning Remember, PHYSFS_uint64 is only 32 bits on platforms without
- * any sort of 64-bit support.
- */
-__EXPORT__ int PHYSFS_writeULE64(PHYSFS_File *file, PHYSFS_uint64 val);
-
-
-/**
- * \fn int PHYSFS_writeSBE64(PHYSFS_File *file, PHYSFS_sint64 val)
- * \brief Convert and write a signed 64-bit bigending value.
- *
- * Convenience function. Convert a signed 64-bit value from the platform's
- * native byte order to bigendian and write it to a file.
- *
- * \param file PhysicsFS file handle to which to write.
- * \param val Value to convert and write.
- * \return zero on failure, non-zero on success. On failure, you can
- * find out what went wrong from PHYSFS_getLastError().
- *
- * \warning Remember, PHYSFS_uint64 is only 32 bits on platforms without
- * any sort of 64-bit support.
- */
-__EXPORT__ int PHYSFS_writeSBE64(PHYSFS_File *file, PHYSFS_sint64 val);
-
-
-/**
- * \fn int PHYSFS_writeUBE64(PHYSFS_File *file, PHYSFS_uint64 val)
- * \brief Convert and write an unsigned 64-bit bigendian value.
- *
- * Convenience function. Convert an unsigned 64-bit value from the platform's
- * native byte order to bigendian and write it to a file.
- *
- * \param file PhysicsFS file handle to which to write.
- * \param val Value to convert and write.
- * \return zero on failure, non-zero on success. On failure, you can
- * find out what went wrong from PHYSFS_getLastError().
- *
- * \warning Remember, PHYSFS_uint64 is only 32 bits on platforms without
- * any sort of 64-bit support.
- */
-__EXPORT__ int PHYSFS_writeUBE64(PHYSFS_File *file, PHYSFS_uint64 val);
-
-
-/* Everything above this line is part of the PhysicsFS 1.0 API. */
-
-/**
- * \fn int PHYSFS_isInit(void)
- * \brief Determine if the PhysicsFS library is initialized.
- *
- * Once PHYSFS_init() returns successfully, this will return non-zero.
- * Before a successful PHYSFS_init() and after PHYSFS_deinit() returns
- * successfully, this will return zero. This function is safe to call at
- * any time.
- *
- * \return non-zero if library is initialized, zero if library is not.
- *
- * \sa PHYSFS_init
- * \sa PHYSFS_deinit
- */
-__EXPORT__ int PHYSFS_isInit(void);
-
-
-/**
- * \fn int PHYSFS_symbolicLinksPermitted(void)
- * \brief Determine if the symbolic links are permitted.
- *
- * This reports the setting from the last call to PHYSFS_permitSymbolicLinks().
- * If PHYSFS_permitSymbolicLinks() hasn't been called since the library was
- * last initialized, symbolic links are implicitly disabled.
- *
- * \return non-zero if symlinks are permitted, zero if not.
- *
- * \sa PHYSFS_permitSymbolicLinks
- */
-__EXPORT__ int PHYSFS_symbolicLinksPermitted(void);
-
-
-/**
- * \struct PHYSFS_Allocator
- * \brief PhysicsFS allocation function pointers.
- *
- * (This is for limited, hardcore use. If you don't immediately see a need
- * for it, you can probably ignore this forever.)
- *
- * You create one of these structures for use with PHYSFS_setAllocator.
- * Allocators are assumed to be reentrant by the caller; please mutex
- * accordingly.
- *
- * Allocations are always discussed in 64-bits, for future expansion...we're
- * on the cusp of a 64-bit transition, and we'll probably be allocating 6
- * gigabytes like it's nothing sooner or later, and I don't want to change
- * this again at that point. If you're on a 32-bit platform and have to
- * downcast, it's okay to return NULL if the allocation is greater than
- * 4 gigabytes, since you'd have to do so anyhow.
- *
- * \sa PHYSFS_setAllocator
- */
-typedef struct
-{
- int (*Init)(void); /**< Initialize. Can be NULL. Zero on failure. */
- void (*Deinit)(void); /**< Deinitialize your allocator. Can be NULL. */
- void *(*Malloc)(PHYSFS_uint64); /**< Allocate like malloc(). */
- void *(*Realloc)(void *, PHYSFS_uint64); /**< Reallocate like realloc(). */
- void (*Free)(void *); /**< Free memory from Malloc or Realloc. */
-} PHYSFS_Allocator;
-
-
-/**
- * \fn int PHYSFS_setAllocator(const PHYSFS_Allocator *allocator)
- * \brief Hook your own allocation routines into PhysicsFS.
- *
- * (This is for limited, hardcore use. If you don't immediately see a need
- * for it, you can probably ignore this forever.)
- *
- * By default, PhysicsFS will use whatever is reasonable for a platform
- * to manage dynamic memory (usually ANSI C malloc/realloc/calloc/free, but
- * some platforms might use something else), but in some uncommon cases, the
- * app might want more control over the library's memory management. This
- * lets you redirect PhysicsFS to use your own allocation routines instead.
- * You can only call this function before PHYSFS_init(); if the library is
- * initialized, it'll reject your efforts to change the allocator mid-stream.
- * You may call this function after PHYSFS_deinit() if you are willing to
- * shut down the library and restart it with a new allocator; this is a safe
- * and supported operation. The allocator remains intact between deinit/init
- * calls. If you want to return to the platform's default allocator, pass a
- * NULL in here.
- *
- * If you aren't immediately sure what to do with this function, you can
- * safely ignore it altogether.
- *
- * \param allocator Structure containing your allocator's entry points.
- * \return zero on failure, non-zero on success. This call only fails
- * when used between PHYSFS_init() and PHYSFS_deinit() calls.
- */
-__EXPORT__ int PHYSFS_setAllocator(const PHYSFS_Allocator *allocator);
-
-
-/**
- * \fn int PHYSFS_mount(const char *newDir, const char *mountPoint, int appendToPath)
- * \brief Add an archive or directory to the search path.
- *
- * If this is a duplicate, the entry is not added again, even though the
- * function succeeds. You may not add the same archive to two different
- * mountpoints: duplicate checking is done against the archive and not the
- * mountpoint.
- *
- * When you mount an archive, it is added to a virtual file system...all files
- * in all of the archives are interpolated into a single hierachical file
- * tree. Two archives mounted at the same place (or an archive with files
- * overlapping another mountpoint) may have overlapping files: in such a case,
- * the file earliest in the search path is selected, and the other files are
- * inaccessible to the application. This allows archives to be used to
- * override previous revisions; you can use the mounting mechanism to place
- * archives at a specific point in the file tree and prevent overlap; this
- * is useful for downloadable mods that might trample over application data
- * or each other, for example.
- *
- * The mountpoint does not need to exist prior to mounting, which is different
- * than those familiar with the Unix concept of "mounting" may not expect.
- * As well, more than one archive can be mounted to the same mountpoint, or
- * mountpoints and archive contents can overlap...the interpolation mechanism
- * still functions as usual.
- *
- * \param newDir directory or archive to add to the path, in
- * platform-dependent notation.
- * \param mountPoint Location in the interpolated tree that this archive
- * will be "mounted", in platform-independent notation.
- * NULL or "" is equivalent to "/".
- * \param appendToPath nonzero to append to search path, zero to prepend.
- * \return nonzero if added to path, zero on failure (bogus archive, dir
- * missing, etc). Specifics of the error can be
- * gleaned from PHYSFS_getLastError().
- *
- * \sa PHYSFS_removeFromSearchPath
- * \sa PHYSFS_getSearchPath
- * \sa PHYSFS_getMountPoint
- */
-__EXPORT__ int PHYSFS_mount(const char *newDir, const char *mountPoint, int appendToPath);
-
-/**
- * \fn int PHYSFS_getMountPoint(const char *dir)
- * \brief Determine a mounted archive's mountpoint.
- *
- * You give this function the name of an archive or dir you successfully
- * added to the search path, and it reports the location in the interpolated
- * tree where it is mounted. Files mounted with a NULL mountpoint or through
- * PHYSFS_addToSearchPath() will report "/". The return value is READ ONLY
- * and valid until the archive is removed from the search path.
- *
- * \param dir directory or archive previously added to the path, in
- * platform-dependent notation. This must match the string
- * used when adding, even if your string would also reference
- * the same file with a different string of characters.
- * \return READ-ONLY string of mount point if added to path, NULL on failure
- * (bogus archive, etc) Specifics of the error can be gleaned from
- * PHYSFS_getLastError().
- *
- * \sa PHYSFS_removeFromSearchPath
- * \sa PHYSFS_getSearchPath
- * \sa PHYSFS_getMountPoint
- */
-__EXPORT__ const char *PHYSFS_getMountPoint(const char *dir);
-
-
-/**
- * \typedef PHYSFS_StringCallback
- * \brief Function signature for callbacks that report strings.
- *
- * These are used to report a list of strings to an original caller, one
- * string per callback. All strings are UTF-8 encoded. Functions should not
- * try to modify or free the string's memory.
- *
- * These callbacks are used, starting in PhysicsFS 1.1, as an alternative to
- * functions that would return lists that need to be cleaned up with
- * PHYSFS_freeList(). The callback means that the library doesn't need to
- * allocate an entire list and all the strings up front.
- *
- * Be aware that promises data ordering in the list versions are not
- * necessarily so in the callback versions. Check the documentation on
- * specific APIs, but strings may not be sorted as you expect.
- *
- * \param data User-defined data pointer, passed through from the API
- * that eventually called the callback.
- * \param str The string data about which the callback is meant to inform.
- *
- * \sa PHYSFS_getCdRomDirsCallback
- * \sa PHYSFS_getSearchPathCallback
- */
-typedef void (*PHYSFS_StringCallback)(void *data, const char *str);
-
-
-/**
- * \typedef PHYSFS_EnumFilesCallback
- * \brief Function signature for callbacks that enumerate files.
- *
- * These are used to report a list of directory entries to an original caller,
- * one file/dir/symlink per callback. All strings are UTF-8 encoded.
- * Functions should not try to modify or free any string's memory.
- *
- * These callbacks are used, starting in PhysicsFS 1.1, as an alternative to
- * functions that would return lists that need to be cleaned up with
- * PHYSFS_freeList(). The callback means that the library doesn't need to
- * allocate an entire list and all the strings up front.
- *
- * Be aware that promises data ordering in the list versions are not
- * necessarily so in the callback versions. Check the documentation on
- * specific APIs, but strings may not be sorted as you expect.
- *
- * \param data User-defined data pointer, passed through from the API
- * that eventually called the callback.
- * \param origdir A string containing the full path, in platform-independent
- * notation, of the directory containing this file. In most
- * cases, this is the directory on which you requested
- * enumeration, passed in the callback for your convenience.
- * \param fname The filename that is being enumerated. It may not be in
- * alphabetical order compared to other callbacks that have
- * fired, and it will not contain the full path. You can
- * recreate the fullpath with $origdir/$fname ... The file
- * can be a subdirectory, a file, a symlink, etc.
- *
- * \sa PHYSFS_enumerateFilesCallback
- */
-typedef void (*PHYSFS_EnumFilesCallback)(void *data, const char *origdir,
- const char *fname);
-
-
-/**
- * \fn void PHYSFS_getCdRomDirsCallback(PHYSFS_StringCallback c, void *d)
- * \brief Enumerate CD-ROM directories, using an application-defined callback.
- *
- * Internally, PHYSFS_getCdRomDirs() just calls this function and then builds
- * a list before returning to the application, so functionality is identical
- * except for how the information is represented to the application.
- *
- * Unlike PHYSFS_getCdRomDirs(), this function does not return an array.
- * Rather, it calls a function specified by the application once per
- * detected disc:
- *
- * \code
- *
- * static void foundDisc(void *data, const char *cddir)
- * {
- * printf("cdrom dir [%s] is available.\n", cddir);
- * }
- *
- * // ...
- * PHYSFS_getCdRomDirsCallback(foundDisc, NULL);
- * \endcode
- *
- * This call may block while drives spin up. Be forewarned.
- *
- * \param c Callback function to notify about detected drives.
- * \param d Application-defined data passed to callback. Can be NULL.
- *
- * \sa PHYSFS_StringCallback
- * \sa PHYSFS_getCdRomDirs
- */
-__EXPORT__ void PHYSFS_getCdRomDirsCallback(PHYSFS_StringCallback c, void *d);
-
-
-/**
- * \fn void PHYSFS_getSearchPathCallback(PHYSFS_StringCallback c, void *d)
- * \brief Enumerate the search path, using an application-defined callback.
- *
- * Internally, PHYSFS_getSearchPath() just calls this function and then builds
- * a list before returning to the application, so functionality is identical
- * except for how the information is represented to the application.
- *
- * Unlike PHYSFS_getSearchPath(), this function does not return an array.
- * Rather, it calls a function specified by the application once per
- * element of the search path:
- *
- * \code
- *
- * static void printSearchPath(void *data, const char *pathItem)
- * {
- * printf("[%s] is in the search path.\n", pathItem);
- * }
- *
- * // ...
- * PHYSFS_getSearchPathCallback(printSearchPath, NULL);
- * \endcode
- *
- * Elements of the search path are reported in order search priority, so the
- * first archive/dir that would be examined when looking for a file is the
- * first element passed through the callback.
- *
- * \param c Callback function to notify about search path elements.
- * \param d Application-defined data passed to callback. Can be NULL.
- *
- * \sa PHYSFS_StringCallback
- * \sa PHYSFS_getSearchPath
- */
-__EXPORT__ void PHYSFS_getSearchPathCallback(PHYSFS_StringCallback c, void *d);
-
-
-/**
- * \fn void PHYSFS_enumerateFilesCallback(const char *dir, PHYSFS_EnumFilesCallback c, void *d)
- * \brief Get a file listing of a search path's directory, using an application-defined callback.
- *
- * Internally, PHYSFS_enumerateFiles() just calls this function and then builds
- * a list before returning to the application, so functionality is identical
- * except for how the information is represented to the application.
- *
- * Unlike PHYSFS_enumerateFiles(), this function does not return an array.
- * Rather, it calls a function specified by the application once per
- * element of the search path:
- *
- * \code
- *
- * static void printDir(void *data, const char *origdir, const char *fname)
- * {
- * printf(" * We've got [%s] in [%s].\n", fname, origdir);
- * }
- *
- * // ...
- * PHYSFS_enumerateFilesCallback("/some/path", printDir, NULL);
- * \endcode
- *
- * Items sent to the callback are not guaranteed to be in any order whatsoever.
- * There is no sorting done at this level, and if you need that, you should
- * probably use PHYSFS_enumerateFiles() instead, which guarantees
- * alphabetical sorting. This form reports whatever is discovered in each
- * archive before moving on to the next. Even within one archive, we can't
- * guarantee what order it will discover data. <em>Any sorting you find in
- * these callbacks is just pure luck. Do not rely on it.</em>
- *
- * \param dir Directory, in platform-independent notation, to enumerate.
- * \param c Callback function to notify about search path elements.
- * \param d Application-defined data passed to callback. Can be NULL.
- *
- * \sa PHYSFS_EnumFilesCallback
- * \sa PHYSFS_enumerateFiles
- */
-__EXPORT__ void PHYSFS_enumerateFilesCallback(const char *dir,
- PHYSFS_EnumFilesCallback c,
- void *d);
-
-/**
- * \fn void PHYSFS_utf8FromUcs4(const PHYSFS_uint32 *src, char *dst, PHYSFS_uint64 len)
- * \brief Convert a UCS-4 string to a UTF-8 string.
- *
- * UCS-4 strings are 32-bits per character: \c wchar_t on Unix.
- *
- * To ensure that the destination buffer is large enough for the conversion,
- * please allocate a buffer that is the same size as the source buffer. UTF-8
- * never uses more than 32-bits per character, so while it may shrink a UCS-4
- * string, it will never expand it.
- *
- * Strings that don't fit in the destination buffer will be truncated, but
- * will always be null-terminated and never have an incomplete UTF-8
- * sequence at the end.
- *
- * \param src Null-terminated source string in UCS-4 format.
- * \param dst Buffer to store converted UTF-8 string.
- * \param len Size, in bytes, of destination buffer.
- */
-__EXPORT__ void PHYSFS_utf8FromUcs4(const PHYSFS_uint32 *src, char *dst,
- PHYSFS_uint64 len);
-
-/**
- * \fn void PHYSFS_utf8ToUcs4(const char *src, PHYSFS_uint32 *dst, PHYSFS_uint64 len)
- * \brief Convert a UTF-8 string to a UCS-4 string.
- *
- * UCS-4 strings are 32-bits per character: \c wchar_t on Unix.
- *
- * To ensure that the destination buffer is large enough for the conversion,
- * please allocate a buffer that is four times the size of the source buffer.
- * UTF-8 uses from one to four bytes per character, but UCS-4 always uses
- * four, so an entirely low-ASCII string will quadruple in size!
- *
- * Strings that don't fit in the destination buffer will be truncated, but
- * will always be null-terminated and never have an incomplete UCS-4
- * sequence at the end.
- *
- * \param src Null-terminated source string in UTF-8 format.
- * \param dst Buffer to store converted UCS-4 string.
- * \param len Size, in bytes, of destination buffer.
- */
-__EXPORT__ void PHYSFS_utf8ToUcs4(const char *src, PHYSFS_uint32 *dst,
- PHYSFS_uint64 len);
-
-/**
- * \fn void PHYSFS_utf8FromUcs2(const PHYSFS_uint16 *src, char *dst, PHYSFS_uint64 len)
- * \brief Convert a UCS-2 string to a UTF-8 string.
- *
- * UCS-2 strings are 16-bits per character: \c TCHAR on Windows, when building
- * with Unicode support.
- *
- * To ensure that the destination buffer is large enough for the conversion,
- * please allocate a buffer that is double the size of the source buffer.
- * UTF-8 never uses more than 32-bits per character, so while it may shrink
- * a UCS-2 string, it may also expand it.
- *
- * Strings that don't fit in the destination buffer will be truncated, but
- * will always be null-terminated and never have an incomplete UTF-8
- * sequence at the end.
- *
- * Please note that UCS-2 is not UTF-16; we do not support the "surrogate"
- * values at this time.
- *
- * \param src Null-terminated source string in UCS-2 format.
- * \param dst Buffer to store converted UTF-8 string.
- * \param len Size, in bytes, of destination buffer.
- */
-__EXPORT__ void PHYSFS_utf8FromUcs2(const PHYSFS_uint16 *src, char *dst,
- PHYSFS_uint64 len);
-
-/**
- * \fn PHYSFS_utf8ToUcs2(const char *src, PHYSFS_uint16 *dst, PHYSFS_uint64 len)
- * \brief Convert a UTF-8 string to a UCS-2 string.
- *
- * UCS-2 strings are 16-bits per character: \c TCHAR on Windows, when building
- * with Unicode support.
- *
- * To ensure that the destination buffer is large enough for the conversion,
- * please allocate a buffer that is double the size of the source buffer.
- * UTF-8 uses from one to four bytes per character, but UCS-2 always uses
- * two, so an entirely low-ASCII string will double in size!
- *
- * Strings that don't fit in the destination buffer will be truncated, but
- * will always be null-terminated and never have an incomplete UCS-2
- * sequence at the end.
- *
- * Please note that UCS-2 is not UTF-16; we do not support the "surrogate"
- * values at this time.
- *
- * \param src Null-terminated source string in UTF-8 format.
- * \param dst Buffer to store converted UCS-2 string.
- * \param len Size, in bytes, of destination buffer.
- */
-__EXPORT__ void PHYSFS_utf8ToUcs2(const char *src, PHYSFS_uint16 *dst,
- PHYSFS_uint64 len);
-
-/**
- * \fn void PHYSFS_utf8FromLatin1(const char *src, char *dst, PHYSFS_uint64 len)
- * \brief Convert a UTF-8 string to a Latin1 string.
- *
- * Latin1 strings are 8-bits per character: a popular "high ASCII"
- * encoding.
- *
- * To ensure that the destination buffer is large enough for the conversion,
- * please allocate a buffer that is double the size of the source buffer.
- * UTF-8 expands latin1 codepoints over 127 from 1 to 2 bytes, so the string
- * may grow in some cases.
- *
- * Strings that don't fit in the destination buffer will be truncated, but
- * will always be null-terminated and never have an incomplete UTF-8
- * sequence at the end.
- *
- * Please note that we do not supply a UTF-8 to Latin1 converter, since Latin1
- * can't express most Unicode codepoints. It's a legacy encoding; you should
- * be converting away from it at all times.
- *
- * \param src Null-terminated source string in Latin1 format.
- * \param dst Buffer to store converted UTF-8 string.
- * \param len Size, in bytes, of destination buffer.
- */
-__EXPORT__ void PHYSFS_utf8FromLatin1(const char *src, char *dst,
- PHYSFS_uint64 len);
-
-/* Everything above this line is part of the PhysicsFS 2.0 API. */
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !defined _INCLUDE_PHYSFS_H_ */
-
-/* end of physfs.h ... */
-
diff --git a/Frameworks/physfs.framework/Versions/A/Headers/.svn/text-base/physfs_casefolding.h.svn-base b/Frameworks/physfs.framework/Versions/A/Headers/.svn/text-base/physfs_casefolding.h.svn-base
deleted file mode 100644
index 0e50f1e7..00000000
--- a/Frameworks/physfs.framework/Versions/A/Headers/.svn/text-base/physfs_casefolding.h.svn-base
+++ /dev/null
@@ -1,2013 +0,0 @@
-/*
- * This file is part of PhysicsFS (http://icculus.org/physfs/)
- *
- * This data generated by physfs/extras/makecasefoldhashtable.pl ...
- * Do not manually edit this file!
- *
- * Please see the file LICENSE.txt in the source's root directory.
- */
-
-#ifndef __PHYSICSFS_INTERNAL__
-#error Do not include this header from your applications.
-#endif
-
-static const CaseFoldMapping case_fold_000[] = {
- { 0x0202, 0x0203, 0x0000, 0x0000 },
- { 0x0404, 0x0454, 0x0000, 0x0000 },
- { 0x1E1E, 0x1E1F, 0x0000, 0x0000 },
- { 0x2C2C, 0x2C5C, 0x0000, 0x0000 },
- { 0x10404, 0x1042C, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_001[] = {
- { 0x0100, 0x0101, 0x0000, 0x0000 },
- { 0x0405, 0x0455, 0x0000, 0x0000 },
- { 0x0504, 0x0505, 0x0000, 0x0000 },
- { 0x2C2D, 0x2C5D, 0x0000, 0x0000 },
- { 0x10405, 0x1042D, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_002[] = {
- { 0x0200, 0x0201, 0x0000, 0x0000 },
- { 0x0406, 0x0456, 0x0000, 0x0000 },
- { 0x1E1C, 0x1E1D, 0x0000, 0x0000 },
- { 0x1F1D, 0x1F15, 0x0000, 0x0000 },
- { 0x2C2E, 0x2C5E, 0x0000, 0x0000 },
- { 0x10406, 0x1042E, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_003[] = {
- { 0x0102, 0x0103, 0x0000, 0x0000 },
- { 0x0407, 0x0457, 0x0000, 0x0000 },
- { 0x0506, 0x0507, 0x0000, 0x0000 },
- { 0x1F1C, 0x1F14, 0x0000, 0x0000 },
- { 0x10407, 0x1042F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_004[] = {
- { 0x0206, 0x0207, 0x0000, 0x0000 },
- { 0x0400, 0x0450, 0x0000, 0x0000 },
- { 0x1E1A, 0x1E1B, 0x0000, 0x0000 },
- { 0x1F1B, 0x1F13, 0x0000, 0x0000 },
- { 0x2C28, 0x2C58, 0x0000, 0x0000 },
- { 0x10400, 0x10428, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_005[] = {
- { 0x0104, 0x0105, 0x0000, 0x0000 },
- { 0x0401, 0x0451, 0x0000, 0x0000 },
- { 0x0500, 0x0501, 0x0000, 0x0000 },
- { 0x1F1A, 0x1F12, 0x0000, 0x0000 },
- { 0x2C29, 0x2C59, 0x0000, 0x0000 },
- { 0x10401, 0x10429, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_006[] = {
- { 0x0204, 0x0205, 0x0000, 0x0000 },
- { 0x0402, 0x0452, 0x0000, 0x0000 },
- { 0x1E18, 0x1E19, 0x0000, 0x0000 },
- { 0x1F19, 0x1F11, 0x0000, 0x0000 },
- { 0x2C2A, 0x2C5A, 0x0000, 0x0000 },
- { 0x10402, 0x1042A, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_007[] = {
- { 0x0106, 0x0107, 0x0000, 0x0000 },
- { 0x0403, 0x0453, 0x0000, 0x0000 },
- { 0x0502, 0x0503, 0x0000, 0x0000 },
- { 0x1F18, 0x1F10, 0x0000, 0x0000 },
- { 0x2126, 0x03C9, 0x0000, 0x0000 },
- { 0x2C2B, 0x2C5B, 0x0000, 0x0000 },
- { 0x10403, 0x1042B, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_008[] = {
- { 0x020A, 0x020B, 0x0000, 0x0000 },
- { 0x040C, 0x045C, 0x0000, 0x0000 },
- { 0x1E16, 0x1E17, 0x0000, 0x0000 },
- { 0x2C24, 0x2C54, 0x0000, 0x0000 },
- { 0x1040C, 0x10434, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_009[] = {
- { 0x0108, 0x0109, 0x0000, 0x0000 },
- { 0x040D, 0x045D, 0x0000, 0x0000 },
- { 0x050C, 0x050D, 0x0000, 0x0000 },
- { 0x2C25, 0x2C55, 0x0000, 0x0000 },
- { 0x1040D, 0x10435, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_010[] = {
- { 0x0208, 0x0209, 0x0000, 0x0000 },
- { 0x040E, 0x045E, 0x0000, 0x0000 },
- { 0x1E14, 0x1E15, 0x0000, 0x0000 },
- { 0x212B, 0x00E5, 0x0000, 0x0000 },
- { 0x2C26, 0x2C56, 0x0000, 0x0000 },
- { 0x1040E, 0x10436, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_011[] = {
- { 0x010A, 0x010B, 0x0000, 0x0000 },
- { 0x040F, 0x045F, 0x0000, 0x0000 },
- { 0x050E, 0x050F, 0x0000, 0x0000 },
- { 0x212A, 0x006B, 0x0000, 0x0000 },
- { 0x2C27, 0x2C57, 0x0000, 0x0000 },
- { 0x1040F, 0x10437, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_012[] = {
- { 0x020E, 0x020F, 0x0000, 0x0000 },
- { 0x0408, 0x0458, 0x0000, 0x0000 },
- { 0x1E12, 0x1E13, 0x0000, 0x0000 },
- { 0x2C20, 0x2C50, 0x0000, 0x0000 },
- { 0x10408, 0x10430, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_013[] = {
- { 0x010C, 0x010D, 0x0000, 0x0000 },
- { 0x0409, 0x0459, 0x0000, 0x0000 },
- { 0x0508, 0x0509, 0x0000, 0x0000 },
- { 0x2C21, 0x2C51, 0x0000, 0x0000 },
- { 0x10409, 0x10431, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_014[] = {
- { 0x020C, 0x020D, 0x0000, 0x0000 },
- { 0x040A, 0x045A, 0x0000, 0x0000 },
- { 0x1E10, 0x1E11, 0x0000, 0x0000 },
- { 0x2C22, 0x2C52, 0x0000, 0x0000 },
- { 0x1040A, 0x10432, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_015[] = {
- { 0x010E, 0x010F, 0x0000, 0x0000 },
- { 0x040B, 0x045B, 0x0000, 0x0000 },
- { 0x050A, 0x050B, 0x0000, 0x0000 },
- { 0x2C23, 0x2C53, 0x0000, 0x0000 },
- { 0x1040B, 0x10433, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_016[] = {
- { 0x0212, 0x0213, 0x0000, 0x0000 },
- { 0x0414, 0x0434, 0x0000, 0x0000 },
- { 0x1E0E, 0x1E0F, 0x0000, 0x0000 },
- { 0x1F0F, 0x1F07, 0x0000, 0x0000 },
- { 0x10414, 0x1043C, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_017[] = {
- { 0x0110, 0x0111, 0x0000, 0x0000 },
- { 0x0415, 0x0435, 0x0000, 0x0000 },
- { 0x1F0E, 0x1F06, 0x0000, 0x0000 },
- { 0x10415, 0x1043D, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_018[] = {
- { 0x0210, 0x0211, 0x0000, 0x0000 },
- { 0x0416, 0x0436, 0x0000, 0x0000 },
- { 0x1E0C, 0x1E0D, 0x0000, 0x0000 },
- { 0x1F0D, 0x1F05, 0x0000, 0x0000 },
- { 0x10416, 0x1043E, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_019[] = {
- { 0x0112, 0x0113, 0x0000, 0x0000 },
- { 0x0417, 0x0437, 0x0000, 0x0000 },
- { 0x1F0C, 0x1F04, 0x0000, 0x0000 },
- { 0x10417, 0x1043F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_020[] = {
- { 0x0216, 0x0217, 0x0000, 0x0000 },
- { 0x0410, 0x0430, 0x0000, 0x0000 },
- { 0x1E0A, 0x1E0B, 0x0000, 0x0000 },
- { 0x1F0B, 0x1F03, 0x0000, 0x0000 },
- { 0x10410, 0x10438, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_021[] = {
- { 0x0114, 0x0115, 0x0000, 0x0000 },
- { 0x0411, 0x0431, 0x0000, 0x0000 },
- { 0x1F0A, 0x1F02, 0x0000, 0x0000 },
- { 0x10411, 0x10439, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_022[] = {
- { 0x0214, 0x0215, 0x0000, 0x0000 },
- { 0x0412, 0x0432, 0x0000, 0x0000 },
- { 0x1E08, 0x1E09, 0x0000, 0x0000 },
- { 0x1F09, 0x1F01, 0x0000, 0x0000 },
- { 0x10412, 0x1043A, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_023[] = {
- { 0x0116, 0x0117, 0x0000, 0x0000 },
- { 0x0413, 0x0433, 0x0000, 0x0000 },
- { 0x1F08, 0x1F00, 0x0000, 0x0000 },
- { 0x10413, 0x1043B, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_024[] = {
- { 0x021A, 0x021B, 0x0000, 0x0000 },
- { 0x041C, 0x043C, 0x0000, 0x0000 },
- { 0x1E06, 0x1E07, 0x0000, 0x0000 },
- { 0x1041C, 0x10444, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_025[] = {
- { 0x0118, 0x0119, 0x0000, 0x0000 },
- { 0x041D, 0x043D, 0x0000, 0x0000 },
- { 0x1041D, 0x10445, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_026[] = {
- { 0x0218, 0x0219, 0x0000, 0x0000 },
- { 0x041E, 0x043E, 0x0000, 0x0000 },
- { 0x1E04, 0x1E05, 0x0000, 0x0000 },
- { 0x1041E, 0x10446, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_027[] = {
- { 0x011A, 0x011B, 0x0000, 0x0000 },
- { 0x041F, 0x043F, 0x0000, 0x0000 },
- { 0x1041F, 0x10447, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_028[] = {
- { 0x021E, 0x021F, 0x0000, 0x0000 },
- { 0x0418, 0x0438, 0x0000, 0x0000 },
- { 0x1E02, 0x1E03, 0x0000, 0x0000 },
- { 0x10418, 0x10440, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_029[] = {
- { 0x011C, 0x011D, 0x0000, 0x0000 },
- { 0x0419, 0x0439, 0x0000, 0x0000 },
- { 0x10419, 0x10441, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_030[] = {
- { 0x021C, 0x021D, 0x0000, 0x0000 },
- { 0x041A, 0x043A, 0x0000, 0x0000 },
- { 0x1E00, 0x1E01, 0x0000, 0x0000 },
- { 0x1041A, 0x10442, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_031[] = {
- { 0x011E, 0x011F, 0x0000, 0x0000 },
- { 0x041B, 0x043B, 0x0000, 0x0000 },
- { 0x1041B, 0x10443, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_032[] = {
- { 0x0222, 0x0223, 0x0000, 0x0000 },
- { 0x0424, 0x0444, 0x0000, 0x0000 },
- { 0x1E3E, 0x1E3F, 0x0000, 0x0000 },
- { 0x1F3F, 0x1F37, 0x0000, 0x0000 },
- { 0x2C0C, 0x2C3C, 0x0000, 0x0000 },
- { 0x10424, 0x1044C, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_033[] = {
- { 0x0120, 0x0121, 0x0000, 0x0000 },
- { 0x0425, 0x0445, 0x0000, 0x0000 },
- { 0x1F3E, 0x1F36, 0x0000, 0x0000 },
- { 0x2C0D, 0x2C3D, 0x0000, 0x0000 },
- { 0x10425, 0x1044D, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_034[] = {
- { 0x0220, 0x019E, 0x0000, 0x0000 },
- { 0x0426, 0x0446, 0x0000, 0x0000 },
- { 0x1E3C, 0x1E3D, 0x0000, 0x0000 },
- { 0x1F3D, 0x1F35, 0x0000, 0x0000 },
- { 0x2C0E, 0x2C3E, 0x0000, 0x0000 },
- { 0x10426, 0x1044E, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_035[] = {
- { 0x0122, 0x0123, 0x0000, 0x0000 },
- { 0x0427, 0x0447, 0x0000, 0x0000 },
- { 0x1F3C, 0x1F34, 0x0000, 0x0000 },
- { 0x2C0F, 0x2C3F, 0x0000, 0x0000 },
- { 0x10427, 0x1044F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_036[] = {
- { 0x0226, 0x0227, 0x0000, 0x0000 },
- { 0x0420, 0x0440, 0x0000, 0x0000 },
- { 0x1E3A, 0x1E3B, 0x0000, 0x0000 },
- { 0x1F3B, 0x1F33, 0x0000, 0x0000 },
- { 0x2C08, 0x2C38, 0x0000, 0x0000 },
- { 0x10420, 0x10448, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_037[] = {
- { 0x0124, 0x0125, 0x0000, 0x0000 },
- { 0x0421, 0x0441, 0x0000, 0x0000 },
- { 0x1F3A, 0x1F32, 0x0000, 0x0000 },
- { 0x2C09, 0x2C39, 0x0000, 0x0000 },
- { 0x10421, 0x10449, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_038[] = {
- { 0x0224, 0x0225, 0x0000, 0x0000 },
- { 0x0422, 0x0442, 0x0000, 0x0000 },
- { 0x1E38, 0x1E39, 0x0000, 0x0000 },
- { 0x1F39, 0x1F31, 0x0000, 0x0000 },
- { 0x2C0A, 0x2C3A, 0x0000, 0x0000 },
- { 0x10422, 0x1044A, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_039[] = {
- { 0x0126, 0x0127, 0x0000, 0x0000 },
- { 0x0423, 0x0443, 0x0000, 0x0000 },
- { 0x1F38, 0x1F30, 0x0000, 0x0000 },
- { 0x2C0B, 0x2C3B, 0x0000, 0x0000 },
- { 0x10423, 0x1044B, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_040[] = {
- { 0x022A, 0x022B, 0x0000, 0x0000 },
- { 0x042C, 0x044C, 0x0000, 0x0000 },
- { 0x1E36, 0x1E37, 0x0000, 0x0000 },
- { 0x2C04, 0x2C34, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_041[] = {
- { 0x0128, 0x0129, 0x0000, 0x0000 },
- { 0x042D, 0x044D, 0x0000, 0x0000 },
- { 0x2C05, 0x2C35, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_042[] = {
- { 0x0228, 0x0229, 0x0000, 0x0000 },
- { 0x042E, 0x044E, 0x0000, 0x0000 },
- { 0x1E34, 0x1E35, 0x0000, 0x0000 },
- { 0x2C06, 0x2C36, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_043[] = {
- { 0x012A, 0x012B, 0x0000, 0x0000 },
- { 0x042F, 0x044F, 0x0000, 0x0000 },
- { 0x2C07, 0x2C37, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_044[] = {
- { 0x022E, 0x022F, 0x0000, 0x0000 },
- { 0x0428, 0x0448, 0x0000, 0x0000 },
- { 0x1E32, 0x1E33, 0x0000, 0x0000 },
- { 0x2C00, 0x2C30, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_045[] = {
- { 0x012C, 0x012D, 0x0000, 0x0000 },
- { 0x0429, 0x0449, 0x0000, 0x0000 },
- { 0x2C01, 0x2C31, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_046[] = {
- { 0x022C, 0x022D, 0x0000, 0x0000 },
- { 0x042A, 0x044A, 0x0000, 0x0000 },
- { 0x1E30, 0x1E31, 0x0000, 0x0000 },
- { 0x2C02, 0x2C32, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_047[] = {
- { 0x012E, 0x012F, 0x0000, 0x0000 },
- { 0x042B, 0x044B, 0x0000, 0x0000 },
- { 0x2C03, 0x2C33, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_048[] = {
- { 0x0232, 0x0233, 0x0000, 0x0000 },
- { 0x0535, 0x0565, 0x0000, 0x0000 },
- { 0x1E2E, 0x1E2F, 0x0000, 0x0000 },
- { 0x1F2F, 0x1F27, 0x0000, 0x0000 },
- { 0x2C1C, 0x2C4C, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_049[] = {
- { 0x0130, 0x0069, 0x0307, 0x0000 },
- { 0x0534, 0x0564, 0x0000, 0x0000 },
- { 0x1F2E, 0x1F26, 0x0000, 0x0000 },
- { 0x2C1D, 0x2C4D, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_050[] = {
- { 0x0230, 0x0231, 0x0000, 0x0000 },
- { 0x0537, 0x0567, 0x0000, 0x0000 },
- { 0x1E2C, 0x1E2D, 0x0000, 0x0000 },
- { 0x1F2D, 0x1F25, 0x0000, 0x0000 },
- { 0x2C1E, 0x2C4E, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_051[] = {
- { 0x0132, 0x0133, 0x0000, 0x0000 },
- { 0x0536, 0x0566, 0x0000, 0x0000 },
- { 0x1F2C, 0x1F24, 0x0000, 0x0000 },
- { 0x2C1F, 0x2C4F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_052[] = {
- { 0x0531, 0x0561, 0x0000, 0x0000 },
- { 0x1E2A, 0x1E2B, 0x0000, 0x0000 },
- { 0x1F2B, 0x1F23, 0x0000, 0x0000 },
- { 0x2C18, 0x2C48, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_053[] = {
- { 0x0134, 0x0135, 0x0000, 0x0000 },
- { 0x1F2A, 0x1F22, 0x0000, 0x0000 },
- { 0x2C19, 0x2C49, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_054[] = {
- { 0x0533, 0x0563, 0x0000, 0x0000 },
- { 0x1E28, 0x1E29, 0x0000, 0x0000 },
- { 0x1F29, 0x1F21, 0x0000, 0x0000 },
- { 0x2C1A, 0x2C4A, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_055[] = {
- { 0x0136, 0x0137, 0x0000, 0x0000 },
- { 0x0532, 0x0562, 0x0000, 0x0000 },
- { 0x1F28, 0x1F20, 0x0000, 0x0000 },
- { 0x2C1B, 0x2C4B, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_056[] = {
- { 0x0139, 0x013A, 0x0000, 0x0000 },
- { 0x053D, 0x056D, 0x0000, 0x0000 },
- { 0x1E26, 0x1E27, 0x0000, 0x0000 },
- { 0x2C14, 0x2C44, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_057[] = {
- { 0x023B, 0x023C, 0x0000, 0x0000 },
- { 0x053C, 0x056C, 0x0000, 0x0000 },
- { 0x2C15, 0x2C45, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_058[] = {
- { 0x013B, 0x013C, 0x0000, 0x0000 },
- { 0x053F, 0x056F, 0x0000, 0x0000 },
- { 0x1E24, 0x1E25, 0x0000, 0x0000 },
- { 0x2C16, 0x2C46, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_059[] = {
- { 0x053E, 0x056E, 0x0000, 0x0000 },
- { 0x2C17, 0x2C47, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_060[] = {
- { 0x013D, 0x013E, 0x0000, 0x0000 },
- { 0x0539, 0x0569, 0x0000, 0x0000 },
- { 0x1E22, 0x1E23, 0x0000, 0x0000 },
- { 0x2C10, 0x2C40, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_061[] = {
- { 0x0538, 0x0568, 0x0000, 0x0000 },
- { 0x2C11, 0x2C41, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_062[] = {
- { 0x013F, 0x0140, 0x0000, 0x0000 },
- { 0x053B, 0x056B, 0x0000, 0x0000 },
- { 0x1E20, 0x1E21, 0x0000, 0x0000 },
- { 0x2C12, 0x2C42, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_063[] = {
- { 0x023D, 0x019A, 0x0000, 0x0000 },
- { 0x053A, 0x056A, 0x0000, 0x0000 },
- { 0x2C13, 0x2C43, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_064[] = {
- { 0x0141, 0x0142, 0x0000, 0x0000 },
- { 0x0545, 0x0575, 0x0000, 0x0000 },
- { 0x1E5E, 0x1E5F, 0x0000, 0x0000 },
- { 0x1F5F, 0x1F57, 0x0000, 0x0000 },
- { 0x2161, 0x2171, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_065[] = {
- { 0x0041, 0x0061, 0x0000, 0x0000 },
- { 0x0544, 0x0574, 0x0000, 0x0000 },
- { 0x2160, 0x2170, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_066[] = {
- { 0x0042, 0x0062, 0x0000, 0x0000 },
- { 0x0143, 0x0144, 0x0000, 0x0000 },
- { 0x0547, 0x0577, 0x0000, 0x0000 },
- { 0x1E5C, 0x1E5D, 0x0000, 0x0000 },
- { 0x1F5D, 0x1F55, 0x0000, 0x0000 },
- { 0x2163, 0x2173, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_067[] = {
- { 0x0043, 0x0063, 0x0000, 0x0000 },
- { 0x0241, 0x0294, 0x0000, 0x0000 },
- { 0x0546, 0x0576, 0x0000, 0x0000 },
- { 0x2162, 0x2172, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_068[] = {
- { 0x0044, 0x0064, 0x0000, 0x0000 },
- { 0x0145, 0x0146, 0x0000, 0x0000 },
- { 0x0541, 0x0571, 0x0000, 0x0000 },
- { 0x1E5A, 0x1E5B, 0x0000, 0x0000 },
- { 0x1F5B, 0x1F53, 0x0000, 0x0000 },
- { 0x2165, 0x2175, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_069[] = {
- { 0x0045, 0x0065, 0x0000, 0x0000 },
- { 0x0540, 0x0570, 0x0000, 0x0000 },
- { 0x2164, 0x2174, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_070[] = {
- { 0x0046, 0x0066, 0x0000, 0x0000 },
- { 0x0147, 0x0148, 0x0000, 0x0000 },
- { 0x0345, 0x03B9, 0x0000, 0x0000 },
- { 0x0543, 0x0573, 0x0000, 0x0000 },
- { 0x1E58, 0x1E59, 0x0000, 0x0000 },
- { 0x1F59, 0x1F51, 0x0000, 0x0000 },
- { 0x2167, 0x2177, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_071[] = {
- { 0x0047, 0x0067, 0x0000, 0x0000 },
- { 0x0542, 0x0572, 0x0000, 0x0000 },
- { 0x2166, 0x2176, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_072[] = {
- { 0x0048, 0x0068, 0x0000, 0x0000 },
- { 0x0149, 0x02BC, 0x006E, 0x0000 },
- { 0x054D, 0x057D, 0x0000, 0x0000 },
- { 0x1E56, 0x1E57, 0x0000, 0x0000 },
- { 0x2169, 0x2179, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_073[] = {
- { 0x0049, 0x0069, 0x0000, 0x0000 },
- { 0x054C, 0x057C, 0x0000, 0x0000 },
- { 0x1F56, 0x03C5, 0x0313, 0x0342 },
- { 0x2168, 0x2178, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_074[] = {
- { 0x004A, 0x006A, 0x0000, 0x0000 },
- { 0x054F, 0x057F, 0x0000, 0x0000 },
- { 0x1E54, 0x1E55, 0x0000, 0x0000 },
- { 0x216B, 0x217B, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_075[] = {
- { 0x004B, 0x006B, 0x0000, 0x0000 },
- { 0x014A, 0x014B, 0x0000, 0x0000 },
- { 0x054E, 0x057E, 0x0000, 0x0000 },
- { 0x1F54, 0x03C5, 0x0313, 0x0301 },
- { 0x216A, 0x217A, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_076[] = {
- { 0x004C, 0x006C, 0x0000, 0x0000 },
- { 0x0549, 0x0579, 0x0000, 0x0000 },
- { 0x1E52, 0x1E53, 0x0000, 0x0000 },
- { 0x216D, 0x217D, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_077[] = {
- { 0x004D, 0x006D, 0x0000, 0x0000 },
- { 0x014C, 0x014D, 0x0000, 0x0000 },
- { 0x0548, 0x0578, 0x0000, 0x0000 },
- { 0x1F52, 0x03C5, 0x0313, 0x0300 },
- { 0x216C, 0x217C, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_078[] = {
- { 0x004E, 0x006E, 0x0000, 0x0000 },
- { 0x054B, 0x057B, 0x0000, 0x0000 },
- { 0x1E50, 0x1E51, 0x0000, 0x0000 },
- { 0x216F, 0x217F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_079[] = {
- { 0x004F, 0x006F, 0x0000, 0x0000 },
- { 0x014E, 0x014F, 0x0000, 0x0000 },
- { 0x054A, 0x057A, 0x0000, 0x0000 },
- { 0x1F50, 0x03C5, 0x0313, 0x0000 },
- { 0x216E, 0x217E, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_080[] = {
- { 0x0050, 0x0070, 0x0000, 0x0000 },
- { 0x0555, 0x0585, 0x0000, 0x0000 },
- { 0x1E4E, 0x1E4F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_081[] = {
- { 0x0051, 0x0071, 0x0000, 0x0000 },
- { 0x0150, 0x0151, 0x0000, 0x0000 },
- { 0x0554, 0x0584, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_082[] = {
- { 0x0052, 0x0072, 0x0000, 0x0000 },
- { 0x1E4C, 0x1E4D, 0x0000, 0x0000 },
- { 0x1F4D, 0x1F45, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_083[] = {
- { 0x0053, 0x0073, 0x0000, 0x0000 },
- { 0x0152, 0x0153, 0x0000, 0x0000 },
- { 0x0556, 0x0586, 0x0000, 0x0000 },
- { 0x1F4C, 0x1F44, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_084[] = {
- { 0x0054, 0x0074, 0x0000, 0x0000 },
- { 0x0551, 0x0581, 0x0000, 0x0000 },
- { 0x1E4A, 0x1E4B, 0x0000, 0x0000 },
- { 0x1F4B, 0x1F43, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_085[] = {
- { 0x0055, 0x0075, 0x0000, 0x0000 },
- { 0x0154, 0x0155, 0x0000, 0x0000 },
- { 0x0550, 0x0580, 0x0000, 0x0000 },
- { 0x1F4A, 0x1F42, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_086[] = {
- { 0x0056, 0x0076, 0x0000, 0x0000 },
- { 0x0553, 0x0583, 0x0000, 0x0000 },
- { 0x1E48, 0x1E49, 0x0000, 0x0000 },
- { 0x1F49, 0x1F41, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_087[] = {
- { 0x0057, 0x0077, 0x0000, 0x0000 },
- { 0x0156, 0x0157, 0x0000, 0x0000 },
- { 0x0552, 0x0582, 0x0000, 0x0000 },
- { 0x1F48, 0x1F40, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_088[] = {
- { 0x0058, 0x0078, 0x0000, 0x0000 },
- { 0x1E46, 0x1E47, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_089[] = {
- { 0x0059, 0x0079, 0x0000, 0x0000 },
- { 0x0158, 0x0159, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_090[] = {
- { 0x005A, 0x007A, 0x0000, 0x0000 },
- { 0x1E44, 0x1E45, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_091[] = {
- { 0x015A, 0x015B, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_092[] = {
- { 0x1E42, 0x1E43, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_093[] = {
- { 0x015C, 0x015D, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_094[] = {
- { 0x1E40, 0x1E41, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_095[] = {
- { 0x015E, 0x015F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_096[] = {
- { 0x0464, 0x0465, 0x0000, 0x0000 },
- { 0x1E7E, 0x1E7F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_097[] = {
- { 0x0160, 0x0161, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_098[] = {
- { 0x0466, 0x0467, 0x0000, 0x0000 },
- { 0x1E7C, 0x1E7D, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_099[] = {
- { 0x0162, 0x0163, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_100[] = {
- { 0x0460, 0x0461, 0x0000, 0x0000 },
- { 0x1E7A, 0x1E7B, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_101[] = {
- { 0x0164, 0x0165, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_102[] = {
- { 0x0462, 0x0463, 0x0000, 0x0000 },
- { 0x1E78, 0x1E79, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_103[] = {
- { 0x0166, 0x0167, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_104[] = {
- { 0x046C, 0x046D, 0x0000, 0x0000 },
- { 0x1E76, 0x1E77, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_105[] = {
- { 0x0168, 0x0169, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_106[] = {
- { 0x046E, 0x046F, 0x0000, 0x0000 },
- { 0x1E74, 0x1E75, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_107[] = {
- { 0x016A, 0x016B, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_108[] = {
- { 0x0468, 0x0469, 0x0000, 0x0000 },
- { 0x1E72, 0x1E73, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_109[] = {
- { 0x016C, 0x016D, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_110[] = {
- { 0x046A, 0x046B, 0x0000, 0x0000 },
- { 0x1E70, 0x1E71, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_111[] = {
- { 0x016E, 0x016F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_112[] = {
- { 0x0474, 0x0475, 0x0000, 0x0000 },
- { 0x1E6E, 0x1E6F, 0x0000, 0x0000 },
- { 0x1F6F, 0x1F67, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_113[] = {
- { 0x0170, 0x0171, 0x0000, 0x0000 },
- { 0x1F6E, 0x1F66, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_114[] = {
- { 0x0476, 0x0477, 0x0000, 0x0000 },
- { 0x1E6C, 0x1E6D, 0x0000, 0x0000 },
- { 0x1F6D, 0x1F65, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_115[] = {
- { 0x0172, 0x0173, 0x0000, 0x0000 },
- { 0x1F6C, 0x1F64, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_116[] = {
- { 0x0470, 0x0471, 0x0000, 0x0000 },
- { 0x1E6A, 0x1E6B, 0x0000, 0x0000 },
- { 0x1F6B, 0x1F63, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_117[] = {
- { 0x0174, 0x0175, 0x0000, 0x0000 },
- { 0x1F6A, 0x1F62, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_118[] = {
- { 0x0472, 0x0473, 0x0000, 0x0000 },
- { 0x1E68, 0x1E69, 0x0000, 0x0000 },
- { 0x1F69, 0x1F61, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_119[] = {
- { 0x0176, 0x0177, 0x0000, 0x0000 },
- { 0x1F68, 0x1F60, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_120[] = {
- { 0x0179, 0x017A, 0x0000, 0x0000 },
- { 0x047C, 0x047D, 0x0000, 0x0000 },
- { 0x1E66, 0x1E67, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_121[] = {
- { 0x0178, 0x00FF, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_122[] = {
- { 0x017B, 0x017C, 0x0000, 0x0000 },
- { 0x047E, 0x047F, 0x0000, 0x0000 },
- { 0x1E64, 0x1E65, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_124[] = {
- { 0x017D, 0x017E, 0x0000, 0x0000 },
- { 0x0478, 0x0479, 0x0000, 0x0000 },
- { 0x1E62, 0x1E63, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_126[] = {
- { 0x017F, 0x0073, 0x0000, 0x0000 },
- { 0x047A, 0x047B, 0x0000, 0x0000 },
- { 0x1E60, 0x1E61, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_128[] = {
- { 0x0181, 0x0253, 0x0000, 0x0000 },
- { 0x1F9F, 0x1F27, 0x03B9, 0x0000 },
- { 0x2CAC, 0x2CAD, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_129[] = {
- { 0x1F9E, 0x1F26, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_130[] = {
- { 0x0587, 0x0565, 0x0582, 0x0000 },
- { 0x1F9D, 0x1F25, 0x03B9, 0x0000 },
- { 0x2CAE, 0x2CAF, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_131[] = {
- { 0x0182, 0x0183, 0x0000, 0x0000 },
- { 0x1F9C, 0x1F24, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_132[] = {
- { 0x0480, 0x0481, 0x0000, 0x0000 },
- { 0x1E9A, 0x0061, 0x02BE, 0x0000 },
- { 0x1F9B, 0x1F23, 0x03B9, 0x0000 },
- { 0x2CA8, 0x2CA9, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_133[] = {
- { 0x0184, 0x0185, 0x0000, 0x0000 },
- { 0x0386, 0x03AC, 0x0000, 0x0000 },
- { 0x1E9B, 0x1E61, 0x0000, 0x0000 },
- { 0x1F9A, 0x1F22, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_134[] = {
- { 0x0187, 0x0188, 0x0000, 0x0000 },
- { 0x1E98, 0x0077, 0x030A, 0x0000 },
- { 0x1F99, 0x1F21, 0x03B9, 0x0000 },
- { 0x2CAA, 0x2CAB, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_135[] = {
- { 0x0186, 0x0254, 0x0000, 0x0000 },
- { 0x1E99, 0x0079, 0x030A, 0x0000 },
- { 0x1F98, 0x1F20, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_136[] = {
- { 0x0189, 0x0256, 0x0000, 0x0000 },
- { 0x048C, 0x048D, 0x0000, 0x0000 },
- { 0x1E96, 0x0068, 0x0331, 0x0000 },
- { 0x1F97, 0x1F27, 0x03B9, 0x0000 },
- { 0x2CA4, 0x2CA5, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_137[] = {
- { 0x038A, 0x03AF, 0x0000, 0x0000 },
- { 0x1E97, 0x0074, 0x0308, 0x0000 },
- { 0x1F96, 0x1F26, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_138[] = {
- { 0x018B, 0x018C, 0x0000, 0x0000 },
- { 0x0389, 0x03AE, 0x0000, 0x0000 },
- { 0x048E, 0x048F, 0x0000, 0x0000 },
- { 0x1E94, 0x1E95, 0x0000, 0x0000 },
- { 0x1F95, 0x1F25, 0x03B9, 0x0000 },
- { 0x2CA6, 0x2CA7, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_139[] = {
- { 0x018A, 0x0257, 0x0000, 0x0000 },
- { 0x0388, 0x03AD, 0x0000, 0x0000 },
- { 0x1F94, 0x1F24, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_140[] = {
- { 0x038F, 0x03CE, 0x0000, 0x0000 },
- { 0x1E92, 0x1E93, 0x0000, 0x0000 },
- { 0x1F93, 0x1F23, 0x03B9, 0x0000 },
- { 0x2CA0, 0x2CA1, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_141[] = {
- { 0x038E, 0x03CD, 0x0000, 0x0000 },
- { 0x1F92, 0x1F22, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_142[] = {
- { 0x018F, 0x0259, 0x0000, 0x0000 },
- { 0x048A, 0x048B, 0x0000, 0x0000 },
- { 0x1E90, 0x1E91, 0x0000, 0x0000 },
- { 0x1F91, 0x1F21, 0x03B9, 0x0000 },
- { 0x2CA2, 0x2CA3, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_143[] = {
- { 0x018E, 0x01DD, 0x0000, 0x0000 },
- { 0x038C, 0x03CC, 0x0000, 0x0000 },
- { 0x1F90, 0x1F20, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_144[] = {
- { 0x0191, 0x0192, 0x0000, 0x0000 },
- { 0x0393, 0x03B3, 0x0000, 0x0000 },
- { 0x0494, 0x0495, 0x0000, 0x0000 },
- { 0x1E8E, 0x1E8F, 0x0000, 0x0000 },
- { 0x1F8F, 0x1F07, 0x03B9, 0x0000 },
- { 0x2CBC, 0x2CBD, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_145[] = {
- { 0x0190, 0x025B, 0x0000, 0x0000 },
- { 0x0392, 0x03B2, 0x0000, 0x0000 },
- { 0x1F8E, 0x1F06, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_146[] = {
- { 0x0193, 0x0260, 0x0000, 0x0000 },
- { 0x0391, 0x03B1, 0x0000, 0x0000 },
- { 0x0496, 0x0497, 0x0000, 0x0000 },
- { 0x1E8C, 0x1E8D, 0x0000, 0x0000 },
- { 0x1F8D, 0x1F05, 0x03B9, 0x0000 },
- { 0x24B6, 0x24D0, 0x0000, 0x0000 },
- { 0x2CBE, 0x2CBF, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_147[] = {
- { 0x0390, 0x03B9, 0x0308, 0x0301 },
- { 0x1F8C, 0x1F04, 0x03B9, 0x0000 },
- { 0x24B7, 0x24D1, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_148[] = {
- { 0x0397, 0x03B7, 0x0000, 0x0000 },
- { 0x0490, 0x0491, 0x0000, 0x0000 },
- { 0x1E8A, 0x1E8B, 0x0000, 0x0000 },
- { 0x1F8B, 0x1F03, 0x03B9, 0x0000 },
- { 0x2CB8, 0x2CB9, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_149[] = {
- { 0x0194, 0x0263, 0x0000, 0x0000 },
- { 0x0396, 0x03B6, 0x0000, 0x0000 },
- { 0x1F8A, 0x1F02, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_150[] = {
- { 0x0197, 0x0268, 0x0000, 0x0000 },
- { 0x0395, 0x03B5, 0x0000, 0x0000 },
- { 0x0492, 0x0493, 0x0000, 0x0000 },
- { 0x1E88, 0x1E89, 0x0000, 0x0000 },
- { 0x1F89, 0x1F01, 0x03B9, 0x0000 },
- { 0x2CBA, 0x2CBB, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_151[] = {
- { 0x0196, 0x0269, 0x0000, 0x0000 },
- { 0x0394, 0x03B4, 0x0000, 0x0000 },
- { 0x1F88, 0x1F00, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_152[] = {
- { 0x039B, 0x03BB, 0x0000, 0x0000 },
- { 0x049C, 0x049D, 0x0000, 0x0000 },
- { 0x1E86, 0x1E87, 0x0000, 0x0000 },
- { 0x1F87, 0x1F07, 0x03B9, 0x0000 },
- { 0x24BC, 0x24D6, 0x0000, 0x0000 },
- { 0x2CB4, 0x2CB5, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_153[] = {
- { 0x0198, 0x0199, 0x0000, 0x0000 },
- { 0x039A, 0x03BA, 0x0000, 0x0000 },
- { 0x1F86, 0x1F06, 0x03B9, 0x0000 },
- { 0x24BD, 0x24D7, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_154[] = {
- { 0x0399, 0x03B9, 0x0000, 0x0000 },
- { 0x049E, 0x049F, 0x0000, 0x0000 },
- { 0x1E84, 0x1E85, 0x0000, 0x0000 },
- { 0x1F85, 0x1F05, 0x03B9, 0x0000 },
- { 0x24BE, 0x24D8, 0x0000, 0x0000 },
- { 0x2CB6, 0x2CB7, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_155[] = {
- { 0x0398, 0x03B8, 0x0000, 0x0000 },
- { 0x1F84, 0x1F04, 0x03B9, 0x0000 },
- { 0x24BF, 0x24D9, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_156[] = {
- { 0x019D, 0x0272, 0x0000, 0x0000 },
- { 0x039F, 0x03BF, 0x0000, 0x0000 },
- { 0x0498, 0x0499, 0x0000, 0x0000 },
- { 0x1E82, 0x1E83, 0x0000, 0x0000 },
- { 0x1F83, 0x1F03, 0x03B9, 0x0000 },
- { 0x24B8, 0x24D2, 0x0000, 0x0000 },
- { 0x2CB0, 0x2CB1, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_157[] = {
- { 0x019C, 0x026F, 0x0000, 0x0000 },
- { 0x039E, 0x03BE, 0x0000, 0x0000 },
- { 0x1F82, 0x1F02, 0x03B9, 0x0000 },
- { 0x24B9, 0x24D3, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_158[] = {
- { 0x019F, 0x0275, 0x0000, 0x0000 },
- { 0x039D, 0x03BD, 0x0000, 0x0000 },
- { 0x049A, 0x049B, 0x0000, 0x0000 },
- { 0x1E80, 0x1E81, 0x0000, 0x0000 },
- { 0x1F81, 0x1F01, 0x03B9, 0x0000 },
- { 0x24BA, 0x24D4, 0x0000, 0x0000 },
- { 0x2CB2, 0x2CB3, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_159[] = {
- { 0x039C, 0x03BC, 0x0000, 0x0000 },
- { 0x1F80, 0x1F00, 0x03B9, 0x0000 },
- { 0x24BB, 0x24D5, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_160[] = {
- { 0x03A3, 0x03C3, 0x0000, 0x0000 },
- { 0x04A4, 0x04A5, 0x0000, 0x0000 },
- { 0x10B0, 0x2D10, 0x0000, 0x0000 },
- { 0x1EBE, 0x1EBF, 0x0000, 0x0000 },
- { 0x2C8C, 0x2C8D, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_161[] = {
- { 0x01A0, 0x01A1, 0x0000, 0x0000 },
- { 0x10B1, 0x2D11, 0x0000, 0x0000 },
- { 0x1FBE, 0x03B9, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_162[] = {
- { 0x03A1, 0x03C1, 0x0000, 0x0000 },
- { 0x04A6, 0x04A7, 0x0000, 0x0000 },
- { 0x10B2, 0x2D12, 0x0000, 0x0000 },
- { 0x1EBC, 0x1EBD, 0x0000, 0x0000 },
- { 0x2C8E, 0x2C8F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_163[] = {
- { 0x01A2, 0x01A3, 0x0000, 0x0000 },
- { 0x03A0, 0x03C0, 0x0000, 0x0000 },
- { 0x10B3, 0x2D13, 0x0000, 0x0000 },
- { 0x1FBC, 0x03B1, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_164[] = {
- { 0x03A7, 0x03C7, 0x0000, 0x0000 },
- { 0x04A0, 0x04A1, 0x0000, 0x0000 },
- { 0x10B4, 0x2D14, 0x0000, 0x0000 },
- { 0x1EBA, 0x1EBB, 0x0000, 0x0000 },
- { 0x1FBB, 0x1F71, 0x0000, 0x0000 },
- { 0x2C88, 0x2C89, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_165[] = {
- { 0x01A4, 0x01A5, 0x0000, 0x0000 },
- { 0x03A6, 0x03C6, 0x0000, 0x0000 },
- { 0x10B5, 0x2D15, 0x0000, 0x0000 },
- { 0x1FBA, 0x1F70, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_166[] = {
- { 0x01A7, 0x01A8, 0x0000, 0x0000 },
- { 0x03A5, 0x03C5, 0x0000, 0x0000 },
- { 0x04A2, 0x04A3, 0x0000, 0x0000 },
- { 0x10B6, 0x2D16, 0x0000, 0x0000 },
- { 0x1EB8, 0x1EB9, 0x0000, 0x0000 },
- { 0x1FB9, 0x1FB1, 0x0000, 0x0000 },
- { 0x2C8A, 0x2C8B, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_167[] = {
- { 0x01A6, 0x0280, 0x0000, 0x0000 },
- { 0x03A4, 0x03C4, 0x0000, 0x0000 },
- { 0x10B7, 0x2D17, 0x0000, 0x0000 },
- { 0x1FB8, 0x1FB0, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_168[] = {
- { 0x01A9, 0x0283, 0x0000, 0x0000 },
- { 0x03AB, 0x03CB, 0x0000, 0x0000 },
- { 0x04AC, 0x04AD, 0x0000, 0x0000 },
- { 0x10B8, 0x2D18, 0x0000, 0x0000 },
- { 0x1EB6, 0x1EB7, 0x0000, 0x0000 },
- { 0x1FB7, 0x03B1, 0x0342, 0x03B9 },
- { 0x2C84, 0x2C85, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_169[] = {
- { 0x03AA, 0x03CA, 0x0000, 0x0000 },
- { 0x10B9, 0x2D19, 0x0000, 0x0000 },
- { 0x1FB6, 0x03B1, 0x0342, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_170[] = {
- { 0x03A9, 0x03C9, 0x0000, 0x0000 },
- { 0x04AE, 0x04AF, 0x0000, 0x0000 },
- { 0x10BA, 0x2D1A, 0x0000, 0x0000 },
- { 0x1EB4, 0x1EB5, 0x0000, 0x0000 },
- { 0x2C86, 0x2C87, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_171[] = {
- { 0x03A8, 0x03C8, 0x0000, 0x0000 },
- { 0x10BB, 0x2D1B, 0x0000, 0x0000 },
- { 0x1FB4, 0x03AC, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_172[] = {
- { 0x04A8, 0x04A9, 0x0000, 0x0000 },
- { 0x10BC, 0x2D1C, 0x0000, 0x0000 },
- { 0x1EB2, 0x1EB3, 0x0000, 0x0000 },
- { 0x1FB3, 0x03B1, 0x03B9, 0x0000 },
- { 0x2C80, 0x2C81, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_173[] = {
- { 0x01AC, 0x01AD, 0x0000, 0x0000 },
- { 0x10BD, 0x2D1D, 0x0000, 0x0000 },
- { 0x1FB2, 0x1F70, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_174[] = {
- { 0x01AF, 0x01B0, 0x0000, 0x0000 },
- { 0x04AA, 0x04AB, 0x0000, 0x0000 },
- { 0x10BE, 0x2D1E, 0x0000, 0x0000 },
- { 0x1EB0, 0x1EB1, 0x0000, 0x0000 },
- { 0x2C82, 0x2C83, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_175[] = {
- { 0x01AE, 0x0288, 0x0000, 0x0000 },
- { 0x10BF, 0x2D1F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_176[] = {
- { 0x01B1, 0x028A, 0x0000, 0x0000 },
- { 0x04B4, 0x04B5, 0x0000, 0x0000 },
- { 0x10A0, 0x2D00, 0x0000, 0x0000 },
- { 0x1EAE, 0x1EAF, 0x0000, 0x0000 },
- { 0x1FAF, 0x1F67, 0x03B9, 0x0000 },
- { 0x2C9C, 0x2C9D, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_177[] = {
- { 0x10A1, 0x2D01, 0x0000, 0x0000 },
- { 0x1FAE, 0x1F66, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_178[] = {
- { 0x01B3, 0x01B4, 0x0000, 0x0000 },
- { 0x04B6, 0x04B7, 0x0000, 0x0000 },
- { 0x10A2, 0x2D02, 0x0000, 0x0000 },
- { 0x1EAC, 0x1EAD, 0x0000, 0x0000 },
- { 0x1FAD, 0x1F65, 0x03B9, 0x0000 },
- { 0x2C9E, 0x2C9F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_179[] = {
- { 0x01B2, 0x028B, 0x0000, 0x0000 },
- { 0x03B0, 0x03C5, 0x0308, 0x0301 },
- { 0x10A3, 0x2D03, 0x0000, 0x0000 },
- { 0x1FAC, 0x1F64, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_180[] = {
- { 0x01B5, 0x01B6, 0x0000, 0x0000 },
- { 0x04B0, 0x04B1, 0x0000, 0x0000 },
- { 0x10A4, 0x2D04, 0x0000, 0x0000 },
- { 0x1EAA, 0x1EAB, 0x0000, 0x0000 },
- { 0x1FAB, 0x1F63, 0x03B9, 0x0000 },
- { 0x2C98, 0x2C99, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_181[] = {
- { 0x00B5, 0x03BC, 0x0000, 0x0000 },
- { 0x10A5, 0x2D05, 0x0000, 0x0000 },
- { 0x1FAA, 0x1F62, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_182[] = {
- { 0x01B7, 0x0292, 0x0000, 0x0000 },
- { 0x04B2, 0x04B3, 0x0000, 0x0000 },
- { 0x10A6, 0x2D06, 0x0000, 0x0000 },
- { 0x1EA8, 0x1EA9, 0x0000, 0x0000 },
- { 0x1FA9, 0x1F61, 0x03B9, 0x0000 },
- { 0x2C9A, 0x2C9B, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_183[] = {
- { 0x10A7, 0x2D07, 0x0000, 0x0000 },
- { 0x1FA8, 0x1F60, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_184[] = {
- { 0x04BC, 0x04BD, 0x0000, 0x0000 },
- { 0x10A8, 0x2D08, 0x0000, 0x0000 },
- { 0x1EA6, 0x1EA7, 0x0000, 0x0000 },
- { 0x1FA7, 0x1F67, 0x03B9, 0x0000 },
- { 0x2C94, 0x2C95, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_185[] = {
- { 0x01B8, 0x01B9, 0x0000, 0x0000 },
- { 0x10A9, 0x2D09, 0x0000, 0x0000 },
- { 0x1FA6, 0x1F66, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_186[] = {
- { 0x04BE, 0x04BF, 0x0000, 0x0000 },
- { 0x10AA, 0x2D0A, 0x0000, 0x0000 },
- { 0x1EA4, 0x1EA5, 0x0000, 0x0000 },
- { 0x1FA5, 0x1F65, 0x03B9, 0x0000 },
- { 0x2C96, 0x2C97, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_187[] = {
- { 0x10AB, 0x2D0B, 0x0000, 0x0000 },
- { 0x1FA4, 0x1F64, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_188[] = {
- { 0x04B8, 0x04B9, 0x0000, 0x0000 },
- { 0x10AC, 0x2D0C, 0x0000, 0x0000 },
- { 0x1EA2, 0x1EA3, 0x0000, 0x0000 },
- { 0x1FA3, 0x1F63, 0x03B9, 0x0000 },
- { 0x2C90, 0x2C91, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_189[] = {
- { 0x01BC, 0x01BD, 0x0000, 0x0000 },
- { 0x10AD, 0x2D0D, 0x0000, 0x0000 },
- { 0x1FA2, 0x1F62, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_190[] = {
- { 0x04BA, 0x04BB, 0x0000, 0x0000 },
- { 0x10AE, 0x2D0E, 0x0000, 0x0000 },
- { 0x1EA0, 0x1EA1, 0x0000, 0x0000 },
- { 0x1FA1, 0x1F61, 0x03B9, 0x0000 },
- { 0x2C92, 0x2C93, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_191[] = {
- { 0x10AF, 0x2D0F, 0x0000, 0x0000 },
- { 0x1FA0, 0x1F60, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_192[] = {
- { 0x00C0, 0x00E0, 0x0000, 0x0000 },
- { 0x1EDE, 0x1EDF, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_193[] = {
- { 0x00C1, 0x00E1, 0x0000, 0x0000 },
- { 0x03C2, 0x03C3, 0x0000, 0x0000 },
- { 0x04C5, 0x04C6, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_194[] = {
- { 0x00C2, 0x00E2, 0x0000, 0x0000 },
- { 0x1EDC, 0x1EDD, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_195[] = {
- { 0x00C3, 0x00E3, 0x0000, 0x0000 },
- { 0x04C7, 0x04C8, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_196[] = {
- { 0x00C4, 0x00E4, 0x0000, 0x0000 },
- { 0x01C5, 0x01C6, 0x0000, 0x0000 },
- { 0x1EDA, 0x1EDB, 0x0000, 0x0000 },
- { 0x1FDB, 0x1F77, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_197[] = {
- { 0x00C5, 0x00E5, 0x0000, 0x0000 },
- { 0x01C4, 0x01C6, 0x0000, 0x0000 },
- { 0x04C1, 0x04C2, 0x0000, 0x0000 },
- { 0x1FDA, 0x1F76, 0x0000, 0x0000 },
- { 0xFF3A, 0xFF5A, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_198[] = {
- { 0x00C6, 0x00E6, 0x0000, 0x0000 },
- { 0x01C7, 0x01C9, 0x0000, 0x0000 },
- { 0x1ED8, 0x1ED9, 0x0000, 0x0000 },
- { 0x1FD9, 0x1FD1, 0x0000, 0x0000 },
- { 0xFF39, 0xFF59, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_199[] = {
- { 0x00C7, 0x00E7, 0x0000, 0x0000 },
- { 0x04C3, 0x04C4, 0x0000, 0x0000 },
- { 0x1FD8, 0x1FD0, 0x0000, 0x0000 },
- { 0xFF38, 0xFF58, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_200[] = {
- { 0x00C8, 0x00E8, 0x0000, 0x0000 },
- { 0x1ED6, 0x1ED7, 0x0000, 0x0000 },
- { 0x1FD7, 0x03B9, 0x0308, 0x0342 },
- { 0xFF37, 0xFF57, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_201[] = {
- { 0x00C9, 0x00E9, 0x0000, 0x0000 },
- { 0x01C8, 0x01C9, 0x0000, 0x0000 },
- { 0x04CD, 0x04CE, 0x0000, 0x0000 },
- { 0x1FD6, 0x03B9, 0x0342, 0x0000 },
- { 0xFF36, 0xFF56, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_202[] = {
- { 0x00CA, 0x00EA, 0x0000, 0x0000 },
- { 0x01CB, 0x01CC, 0x0000, 0x0000 },
- { 0x1ED4, 0x1ED5, 0x0000, 0x0000 },
- { 0xFF35, 0xFF55, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_203[] = {
- { 0x00CB, 0x00EB, 0x0000, 0x0000 },
- { 0x01CA, 0x01CC, 0x0000, 0x0000 },
- { 0xFF34, 0xFF54, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_204[] = {
- { 0x00CC, 0x00EC, 0x0000, 0x0000 },
- { 0x01CD, 0x01CE, 0x0000, 0x0000 },
- { 0x1ED2, 0x1ED3, 0x0000, 0x0000 },
- { 0x1FD3, 0x03B9, 0x0308, 0x0301 },
- { 0x2CE0, 0x2CE1, 0x0000, 0x0000 },
- { 0xFF33, 0xFF53, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_205[] = {
- { 0x00CD, 0x00ED, 0x0000, 0x0000 },
- { 0x04C9, 0x04CA, 0x0000, 0x0000 },
- { 0x1FD2, 0x03B9, 0x0308, 0x0300 },
- { 0xFF32, 0xFF52, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_206[] = {
- { 0x00CE, 0x00EE, 0x0000, 0x0000 },
- { 0x01CF, 0x01D0, 0x0000, 0x0000 },
- { 0x1ED0, 0x1ED1, 0x0000, 0x0000 },
- { 0x2CE2, 0x2CE3, 0x0000, 0x0000 },
- { 0xFF31, 0xFF51, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_207[] = {
- { 0x00CF, 0x00EF, 0x0000, 0x0000 },
- { 0x04CB, 0x04CC, 0x0000, 0x0000 },
- { 0xFF30, 0xFF50, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_208[] = {
- { 0x00D0, 0x00F0, 0x0000, 0x0000 },
- { 0x01D1, 0x01D2, 0x0000, 0x0000 },
- { 0x04D4, 0x04D5, 0x0000, 0x0000 },
- { 0x10C0, 0x2D20, 0x0000, 0x0000 },
- { 0x1ECE, 0x1ECF, 0x0000, 0x0000 },
- { 0xFF2F, 0xFF4F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_209[] = {
- { 0x00D1, 0x00F1, 0x0000, 0x0000 },
- { 0x10C1, 0x2D21, 0x0000, 0x0000 },
- { 0xFF2E, 0xFF4E, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_210[] = {
- { 0x00D2, 0x00F2, 0x0000, 0x0000 },
- { 0x01D3, 0x01D4, 0x0000, 0x0000 },
- { 0x03D1, 0x03B8, 0x0000, 0x0000 },
- { 0x04D6, 0x04D7, 0x0000, 0x0000 },
- { 0x10C2, 0x2D22, 0x0000, 0x0000 },
- { 0x1ECC, 0x1ECD, 0x0000, 0x0000 },
- { 0xFF2D, 0xFF4D, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_211[] = {
- { 0x00D3, 0x00F3, 0x0000, 0x0000 },
- { 0x03D0, 0x03B2, 0x0000, 0x0000 },
- { 0x10C3, 0x2D23, 0x0000, 0x0000 },
- { 0x1FCC, 0x03B7, 0x03B9, 0x0000 },
- { 0xFF2C, 0xFF4C, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_212[] = {
- { 0x00D4, 0x00F4, 0x0000, 0x0000 },
- { 0x01D5, 0x01D6, 0x0000, 0x0000 },
- { 0x04D0, 0x04D1, 0x0000, 0x0000 },
- { 0x10C4, 0x2D24, 0x0000, 0x0000 },
- { 0x1ECA, 0x1ECB, 0x0000, 0x0000 },
- { 0x1FCB, 0x1F75, 0x0000, 0x0000 },
- { 0xFF2B, 0xFF4B, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_213[] = {
- { 0x00D5, 0x00F5, 0x0000, 0x0000 },
- { 0x03D6, 0x03C0, 0x0000, 0x0000 },
- { 0x10C5, 0x2D25, 0x0000, 0x0000 },
- { 0x1FCA, 0x1F74, 0x0000, 0x0000 },
- { 0xFF2A, 0xFF4A, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_214[] = {
- { 0x00D6, 0x00F6, 0x0000, 0x0000 },
- { 0x01D7, 0x01D8, 0x0000, 0x0000 },
- { 0x03D5, 0x03C6, 0x0000, 0x0000 },
- { 0x04D2, 0x04D3, 0x0000, 0x0000 },
- { 0x1EC8, 0x1EC9, 0x0000, 0x0000 },
- { 0x1FC9, 0x1F73, 0x0000, 0x0000 },
- { 0xFF29, 0xFF49, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_215[] = {
- { 0x1FC8, 0x1F72, 0x0000, 0x0000 },
- { 0xFF28, 0xFF48, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_216[] = {
- { 0x00D8, 0x00F8, 0x0000, 0x0000 },
- { 0x01D9, 0x01DA, 0x0000, 0x0000 },
- { 0x04DC, 0x04DD, 0x0000, 0x0000 },
- { 0x1EC6, 0x1EC7, 0x0000, 0x0000 },
- { 0x1FC7, 0x03B7, 0x0342, 0x03B9 },
- { 0xFF27, 0xFF47, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_217[] = {
- { 0x00D9, 0x00F9, 0x0000, 0x0000 },
- { 0x03DA, 0x03DB, 0x0000, 0x0000 },
- { 0x1FC6, 0x03B7, 0x0342, 0x0000 },
- { 0xFF26, 0xFF46, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_218[] = {
- { 0x00DA, 0x00FA, 0x0000, 0x0000 },
- { 0x01DB, 0x01DC, 0x0000, 0x0000 },
- { 0x04DE, 0x04DF, 0x0000, 0x0000 },
- { 0x1EC4, 0x1EC5, 0x0000, 0x0000 },
- { 0xFF25, 0xFF45, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_219[] = {
- { 0x00DB, 0x00FB, 0x0000, 0x0000 },
- { 0x03D8, 0x03D9, 0x0000, 0x0000 },
- { 0x1FC4, 0x03AE, 0x03B9, 0x0000 },
- { 0xFF24, 0xFF44, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_220[] = {
- { 0x00DC, 0x00FC, 0x0000, 0x0000 },
- { 0x04D8, 0x04D9, 0x0000, 0x0000 },
- { 0x1EC2, 0x1EC3, 0x0000, 0x0000 },
- { 0x1FC3, 0x03B7, 0x03B9, 0x0000 },
- { 0xFF23, 0xFF43, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_221[] = {
- { 0x00DD, 0x00FD, 0x0000, 0x0000 },
- { 0x03DE, 0x03DF, 0x0000, 0x0000 },
- { 0x1FC2, 0x1F74, 0x03B9, 0x0000 },
- { 0xFF22, 0xFF42, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_222[] = {
- { 0x00DE, 0x00FE, 0x0000, 0x0000 },
- { 0x04DA, 0x04DB, 0x0000, 0x0000 },
- { 0x1EC0, 0x1EC1, 0x0000, 0x0000 },
- { 0xFF21, 0xFF41, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_223[] = {
- { 0x00DF, 0x0073, 0x0073, 0x0000 },
- { 0x01DE, 0x01DF, 0x0000, 0x0000 },
- { 0x03DC, 0x03DD, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_224[] = {
- { 0x04E4, 0x04E5, 0x0000, 0x0000 },
- { 0x24C4, 0x24DE, 0x0000, 0x0000 },
- { 0x2CCC, 0x2CCD, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_225[] = {
- { 0x01E0, 0x01E1, 0x0000, 0x0000 },
- { 0x03E2, 0x03E3, 0x0000, 0x0000 },
- { 0x24C5, 0x24DF, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_226[] = {
- { 0x04E6, 0x04E7, 0x0000, 0x0000 },
- { 0x24C6, 0x24E0, 0x0000, 0x0000 },
- { 0x2CCE, 0x2CCF, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_227[] = {
- { 0x01E2, 0x01E3, 0x0000, 0x0000 },
- { 0x03E0, 0x03E1, 0x0000, 0x0000 },
- { 0x1FFC, 0x03C9, 0x03B9, 0x0000 },
- { 0x24C7, 0x24E1, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_228[] = {
- { 0x04E0, 0x04E1, 0x0000, 0x0000 },
- { 0x1FFB, 0x1F7D, 0x0000, 0x0000 },
- { 0x24C0, 0x24DA, 0x0000, 0x0000 },
- { 0x2CC8, 0x2CC9, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_229[] = {
- { 0x01E4, 0x01E5, 0x0000, 0x0000 },
- { 0x03E6, 0x03E7, 0x0000, 0x0000 },
- { 0x1FFA, 0x1F7C, 0x0000, 0x0000 },
- { 0x24C1, 0x24DB, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_230[] = {
- { 0x04E2, 0x04E3, 0x0000, 0x0000 },
- { 0x1EF8, 0x1EF9, 0x0000, 0x0000 },
- { 0x1FF9, 0x1F79, 0x0000, 0x0000 },
- { 0x24C2, 0x24DC, 0x0000, 0x0000 },
- { 0x2CCA, 0x2CCB, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_231[] = {
- { 0x01E6, 0x01E7, 0x0000, 0x0000 },
- { 0x03E4, 0x03E5, 0x0000, 0x0000 },
- { 0x1FF8, 0x1F78, 0x0000, 0x0000 },
- { 0x24C3, 0x24DD, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_232[] = {
- { 0x04EC, 0x04ED, 0x0000, 0x0000 },
- { 0x1EF6, 0x1EF7, 0x0000, 0x0000 },
- { 0x1FF7, 0x03C9, 0x0342, 0x03B9 },
- { 0x24CC, 0x24E6, 0x0000, 0x0000 },
- { 0x2CC4, 0x2CC5, 0x0000, 0x0000 },
- { 0xFB13, 0x0574, 0x0576, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_233[] = {
- { 0x01E8, 0x01E9, 0x0000, 0x0000 },
- { 0x03EA, 0x03EB, 0x0000, 0x0000 },
- { 0x1FF6, 0x03C9, 0x0342, 0x0000 },
- { 0x24CD, 0x24E7, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_234[] = {
- { 0x04EE, 0x04EF, 0x0000, 0x0000 },
- { 0x1EF4, 0x1EF5, 0x0000, 0x0000 },
- { 0x24CE, 0x24E8, 0x0000, 0x0000 },
- { 0x2CC6, 0x2CC7, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_235[] = {
- { 0x01EA, 0x01EB, 0x0000, 0x0000 },
- { 0x03E8, 0x03E9, 0x0000, 0x0000 },
- { 0x1FF4, 0x03CE, 0x03B9, 0x0000 },
- { 0x24CF, 0x24E9, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_236[] = {
- { 0x04E8, 0x04E9, 0x0000, 0x0000 },
- { 0x1EF2, 0x1EF3, 0x0000, 0x0000 },
- { 0x1FF3, 0x03C9, 0x03B9, 0x0000 },
- { 0x24C8, 0x24E2, 0x0000, 0x0000 },
- { 0x2CC0, 0x2CC1, 0x0000, 0x0000 },
- { 0xFB17, 0x0574, 0x056D, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_237[] = {
- { 0x01EC, 0x01ED, 0x0000, 0x0000 },
- { 0x03EE, 0x03EF, 0x0000, 0x0000 },
- { 0x1FF2, 0x1F7C, 0x03B9, 0x0000 },
- { 0x24C9, 0x24E3, 0x0000, 0x0000 },
- { 0xFB16, 0x057E, 0x0576, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_238[] = {
- { 0x04EA, 0x04EB, 0x0000, 0x0000 },
- { 0x1EF0, 0x1EF1, 0x0000, 0x0000 },
- { 0x24CA, 0x24E4, 0x0000, 0x0000 },
- { 0x2CC2, 0x2CC3, 0x0000, 0x0000 },
- { 0xFB15, 0x0574, 0x056B, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_239[] = {
- { 0x01EE, 0x01EF, 0x0000, 0x0000 },
- { 0x03EC, 0x03ED, 0x0000, 0x0000 },
- { 0x24CB, 0x24E5, 0x0000, 0x0000 },
- { 0xFB14, 0x0574, 0x0565, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_240[] = {
- { 0x01F1, 0x01F3, 0x0000, 0x0000 },
- { 0x04F4, 0x04F5, 0x0000, 0x0000 },
- { 0x1EEE, 0x1EEF, 0x0000, 0x0000 },
- { 0x2CDC, 0x2CDD, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_241[] = {
- { 0x01F0, 0x006A, 0x030C, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_242[] = {
- { 0x03F1, 0x03C1, 0x0000, 0x0000 },
- { 0x04F6, 0x04F7, 0x0000, 0x0000 },
- { 0x1EEC, 0x1EED, 0x0000, 0x0000 },
- { 0x2CDE, 0x2CDF, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_243[] = {
- { 0x01F2, 0x01F3, 0x0000, 0x0000 },
- { 0x03F0, 0x03BA, 0x0000, 0x0000 },
- { 0x1FEC, 0x1FE5, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_244[] = {
- { 0x03F7, 0x03F8, 0x0000, 0x0000 },
- { 0x04F0, 0x04F1, 0x0000, 0x0000 },
- { 0x1EEA, 0x1EEB, 0x0000, 0x0000 },
- { 0x1FEB, 0x1F7B, 0x0000, 0x0000 },
- { 0x2CD8, 0x2CD9, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_245[] = {
- { 0x01F4, 0x01F5, 0x0000, 0x0000 },
- { 0x1FEA, 0x1F7A, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_246[] = {
- { 0x01F7, 0x01BF, 0x0000, 0x0000 },
- { 0x03F5, 0x03B5, 0x0000, 0x0000 },
- { 0x04F2, 0x04F3, 0x0000, 0x0000 },
- { 0x1EE8, 0x1EE9, 0x0000, 0x0000 },
- { 0x1FE9, 0x1FE1, 0x0000, 0x0000 },
- { 0x2CDA, 0x2CDB, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_247[] = {
- { 0x01F6, 0x0195, 0x0000, 0x0000 },
- { 0x03F4, 0x03B8, 0x0000, 0x0000 },
- { 0x1FE8, 0x1FE0, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_248[] = {
- { 0x1EE6, 0x1EE7, 0x0000, 0x0000 },
- { 0x1FE7, 0x03C5, 0x0308, 0x0342 },
- { 0x2CD4, 0x2CD5, 0x0000, 0x0000 },
- { 0xFB03, 0x0066, 0x0066, 0x0069 }
-};
-
-static const CaseFoldMapping case_fold_249[] = {
- { 0x01F8, 0x01F9, 0x0000, 0x0000 },
- { 0x03FA, 0x03FB, 0x0000, 0x0000 },
- { 0x1FE6, 0x03C5, 0x0342, 0x0000 },
- { 0xFB02, 0x0066, 0x006C, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_250[] = {
- { 0x03F9, 0x03F2, 0x0000, 0x0000 },
- { 0x1EE4, 0x1EE5, 0x0000, 0x0000 },
- { 0x2CD6, 0x2CD7, 0x0000, 0x0000 },
- { 0xFB01, 0x0066, 0x0069, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_251[] = {
- { 0x01FA, 0x01FB, 0x0000, 0x0000 },
- { 0x1FE4, 0x03C1, 0x0313, 0x0000 },
- { 0xFB00, 0x0066, 0x0066, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_252[] = {
- { 0x04F8, 0x04F9, 0x0000, 0x0000 },
- { 0x1EE2, 0x1EE3, 0x0000, 0x0000 },
- { 0x1FE3, 0x03C5, 0x0308, 0x0301 },
- { 0x2CD0, 0x2CD1, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_253[] = {
- { 0x01FC, 0x01FD, 0x0000, 0x0000 },
- { 0x1FE2, 0x03C5, 0x0308, 0x0300 },
- { 0xFB06, 0x0073, 0x0074, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_254[] = {
- { 0x1EE0, 0x1EE1, 0x0000, 0x0000 },
- { 0x2CD2, 0x2CD3, 0x0000, 0x0000 },
- { 0xFB05, 0x0073, 0x0074, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_255[] = {
- { 0x01FE, 0x01FF, 0x0000, 0x0000 },
- { 0xFB04, 0x0066, 0x0066, 0x006C }
-};
-
-
-static const CaseFoldHashBucket case_fold_hash[256] = {
- { __PHYSFS_ARRAYLEN(case_fold_000), case_fold_000 },
- { __PHYSFS_ARRAYLEN(case_fold_001), case_fold_001 },
- { __PHYSFS_ARRAYLEN(case_fold_002), case_fold_002 },
- { __PHYSFS_ARRAYLEN(case_fold_003), case_fold_003 },
- { __PHYSFS_ARRAYLEN(case_fold_004), case_fold_004 },
- { __PHYSFS_ARRAYLEN(case_fold_005), case_fold_005 },
- { __PHYSFS_ARRAYLEN(case_fold_006), case_fold_006 },
- { __PHYSFS_ARRAYLEN(case_fold_007), case_fold_007 },
- { __PHYSFS_ARRAYLEN(case_fold_008), case_fold_008 },
- { __PHYSFS_ARRAYLEN(case_fold_009), case_fold_009 },
- { __PHYSFS_ARRAYLEN(case_fold_010), case_fold_010 },
- { __PHYSFS_ARRAYLEN(case_fold_011), case_fold_011 },
- { __PHYSFS_ARRAYLEN(case_fold_012), case_fold_012 },
- { __PHYSFS_ARRAYLEN(case_fold_013), case_fold_013 },
- { __PHYSFS_ARRAYLEN(case_fold_014), case_fold_014 },
- { __PHYSFS_ARRAYLEN(case_fold_015), case_fold_015 },
- { __PHYSFS_ARRAYLEN(case_fold_016), case_fold_016 },
- { __PHYSFS_ARRAYLEN(case_fold_017), case_fold_017 },
- { __PHYSFS_ARRAYLEN(case_fold_018), case_fold_018 },
- { __PHYSFS_ARRAYLEN(case_fold_019), case_fold_019 },
- { __PHYSFS_ARRAYLEN(case_fold_020), case_fold_020 },
- { __PHYSFS_ARRAYLEN(case_fold_021), case_fold_021 },
- { __PHYSFS_ARRAYLEN(case_fold_022), case_fold_022 },
- { __PHYSFS_ARRAYLEN(case_fold_023), case_fold_023 },
- { __PHYSFS_ARRAYLEN(case_fold_024), case_fold_024 },
- { __PHYSFS_ARRAYLEN(case_fold_025), case_fold_025 },
- { __PHYSFS_ARRAYLEN(case_fold_026), case_fold_026 },
- { __PHYSFS_ARRAYLEN(case_fold_027), case_fold_027 },
- { __PHYSFS_ARRAYLEN(case_fold_028), case_fold_028 },
- { __PHYSFS_ARRAYLEN(case_fold_029), case_fold_029 },
- { __PHYSFS_ARRAYLEN(case_fold_030), case_fold_030 },
- { __PHYSFS_ARRAYLEN(case_fold_031), case_fold_031 },
- { __PHYSFS_ARRAYLEN(case_fold_032), case_fold_032 },
- { __PHYSFS_ARRAYLEN(case_fold_033), case_fold_033 },
- { __PHYSFS_ARRAYLEN(case_fold_034), case_fold_034 },
- { __PHYSFS_ARRAYLEN(case_fold_035), case_fold_035 },
- { __PHYSFS_ARRAYLEN(case_fold_036), case_fold_036 },
- { __PHYSFS_ARRAYLEN(case_fold_037), case_fold_037 },
- { __PHYSFS_ARRAYLEN(case_fold_038), case_fold_038 },
- { __PHYSFS_ARRAYLEN(case_fold_039), case_fold_039 },
- { __PHYSFS_ARRAYLEN(case_fold_040), case_fold_040 },
- { __PHYSFS_ARRAYLEN(case_fold_041), case_fold_041 },
- { __PHYSFS_ARRAYLEN(case_fold_042), case_fold_042 },
- { __PHYSFS_ARRAYLEN(case_fold_043), case_fold_043 },
- { __PHYSFS_ARRAYLEN(case_fold_044), case_fold_044 },
- { __PHYSFS_ARRAYLEN(case_fold_045), case_fold_045 },
- { __PHYSFS_ARRAYLEN(case_fold_046), case_fold_046 },
- { __PHYSFS_ARRAYLEN(case_fold_047), case_fold_047 },
- { __PHYSFS_ARRAYLEN(case_fold_048), case_fold_048 },
- { __PHYSFS_ARRAYLEN(case_fold_049), case_fold_049 },
- { __PHYSFS_ARRAYLEN(case_fold_050), case_fold_050 },
- { __PHYSFS_ARRAYLEN(case_fold_051), case_fold_051 },
- { __PHYSFS_ARRAYLEN(case_fold_052), case_fold_052 },
- { __PHYSFS_ARRAYLEN(case_fold_053), case_fold_053 },
- { __PHYSFS_ARRAYLEN(case_fold_054), case_fold_054 },
- { __PHYSFS_ARRAYLEN(case_fold_055), case_fold_055 },
- { __PHYSFS_ARRAYLEN(case_fold_056), case_fold_056 },
- { __PHYSFS_ARRAYLEN(case_fold_057), case_fold_057 },
- { __PHYSFS_ARRAYLEN(case_fold_058), case_fold_058 },
- { __PHYSFS_ARRAYLEN(case_fold_059), case_fold_059 },
- { __PHYSFS_ARRAYLEN(case_fold_060), case_fold_060 },
- { __PHYSFS_ARRAYLEN(case_fold_061), case_fold_061 },
- { __PHYSFS_ARRAYLEN(case_fold_062), case_fold_062 },
- { __PHYSFS_ARRAYLEN(case_fold_063), case_fold_063 },
- { __PHYSFS_ARRAYLEN(case_fold_064), case_fold_064 },
- { __PHYSFS_ARRAYLEN(case_fold_065), case_fold_065 },
- { __PHYSFS_ARRAYLEN(case_fold_066), case_fold_066 },
- { __PHYSFS_ARRAYLEN(case_fold_067), case_fold_067 },
- { __PHYSFS_ARRAYLEN(case_fold_068), case_fold_068 },
- { __PHYSFS_ARRAYLEN(case_fold_069), case_fold_069 },
- { __PHYSFS_ARRAYLEN(case_fold_070), case_fold_070 },
- { __PHYSFS_ARRAYLEN(case_fold_071), case_fold_071 },
- { __PHYSFS_ARRAYLEN(case_fold_072), case_fold_072 },
- { __PHYSFS_ARRAYLEN(case_fold_073), case_fold_073 },
- { __PHYSFS_ARRAYLEN(case_fold_074), case_fold_074 },
- { __PHYSFS_ARRAYLEN(case_fold_075), case_fold_075 },
- { __PHYSFS_ARRAYLEN(case_fold_076), case_fold_076 },
- { __PHYSFS_ARRAYLEN(case_fold_077), case_fold_077 },
- { __PHYSFS_ARRAYLEN(case_fold_078), case_fold_078 },
- { __PHYSFS_ARRAYLEN(case_fold_079), case_fold_079 },
- { __PHYSFS_ARRAYLEN(case_fold_080), case_fold_080 },
- { __PHYSFS_ARRAYLEN(case_fold_081), case_fold_081 },
- { __PHYSFS_ARRAYLEN(case_fold_082), case_fold_082 },
- { __PHYSFS_ARRAYLEN(case_fold_083), case_fold_083 },
- { __PHYSFS_ARRAYLEN(case_fold_084), case_fold_084 },
- { __PHYSFS_ARRAYLEN(case_fold_085), case_fold_085 },
- { __PHYSFS_ARRAYLEN(case_fold_086), case_fold_086 },
- { __PHYSFS_ARRAYLEN(case_fold_087), case_fold_087 },
- { __PHYSFS_ARRAYLEN(case_fold_088), case_fold_088 },
- { __PHYSFS_ARRAYLEN(case_fold_089), case_fold_089 },
- { __PHYSFS_ARRAYLEN(case_fold_090), case_fold_090 },
- { __PHYSFS_ARRAYLEN(case_fold_091), case_fold_091 },
- { __PHYSFS_ARRAYLEN(case_fold_092), case_fold_092 },
- { __PHYSFS_ARRAYLEN(case_fold_093), case_fold_093 },
- { __PHYSFS_ARRAYLEN(case_fold_094), case_fold_094 },
- { __PHYSFS_ARRAYLEN(case_fold_095), case_fold_095 },
- { __PHYSFS_ARRAYLEN(case_fold_096), case_fold_096 },
- { __PHYSFS_ARRAYLEN(case_fold_097), case_fold_097 },
- { __PHYSFS_ARRAYLEN(case_fold_098), case_fold_098 },
- { __PHYSFS_ARRAYLEN(case_fold_099), case_fold_099 },
- { __PHYSFS_ARRAYLEN(case_fold_100), case_fold_100 },
- { __PHYSFS_ARRAYLEN(case_fold_101), case_fold_101 },
- { __PHYSFS_ARRAYLEN(case_fold_102), case_fold_102 },
- { __PHYSFS_ARRAYLEN(case_fold_103), case_fold_103 },
- { __PHYSFS_ARRAYLEN(case_fold_104), case_fold_104 },
- { __PHYSFS_ARRAYLEN(case_fold_105), case_fold_105 },
- { __PHYSFS_ARRAYLEN(case_fold_106), case_fold_106 },
- { __PHYSFS_ARRAYLEN(case_fold_107), case_fold_107 },
- { __PHYSFS_ARRAYLEN(case_fold_108), case_fold_108 },
- { __PHYSFS_ARRAYLEN(case_fold_109), case_fold_109 },
- { __PHYSFS_ARRAYLEN(case_fold_110), case_fold_110 },
- { __PHYSFS_ARRAYLEN(case_fold_111), case_fold_111 },
- { __PHYSFS_ARRAYLEN(case_fold_112), case_fold_112 },
- { __PHYSFS_ARRAYLEN(case_fold_113), case_fold_113 },
- { __PHYSFS_ARRAYLEN(case_fold_114), case_fold_114 },
- { __PHYSFS_ARRAYLEN(case_fold_115), case_fold_115 },
- { __PHYSFS_ARRAYLEN(case_fold_116), case_fold_116 },
- { __PHYSFS_ARRAYLEN(case_fold_117), case_fold_117 },
- { __PHYSFS_ARRAYLEN(case_fold_118), case_fold_118 },
- { __PHYSFS_ARRAYLEN(case_fold_119), case_fold_119 },
- { __PHYSFS_ARRAYLEN(case_fold_120), case_fold_120 },
- { __PHYSFS_ARRAYLEN(case_fold_121), case_fold_121 },
- { __PHYSFS_ARRAYLEN(case_fold_122), case_fold_122 },
- { 0, NULL },
- { __PHYSFS_ARRAYLEN(case_fold_124), case_fold_124 },
- { 0, NULL },
- { __PHYSFS_ARRAYLEN(case_fold_126), case_fold_126 },
- { 0, NULL },
- { __PHYSFS_ARRAYLEN(case_fold_128), case_fold_128 },
- { __PHYSFS_ARRAYLEN(case_fold_129), case_fold_129 },
- { __PHYSFS_ARRAYLEN(case_fold_130), case_fold_130 },
- { __PHYSFS_ARRAYLEN(case_fold_131), case_fold_131 },
- { __PHYSFS_ARRAYLEN(case_fold_132), case_fold_132 },
- { __PHYSFS_ARRAYLEN(case_fold_133), case_fold_133 },
- { __PHYSFS_ARRAYLEN(case_fold_134), case_fold_134 },
- { __PHYSFS_ARRAYLEN(case_fold_135), case_fold_135 },
- { __PHYSFS_ARRAYLEN(case_fold_136), case_fold_136 },
- { __PHYSFS_ARRAYLEN(case_fold_137), case_fold_137 },
- { __PHYSFS_ARRAYLEN(case_fold_138), case_fold_138 },
- { __PHYSFS_ARRAYLEN(case_fold_139), case_fold_139 },
- { __PHYSFS_ARRAYLEN(case_fold_140), case_fold_140 },
- { __PHYSFS_ARRAYLEN(case_fold_141), case_fold_141 },
- { __PHYSFS_ARRAYLEN(case_fold_142), case_fold_142 },
- { __PHYSFS_ARRAYLEN(case_fold_143), case_fold_143 },
- { __PHYSFS_ARRAYLEN(case_fold_144), case_fold_144 },
- { __PHYSFS_ARRAYLEN(case_fold_145), case_fold_145 },
- { __PHYSFS_ARRAYLEN(case_fold_146), case_fold_146 },
- { __PHYSFS_ARRAYLEN(case_fold_147), case_fold_147 },
- { __PHYSFS_ARRAYLEN(case_fold_148), case_fold_148 },
- { __PHYSFS_ARRAYLEN(case_fold_149), case_fold_149 },
- { __PHYSFS_ARRAYLEN(case_fold_150), case_fold_150 },
- { __PHYSFS_ARRAYLEN(case_fold_151), case_fold_151 },
- { __PHYSFS_ARRAYLEN(case_fold_152), case_fold_152 },
- { __PHYSFS_ARRAYLEN(case_fold_153), case_fold_153 },
- { __PHYSFS_ARRAYLEN(case_fold_154), case_fold_154 },
- { __PHYSFS_ARRAYLEN(case_fold_155), case_fold_155 },
- { __PHYSFS_ARRAYLEN(case_fold_156), case_fold_156 },
- { __PHYSFS_ARRAYLEN(case_fold_157), case_fold_157 },
- { __PHYSFS_ARRAYLEN(case_fold_158), case_fold_158 },
- { __PHYSFS_ARRAYLEN(case_fold_159), case_fold_159 },
- { __PHYSFS_ARRAYLEN(case_fold_160), case_fold_160 },
- { __PHYSFS_ARRAYLEN(case_fold_161), case_fold_161 },
- { __PHYSFS_ARRAYLEN(case_fold_162), case_fold_162 },
- { __PHYSFS_ARRAYLEN(case_fold_163), case_fold_163 },
- { __PHYSFS_ARRAYLEN(case_fold_164), case_fold_164 },
- { __PHYSFS_ARRAYLEN(case_fold_165), case_fold_165 },
- { __PHYSFS_ARRAYLEN(case_fold_166), case_fold_166 },
- { __PHYSFS_ARRAYLEN(case_fold_167), case_fold_167 },
- { __PHYSFS_ARRAYLEN(case_fold_168), case_fold_168 },
- { __PHYSFS_ARRAYLEN(case_fold_169), case_fold_169 },
- { __PHYSFS_ARRAYLEN(case_fold_170), case_fold_170 },
- { __PHYSFS_ARRAYLEN(case_fold_171), case_fold_171 },
- { __PHYSFS_ARRAYLEN(case_fold_172), case_fold_172 },
- { __PHYSFS_ARRAYLEN(case_fold_173), case_fold_173 },
- { __PHYSFS_ARRAYLEN(case_fold_174), case_fold_174 },
- { __PHYSFS_ARRAYLEN(case_fold_175), case_fold_175 },
- { __PHYSFS_ARRAYLEN(case_fold_176), case_fold_176 },
- { __PHYSFS_ARRAYLEN(case_fold_177), case_fold_177 },
- { __PHYSFS_ARRAYLEN(case_fold_178), case_fold_178 },
- { __PHYSFS_ARRAYLEN(case_fold_179), case_fold_179 },
- { __PHYSFS_ARRAYLEN(case_fold_180), case_fold_180 },
- { __PHYSFS_ARRAYLEN(case_fold_181), case_fold_181 },
- { __PHYSFS_ARRAYLEN(case_fold_182), case_fold_182 },
- { __PHYSFS_ARRAYLEN(case_fold_183), case_fold_183 },
- { __PHYSFS_ARRAYLEN(case_fold_184), case_fold_184 },
- { __PHYSFS_ARRAYLEN(case_fold_185), case_fold_185 },
- { __PHYSFS_ARRAYLEN(case_fold_186), case_fold_186 },
- { __PHYSFS_ARRAYLEN(case_fold_187), case_fold_187 },
- { __PHYSFS_ARRAYLEN(case_fold_188), case_fold_188 },
- { __PHYSFS_ARRAYLEN(case_fold_189), case_fold_189 },
- { __PHYSFS_ARRAYLEN(case_fold_190), case_fold_190 },
- { __PHYSFS_ARRAYLEN(case_fold_191), case_fold_191 },
- { __PHYSFS_ARRAYLEN(case_fold_192), case_fold_192 },
- { __PHYSFS_ARRAYLEN(case_fold_193), case_fold_193 },
- { __PHYSFS_ARRAYLEN(case_fold_194), case_fold_194 },
- { __PHYSFS_ARRAYLEN(case_fold_195), case_fold_195 },
- { __PHYSFS_ARRAYLEN(case_fold_196), case_fold_196 },
- { __PHYSFS_ARRAYLEN(case_fold_197), case_fold_197 },
- { __PHYSFS_ARRAYLEN(case_fold_198), case_fold_198 },
- { __PHYSFS_ARRAYLEN(case_fold_199), case_fold_199 },
- { __PHYSFS_ARRAYLEN(case_fold_200), case_fold_200 },
- { __PHYSFS_ARRAYLEN(case_fold_201), case_fold_201 },
- { __PHYSFS_ARRAYLEN(case_fold_202), case_fold_202 },
- { __PHYSFS_ARRAYLEN(case_fold_203), case_fold_203 },
- { __PHYSFS_ARRAYLEN(case_fold_204), case_fold_204 },
- { __PHYSFS_ARRAYLEN(case_fold_205), case_fold_205 },
- { __PHYSFS_ARRAYLEN(case_fold_206), case_fold_206 },
- { __PHYSFS_ARRAYLEN(case_fold_207), case_fold_207 },
- { __PHYSFS_ARRAYLEN(case_fold_208), case_fold_208 },
- { __PHYSFS_ARRAYLEN(case_fold_209), case_fold_209 },
- { __PHYSFS_ARRAYLEN(case_fold_210), case_fold_210 },
- { __PHYSFS_ARRAYLEN(case_fold_211), case_fold_211 },
- { __PHYSFS_ARRAYLEN(case_fold_212), case_fold_212 },
- { __PHYSFS_ARRAYLEN(case_fold_213), case_fold_213 },
- { __PHYSFS_ARRAYLEN(case_fold_214), case_fold_214 },
- { __PHYSFS_ARRAYLEN(case_fold_215), case_fold_215 },
- { __PHYSFS_ARRAYLEN(case_fold_216), case_fold_216 },
- { __PHYSFS_ARRAYLEN(case_fold_217), case_fold_217 },
- { __PHYSFS_ARRAYLEN(case_fold_218), case_fold_218 },
- { __PHYSFS_ARRAYLEN(case_fold_219), case_fold_219 },
- { __PHYSFS_ARRAYLEN(case_fold_220), case_fold_220 },
- { __PHYSFS_ARRAYLEN(case_fold_221), case_fold_221 },
- { __PHYSFS_ARRAYLEN(case_fold_222), case_fold_222 },
- { __PHYSFS_ARRAYLEN(case_fold_223), case_fold_223 },
- { __PHYSFS_ARRAYLEN(case_fold_224), case_fold_224 },
- { __PHYSFS_ARRAYLEN(case_fold_225), case_fold_225 },
- { __PHYSFS_ARRAYLEN(case_fold_226), case_fold_226 },
- { __PHYSFS_ARRAYLEN(case_fold_227), case_fold_227 },
- { __PHYSFS_ARRAYLEN(case_fold_228), case_fold_228 },
- { __PHYSFS_ARRAYLEN(case_fold_229), case_fold_229 },
- { __PHYSFS_ARRAYLEN(case_fold_230), case_fold_230 },
- { __PHYSFS_ARRAYLEN(case_fold_231), case_fold_231 },
- { __PHYSFS_ARRAYLEN(case_fold_232), case_fold_232 },
- { __PHYSFS_ARRAYLEN(case_fold_233), case_fold_233 },
- { __PHYSFS_ARRAYLEN(case_fold_234), case_fold_234 },
- { __PHYSFS_ARRAYLEN(case_fold_235), case_fold_235 },
- { __PHYSFS_ARRAYLEN(case_fold_236), case_fold_236 },
- { __PHYSFS_ARRAYLEN(case_fold_237), case_fold_237 },
- { __PHYSFS_ARRAYLEN(case_fold_238), case_fold_238 },
- { __PHYSFS_ARRAYLEN(case_fold_239), case_fold_239 },
- { __PHYSFS_ARRAYLEN(case_fold_240), case_fold_240 },
- { __PHYSFS_ARRAYLEN(case_fold_241), case_fold_241 },
- { __PHYSFS_ARRAYLEN(case_fold_242), case_fold_242 },
- { __PHYSFS_ARRAYLEN(case_fold_243), case_fold_243 },
- { __PHYSFS_ARRAYLEN(case_fold_244), case_fold_244 },
- { __PHYSFS_ARRAYLEN(case_fold_245), case_fold_245 },
- { __PHYSFS_ARRAYLEN(case_fold_246), case_fold_246 },
- { __PHYSFS_ARRAYLEN(case_fold_247), case_fold_247 },
- { __PHYSFS_ARRAYLEN(case_fold_248), case_fold_248 },
- { __PHYSFS_ARRAYLEN(case_fold_249), case_fold_249 },
- { __PHYSFS_ARRAYLEN(case_fold_250), case_fold_250 },
- { __PHYSFS_ARRAYLEN(case_fold_251), case_fold_251 },
- { __PHYSFS_ARRAYLEN(case_fold_252), case_fold_252 },
- { __PHYSFS_ARRAYLEN(case_fold_253), case_fold_253 },
- { __PHYSFS_ARRAYLEN(case_fold_254), case_fold_254 },
- { __PHYSFS_ARRAYLEN(case_fold_255), case_fold_255 },
-};
-
diff --git a/Frameworks/physfs.framework/Versions/A/Headers/.svn/text-base/physfs_internal.h.svn-base b/Frameworks/physfs.framework/Versions/A/Headers/.svn/text-base/physfs_internal.h.svn-base
deleted file mode 100644
index f9da66e1..00000000
--- a/Frameworks/physfs.framework/Versions/A/Headers/.svn/text-base/physfs_internal.h.svn-base
+++ /dev/null
@@ -1,1779 +0,0 @@
-/*
- * Internal function/structure declaration. Do NOT include in your
- * application.
- *
- * Please see the file LICENSE.txt in the source's root directory.
- *
- * This file written by Ryan C. Gordon.
- */
-
-#ifndef _INCLUDE_PHYSFS_INTERNAL_H_
-#define _INCLUDE_PHYSFS_INTERNAL_H_
-
-#ifndef __PHYSICSFS_INTERNAL__
-#error Do not include this header from your applications.
-#endif
-
-#include "physfs.h"
-
-#include <stdlib.h> /* make sure NULL is defined... */
-
-#ifdef HAVE_ASSERT_H
-#include <assert.h>
-#elif (!defined assert)
-#define assert(x)
-#endif
-
-/* !!! FIXME: remove this when revamping stack allocation code... */
-#ifdef _MSC_VER
-#include <malloc.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Interface for small allocations. If you need a little scratch space for
- * a throwaway buffer or string, use this. It will make small allocations
- * on the stack if possible, and use allocator.Malloc() if they are too
- * large. This helps reduce malloc pressure.
- * There are some rules, though:
- * NEVER return a pointer from this, as stack-allocated buffers go away
- * when your function returns.
- * NEVER allocate in a loop, as stack-allocated pointers will pile up. Call
- * a function that uses smallAlloc from your loop, so the allocation can
- * free each time.
- * NEVER call smallAlloc with any complex expression (it's a macro that WILL
- * have side effects...it references the argument multiple times). Use a
- * variable or a literal.
- * NEVER free a pointer from this with anything but smallFree. It will not
- * be a valid pointer to the allocator, regardless of where the memory came
- * from.
- * NEVER realloc a pointer from this.
- * NEVER forget to use smallFree: it may not be a pointer from the stack.
- * NEVER forget to check for NULL...allocation can fail here, of course!
- */
-#define __PHYSFS_SMALLALLOCTHRESHOLD 128
-void *__PHYSFS_initSmallAlloc(void *ptr, PHYSFS_uint64 len);
-
-#define __PHYSFS_smallAlloc(bytes) ( \
- __PHYSFS_initSmallAlloc((((bytes) < __PHYSFS_SMALLALLOCTHRESHOLD) ? \
- alloca((size_t)((bytes)+1)) : NULL), (bytes)) \
-)
-
-void __PHYSFS_smallFree(void *ptr);
-
-
-/* Use the allocation hooks. */
-#define malloc(x) Do not use malloc() directly.
-#define realloc(x, y) Do not use realloc() directly.
-#define free(x) Do not use free() directly.
-/* !!! FIXME: add alloca check here. */
-
-/* The LANG section. */
-/* please send questions/translations to Ryan: icculus@icculus.org. */
-
-#if (!defined PHYSFS_LANG)
-# define PHYSFS_LANG PHYSFS_LANG_ENGLISH
-#endif
-
-#define PHYSFS_LANG_ENGLISH 1 /* English by Ryan C. Gordon */
-#define PHYSFS_LANG_RUSSIAN_KOI8_R 2 /* Russian by Ed Sinjiashvili */
-#define PHYSFS_LANG_RUSSIAN_CP1251 3 /* Russian by Ed Sinjiashvili */
-#define PHYSFS_LANG_RUSSIAN_CP866 4 /* Russian by Ed Sinjiashvili */
-#define PHYSFS_LANG_RUSSIAN_ISO_8859_5 5 /* Russian by Ed Sinjiashvili */
-#define PHYSFS_LANG_SPANISH 6 /* Spanish by Pedro J. Pérez */
-#define PHYSFS_LANG_FRENCH 7 /* French by Stéphane Peter */
-#define PHYSFS_LANG_GERMAN 8 /* German by Michael Renner */
-#define PHYSFS_LANG_PORTUGUESE_BR 9 /* pt-br by Danny Angelo Carminati Grein */
-
-#if (PHYSFS_LANG == PHYSFS_LANG_ENGLISH)
- #define DIR_ARCHIVE_DESCRIPTION "Non-archive, direct filesystem I/O"
- #define GRP_ARCHIVE_DESCRIPTION "Build engine Groupfile format"
- #define HOG_ARCHIVE_DESCRIPTION "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION "Descent II Movielib format"
- #define QPAK_ARCHIVE_DESCRIPTION "Quake I/II format"
- #define ZIP_ARCHIVE_DESCRIPTION "PkZip/WinZip/Info-Zip compatible"
- #define WAD_ARCHIVE_DESCRIPTION "DOOM engine format"
- #define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format"
-
- #define ERR_IS_INITIALIZED "Already initialized"
- #define ERR_NOT_INITIALIZED "Not initialized"
- #define ERR_INVALID_ARGUMENT "Invalid argument"
- #define ERR_FILES_STILL_OPEN "Files still open"
- #define ERR_NO_DIR_CREATE "Failed to create directories"
- #define ERR_OUT_OF_MEMORY "Out of memory"
- #define ERR_NOT_IN_SEARCH_PATH "No such entry in search path"
- #define ERR_NOT_SUPPORTED "Operation not supported"
- #define ERR_UNSUPPORTED_ARCHIVE "Archive type unsupported"
- #define ERR_NOT_A_HANDLE "Not a file handle"
- #define ERR_INSECURE_FNAME "Insecure filename"
- #define ERR_SYMLINK_DISALLOWED "Symbolic links are disabled"
- #define ERR_NO_WRITE_DIR "Write directory is not set"
- #define ERR_NO_SUCH_FILE "File not found"
- #define ERR_NO_SUCH_PATH "Path not found"
- #define ERR_NO_SUCH_VOLUME "Volume not found"
- #define ERR_PAST_EOF "Past end of file"
- #define ERR_ARC_IS_READ_ONLY "Archive is read-only"
- #define ERR_IO_ERROR "I/O error"
- #define ERR_CANT_SET_WRITE_DIR "Can't set write directory"
- #define ERR_SYMLINK_LOOP "Infinite symbolic link loop"
- #define ERR_COMPRESSION "(De)compression error"
- #define ERR_NOT_IMPLEMENTED "Not implemented"
- #define ERR_OS_ERROR "Operating system reported error"
- #define ERR_FILE_EXISTS "File already exists"
- #define ERR_NOT_A_FILE "Not a file"
- #define ERR_NOT_A_DIR "Not a directory"
- #define ERR_NOT_AN_ARCHIVE "Not an archive"
- #define ERR_CORRUPTED "Corrupted archive"
- #define ERR_SEEK_OUT_OF_RANGE "Seek out of range"
- #define ERR_BAD_FILENAME "Bad filename"
- #define ERR_PHYSFS_BAD_OS_CALL "(BUG) PhysicsFS made a bad system call"
- #define ERR_ARGV0_IS_NULL "argv0 is NULL"
- #define ERR_NEED_DICT "need dictionary"
- #define ERR_DATA_ERROR "data error"
- #define ERR_MEMORY_ERROR "memory error"
- #define ERR_BUFFER_ERROR "buffer error"
- #define ERR_VERSION_ERROR "version error"
- #define ERR_UNKNOWN_ERROR "unknown error"
- #define ERR_SEARCHPATH_TRUNC "Search path was truncated"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() was truncated"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() had no dir"
- #define ERR_DISK_FULL "Disk is full"
- #define ERR_DIRECTORY_FULL "Directory full"
- #define ERR_MACOS_GENERIC "MacOS reported error (%d)"
- #define ERR_OS2_GENERIC "OS/2 reported error (%d)"
- #define ERR_VOL_LOCKED_HW "Volume is locked through hardware"
- #define ERR_VOL_LOCKED_SW "Volume is locked through software"
- #define ERR_FILE_LOCKED "File is locked"
- #define ERR_FILE_OR_DIR_BUSY "File/directory is busy"
- #define ERR_FILE_ALREADY_OPEN_W "File already open for writing"
- #define ERR_FILE_ALREADY_OPEN_R "File already open for reading"
- #define ERR_INVALID_REFNUM "Invalid reference number"
- #define ERR_GETTING_FILE_POS "Error getting file position"
- #define ERR_VOLUME_OFFLINE "Volume is offline"
- #define ERR_PERMISSION_DENIED "Permission denied"
- #define ERR_VOL_ALREADY_ONLINE "Volume already online"
- #define ERR_NO_SUCH_DRIVE "No such drive"
- #define ERR_NOT_MAC_DISK "Not a Macintosh disk"
- #define ERR_VOL_EXTERNAL_FS "Volume belongs to an external filesystem"
- #define ERR_PROBLEM_RENAME "Problem during rename"
- #define ERR_BAD_MASTER_BLOCK "Bad master directory block"
- #define ERR_CANT_MOVE_FORBIDDEN "Attempt to move forbidden"
- #define ERR_WRONG_VOL_TYPE "Wrong volume type"
- #define ERR_SERVER_VOL_LOST "Server volume has been disconnected"
- #define ERR_FILE_ID_NOT_FOUND "File ID not found"
- #define ERR_FILE_ID_EXISTS "File ID already exists"
- #define ERR_SERVER_NO_RESPOND "Server not responding"
- #define ERR_USER_AUTH_FAILED "User authentication failed"
- #define ERR_PWORD_EXPIRED "Password has expired on server"
- #define ERR_ACCESS_DENIED "Access denied"
- #define ERR_NOT_A_DOS_DISK "Not a DOS disk"
- #define ERR_SHARING_VIOLATION "Sharing violation"
- #define ERR_CANNOT_MAKE "Cannot make"
- #define ERR_DEV_IN_USE "Device already in use"
- #define ERR_OPEN_FAILED "Open failed"
- #define ERR_PIPE_BUSY "Pipe is busy"
- #define ERR_SHARING_BUF_EXCEEDED "Sharing buffer exceeded"
- #define ERR_TOO_MANY_HANDLES "Too many open handles"
- #define ERR_SEEK_ERROR "Seek error"
- #define ERR_DEL_CWD "Trying to delete current working directory"
- #define ERR_WRITE_PROTECT_ERROR "Write protect error"
- #define ERR_WRITE_FAULT "Write fault"
- #define ERR_LOCK_VIOLATION "Lock violation"
- #define ERR_GEN_FAILURE "General failure"
- #define ERR_UNCERTAIN_MEDIA "Uncertain media"
- #define ERR_PROT_VIOLATION "Protection violation"
- #define ERR_BROKEN_PIPE "Broken pipe"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_GERMAN)
- #define DIR_ARCHIVE_DESCRIPTION "Kein Archiv, direkte Ein/Ausgabe in das Dateisystem"
- #define GRP_ARCHIVE_DESCRIPTION "Build engine Groupfile format"
- #define HOG_ARCHIVE_DESCRIPTION "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION "Descent II Movielib format"
- #define QPAK_ARCHIVE_DESCRIPTION "Quake I/II format"
- #define ZIP_ARCHIVE_DESCRIPTION "PkZip/WinZip/Info-Zip kompatibel"
- #define WAD_ARCHIVE_DESCRIPTION "DOOM engine format" /* !!! FIXME: translate this line if needed */
- #define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format" /* !!! FIXME: translate this line if needed */
-
- #define ERR_IS_INITIALIZED "Bereits initialisiert"
- #define ERR_NOT_INITIALIZED "Nicht initialisiert"
- #define ERR_INVALID_ARGUMENT "Ungültiges Argument"
- #define ERR_FILES_STILL_OPEN "Dateien noch immer geöffnet"
- #define ERR_NO_DIR_CREATE "Fehler beim Erzeugen der Verzeichnisse"
- #define ERR_OUT_OF_MEMORY "Kein Speicher mehr frei"
- #define ERR_NOT_IN_SEARCH_PATH "Eintrag nicht im Suchpfad enthalten"
- #define ERR_NOT_SUPPORTED "Befehl nicht unterstützt"
- #define ERR_UNSUPPORTED_ARCHIVE "Archiv-Typ nicht unterstützt"
- #define ERR_NOT_A_HANDLE "Ist kein Dateideskriptor"
- #define ERR_INSECURE_FNAME "Unsicherer Dateiname"
- #define ERR_SYMLINK_DISALLOWED "Symbolische Verweise deaktiviert"
- #define ERR_NO_WRITE_DIR "Schreibverzeichnis ist nicht gesetzt"
- #define ERR_NO_SUCH_FILE "Datei nicht gefunden"
- #define ERR_NO_SUCH_PATH "Pfad nicht gefunden"
- #define ERR_NO_SUCH_VOLUME "Datencontainer nicht gefunden"
- #define ERR_PAST_EOF "Hinter dem Ende der Datei"
- #define ERR_ARC_IS_READ_ONLY "Archiv ist schreibgeschützt"
- #define ERR_IO_ERROR "Ein/Ausgabe Fehler"
- #define ERR_CANT_SET_WRITE_DIR "Kann Schreibverzeichnis nicht setzen"
- #define ERR_SYMLINK_LOOP "Endlosschleife durch symbolische Verweise"
- #define ERR_COMPRESSION "(De)Kompressionsfehler"
- #define ERR_NOT_IMPLEMENTED "Nicht implementiert"
- #define ERR_OS_ERROR "Betriebssystem meldete Fehler"
- #define ERR_FILE_EXISTS "Datei existiert bereits"
- #define ERR_NOT_A_FILE "Ist keine Datei"
- #define ERR_NOT_A_DIR "Ist kein Verzeichnis"
- #define ERR_NOT_AN_ARCHIVE "Ist kein Archiv"
- #define ERR_CORRUPTED "Beschädigtes Archiv"
- #define ERR_SEEK_OUT_OF_RANGE "Suche war ausserhalb der Reichweite"
- #define ERR_BAD_FILENAME "Unzulässiger Dateiname"
- #define ERR_PHYSFS_BAD_OS_CALL "(BUG) PhysicsFS verursachte einen ungültigen Systemaufruf"
- #define ERR_ARGV0_IS_NULL "argv0 ist NULL"
- #define ERR_NEED_DICT "brauche Wörterbuch"
- #define ERR_DATA_ERROR "Datenfehler"
- #define ERR_MEMORY_ERROR "Speicherfehler"
- #define ERR_BUFFER_ERROR "Bufferfehler"
- #define ERR_VERSION_ERROR "Versionskonflikt"
- #define ERR_UNKNOWN_ERROR "Unbekannter Fehler"
- #define ERR_SEARCHPATH_TRUNC "Suchpfad war abgeschnitten"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() war abgeschnitten"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() bekam kein Verzeichnis"
- #define ERR_DISK_FULL "Laufwerk ist voll"
- #define ERR_DIRECTORY_FULL "Verzeichnis ist voll"
- #define ERR_MACOS_GENERIC "MacOS meldete Fehler (%d)"
- #define ERR_OS2_GENERIC "OS/2 meldete Fehler (%d)"
- #define ERR_VOL_LOCKED_HW "Datencontainer ist durch Hardware gesperrt"
- #define ERR_VOL_LOCKED_SW "Datencontainer ist durch Software gesperrt"
- #define ERR_FILE_LOCKED "Datei ist gesperrt"
- #define ERR_FILE_OR_DIR_BUSY "Datei/Verzeichnis ist beschäftigt"
- #define ERR_FILE_ALREADY_OPEN_W "Datei schon im Schreibmodus geöffnet"
- #define ERR_FILE_ALREADY_OPEN_R "Datei schon im Lesemodus geöffnet"
- #define ERR_INVALID_REFNUM "Ungültige Referenznummer"
- #define ERR_GETTING_FILE_POS "Fehler beim Finden der Dateiposition"
- #define ERR_VOLUME_OFFLINE "Datencontainer ist offline"
- #define ERR_PERMISSION_DENIED "Zugriff verweigert"
- #define ERR_VOL_ALREADY_ONLINE "Datencontainer ist bereits online"
- #define ERR_NO_SUCH_DRIVE "Laufwerk nicht vorhanden"
- #define ERR_NOT_MAC_DISK "Ist kein Macintosh Laufwerk"
- #define ERR_VOL_EXTERNAL_FS "Datencontainer liegt auf einem externen Dateisystem"
- #define ERR_PROBLEM_RENAME "Fehler beim Umbenennen"
- #define ERR_BAD_MASTER_BLOCK "Beschädigter Hauptverzeichnisblock"
- #define ERR_CANT_MOVE_FORBIDDEN "Verschieben nicht erlaubt"
- #define ERR_WRONG_VOL_TYPE "Falscher Datencontainer-Typ"
- #define ERR_SERVER_VOL_LOST "Datencontainer am Server wurde getrennt"
- #define ERR_FILE_ID_NOT_FOUND "Dateikennung nicht gefunden"
- #define ERR_FILE_ID_EXISTS "Dateikennung existiert bereits"
- #define ERR_SERVER_NO_RESPOND "Server antwortet nicht"
- #define ERR_USER_AUTH_FAILED "Benutzerauthentifizierung fehlgeschlagen"
- #define ERR_PWORD_EXPIRED "Passwort am Server ist abgelaufen"
- #define ERR_ACCESS_DENIED "Zugriff verweigert"
- #define ERR_NOT_A_DOS_DISK "Ist kein DOS-Laufwerk"
- #define ERR_SHARING_VIOLATION "Zugriffsverletzung"
- #define ERR_CANNOT_MAKE "Kann nicht erzeugen"
- #define ERR_DEV_IN_USE "Gerät wird bereits benutzt"
- #define ERR_OPEN_FAILED "Öffnen fehlgeschlagen"
- #define ERR_PIPE_BUSY "Pipeverbindung ist belegt"
- #define ERR_SHARING_BUF_EXCEEDED "Zugriffsbuffer überschritten"
- #define ERR_TOO_MANY_HANDLES "Zu viele offene Dateien"
- #define ERR_SEEK_ERROR "Fehler beim Suchen"
- #define ERR_DEL_CWD "Aktuelles Arbeitsverzeichnis darf nicht gelöscht werden"
- #define ERR_WRITE_PROTECT_ERROR "Schreibschutzfehler"
- #define ERR_WRITE_FAULT "Schreibfehler"
- #define ERR_LOCK_VIOLATION "Sperrverletzung"
- #define ERR_GEN_FAILURE "Allgemeiner Fehler"
- #define ERR_UNCERTAIN_MEDIA "Unsicheres Medium"
- #define ERR_PROT_VIOLATION "Schutzverletzung"
- #define ERR_BROKEN_PIPE "Pipeverbindung unterbrochen"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_RUSSIAN_KOI8_R)
- #define DIR_ARCHIVE_DESCRIPTION "îÅ ÁÒÈÉ×, ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÙÊ ××ÏÄ/×Ù×ÏÄ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ"
- #define GRP_ARCHIVE_DESCRIPTION "æÏÒÍÁÔ ÇÒÕÐÐÏ×ÏÇÏ ÆÁÊÌÁ Build engine"
- #define HOG_ARCHIVE_DESCRIPTION "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION "Descent II Movielib format"
- #define ZIP_ARCHIVE_DESCRIPTION "PkZip/WinZip/Info-Zip ÓÏ×ÍÅÓÔÉÍÙÊ"
- #define WAD_ARCHIVE_DESCRIPTION "DOOM engine format" /* !!! FIXME: translate this line if needed */
- #define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format" /* !!! FIXME: translate this line if needed */
-
- #define ERR_IS_INITIALIZED "õÖÅ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎ"
- #define ERR_NOT_INITIALIZED "îÅ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎ"
- #define ERR_INVALID_ARGUMENT "îÅ×ÅÒÎÙÊ ÁÒÇÕÍÅÎÔ"
- #define ERR_FILES_STILL_OPEN "æÁÊÌÙ ÅÝÅ ÏÔËÒÙÔÙ"
- #define ERR_NO_DIR_CREATE "îÅ ÍÏÇÕ ÓÏÚÄÁÔØ ËÁÔÁÌÏÇÉ"
- #define ERR_OUT_OF_MEMORY "ëÏÎÞÉÌÁÓØ ÐÁÍÑÔØ"
- #define ERR_NOT_IN_SEARCH_PATH "îÅÔ ÔÁËÏÇÏ ÜÌÅÍÅÎÔÁ × ÐÕÔÉ ÐÏÉÓËÁ"
- #define ERR_NOT_SUPPORTED "ïÐÅÒÁÃÉÑ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
- #define ERR_UNSUPPORTED_ARCHIVE "áÒÈÉ×Ù ÔÁËÏÇÏ ÔÉÐÁ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ"
- #define ERR_NOT_A_HANDLE "îÅ ÆÁÊÌÏ×ÙÊ ÄÅÓËÒÉÐÔÏÒ"
- #define ERR_INSECURE_FNAME "îÅÂÅÚÏÐÁÓÎÏÅ ÉÍÑ ÆÁÊÌÁ"
- #define ERR_SYMLINK_DISALLOWED "óÉÍ×ÏÌØÎÙÅ ÓÓÙÌËÉ ÏÔËÌÀÞÅÎÙ"
- #define ERR_NO_WRITE_DIR "ëÁÔÁÌÏÇ ÄÌÑ ÚÁÐÉÓÉ ÎÅ ÕÓÔÁÎÏ×ÌÅÎ"
- #define ERR_NO_SUCH_FILE "æÁÊÌ ÎÅ ÎÁÊÄÅÎ"
- #define ERR_NO_SUCH_PATH "ðÕÔØ ÎÅ ÎÁÊÄÅÎ"
- #define ERR_NO_SUCH_VOLUME "ôÏÍ ÎÅ ÎÁÊÄÅÎ"
- #define ERR_PAST_EOF "úÁ ËÏÎÃÏÍ ÆÁÊÌÁ"
- #define ERR_ARC_IS_READ_ONLY "áÒÈÉ× ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ"
- #define ERR_IO_ERROR "ïÛÉÂËÁ ××ÏÄÁ/×Ù×ÏÄÁ"
- #define ERR_CANT_SET_WRITE_DIR "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ËÁÔÁÌÏÇ ÄÌÑ ÚÁÐÉÓÉ"
- #define ERR_SYMLINK_LOOP "âÅÓËÏÎÅÞÎÙÊ ÃÉËÌ ÓÉÍ×ÏÌØÎÏÊ ÓÓÙÌËÉ"
- #define ERR_COMPRESSION "ïÛÉÂËÁ (òÁÓ)ÐÁËÏ×ËÉ"
- #define ERR_NOT_IMPLEMENTED "îÅ ÒÅÁÌÉÚÏ×ÁÎÏ"
- #define ERR_OS_ERROR "ïÐÅÒÁÃÉÏÎÎÁÑ ÓÉÓÔÅÍÁ ÓÏÏÂÝÉÌÁ ÏÛÉÂËÕ"
- #define ERR_FILE_EXISTS "æÁÊÌ ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
- #define ERR_NOT_A_FILE "îÅ ÆÁÊÌ"
- #define ERR_NOT_A_DIR "îÅ ËÁÔÁÌÏÇ"
- #define ERR_NOT_AN_ARCHIVE "îÅ ÁÒÈÉ×"
- #define ERR_CORRUPTED "ðÏ×ÒÅÖÄÅÎÎÙÊ ÁÒÈÉ×"
- #define ERR_SEEK_OUT_OF_RANGE "ðÏÚÉÃÉÏÎÉÒÏ×ÁÎÉÅ ÚÁ ÐÒÅÄÅÌÙ"
- #define ERR_BAD_FILENAME "îÅ×ÅÒÎÏÅ ÉÍÑ ÆÁÊÌÁ"
- #define ERR_PHYSFS_BAD_OS_CALL "(BUG) PhysicsFS ×ÙÐÏÌÎÉÌÁ ÎÅ×ÅÒÎÙÊ ÓÉÓÔÅÍÎÙÊ ×ÙÚÏ×"
- #define ERR_ARGV0_IS_NULL "argv0 is NULL"
- #define ERR_NEED_DICT "ÎÕÖÅÎ ÓÌÏ×ÁÒØ"
- #define ERR_DATA_ERROR "ÏÛÉÂËÁ ÄÁÎÎÙÈ"
- #define ERR_MEMORY_ERROR "ÏÛÉÂËÁ ÐÁÍÑÔÉ"
- #define ERR_BUFFER_ERROR "ÏÛÉÂËÁ ÂÕÆÅÒÁ"
- #define ERR_VERSION_ERROR "ÏÛÉÂËÁ ×ÅÒÓÉÉ"
- #define ERR_UNKNOWN_ERROR "ÎÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ"
- #define ERR_SEARCHPATH_TRUNC "ðÕÔØ ÐÏÉÓËÁ ÏÂÒÅÚÁÎ"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() ÏÂÒÅÚÁÎ"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() ÎÅ ÐÏÌÕÞÉÌ ËÁÔÁÌÏÇ"
- #define ERR_DISK_FULL "äÉÓË ÐÏÌÏÎ"
- #define ERR_DIRECTORY_FULL "ëÁÔÁÌÏÇ ÐÏÌÏÎ"
- #define ERR_MACOS_GENERIC "MacOS ÓÏÏÂÝÉÌÁ ÏÛÉÂËÕ (%d)"
- #define ERR_OS2_GENERIC "OS/2 ÓÏÏÂÝÉÌÁ ÏÛÉÂËÕ (%d)"
- #define ERR_VOL_LOCKED_HW "ôÏÍ ÂÌÏËÉÒÏ×ÁÎ ÁÐÐÁÒÁÔÎÏ"
- #define ERR_VOL_LOCKED_SW "ôÏÍ ÂÌÏËÉÒÏ×ÁÎ ÐÒÏÇÒÁÍÍÎÏ"
- #define ERR_FILE_LOCKED "æÁÊÌ ÚÁÂÌÏËÉÒÏ×ÁÎ"
- #define ERR_FILE_OR_DIR_BUSY "æÁÊÌ/ËÁÔÁÌÏÇ ÚÁÎÑÔ"
- #define ERR_FILE_ALREADY_OPEN_W "æÁÊÌ ÕÖÅ ÏÔËÒÙÔ ÎÁ ÚÁÐÉÓØ"
- #define ERR_FILE_ALREADY_OPEN_R "æÁÊÌ ÕÖÅ ÏÔËÒÙÔ ÎÁ ÞÔÅÎÉÅ"
- #define ERR_INVALID_REFNUM "îÅ×ÅÒÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÓÓÙÌÏË"
- #define ERR_GETTING_FILE_POS "ïÛÉÂËÁ ÐÒÉ ÐÏÌÕÞÅÎÉÉ ÐÏÚÉÃÉÉ ÆÁÊÌÁ"
- #define ERR_VOLUME_OFFLINE "ôÏÍ ÏÔÓÏÅÄÉÎÅÎ"
- #define ERR_PERMISSION_DENIED "ïÔËÁÚÁÎÏ × ÒÁÚÒÅÛÅÎÉÉ"
- #define ERR_VOL_ALREADY_ONLINE "ôÏÍ ÕÖÅ ÐÏÄÓÏÅÄÉÎÅÎ"
- #define ERR_NO_SUCH_DRIVE "îÅÔ ÔÁËÏÇÏ ÄÉÓËÁ"
- #define ERR_NOT_MAC_DISK "îÅ ÄÉÓË Macintosh"
- #define ERR_VOL_EXTERNAL_FS "ôÏÍ ÐÒÉÎÁÄÌÅÖÉÔ ×ÎÅÛÎÅÊ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÅ"
- #define ERR_PROBLEM_RENAME "ðÒÏÂÌÅÍÁ ÐÒÉ ÐÅÒÅÉÍÅÎÏ×ÁÎÉÉ"
- #define ERR_BAD_MASTER_BLOCK "ðÌÏÈÏÊ ÇÌÁ×ÎÙÊ ÂÌÏË ËÁÔÁÌÏÇÁ"
- #define ERR_CANT_MOVE_FORBIDDEN "ðÏÐÙÔËÁ ÐÅÒÅÍÅÓÔÉÔØ ÚÁÐÒÅÝÅÎÁ"
- #define ERR_WRONG_VOL_TYPE "îÅ×ÅÒÎÙÊ ÔÉÐ ÔÏÍÁ"
- #define ERR_SERVER_VOL_LOST "óÅÒ×ÅÒÎÙÊ ÔÏÍ ÂÙÌ ÏÔÓÏÅÄÉÎÅÎ"
- #define ERR_FILE_ID_NOT_FOUND "éÄÅÎÔÉÆÉËÁÔÏÒ ÆÁÊÌÁ ÎÅ ÎÁÊÄÅÎ"
- #define ERR_FILE_ID_EXISTS "éÄÅÎÔÉÆÉËÁÔÏÒ ÆÁÊÌÁ ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
- #define ERR_SERVER_NO_RESPOND "óÅÒ×ÅÒ ÎÅ ÏÔ×ÅÞÁÅÔ"
- #define ERR_USER_AUTH_FAILED "éÄÅÎÔÉÆÉËÁÃÉÑ ÐÏÌØÚÏ×ÁÔÅÌÑ ÎÅ ÕÄÁÌÁÓØ"
- #define ERR_PWORD_EXPIRED "ðÁÒÏÌØ ÎÁ ÓÅÒ×ÅÒÅ ÕÓÔÁÒÅÌ"
- #define ERR_ACCESS_DENIED "ïÔËÁÚÁÎÏ × ÄÏÓÔÕÐÅ"
- #define ERR_NOT_A_DOS_DISK "îÅ ÄÉÓË DOS"
- #define ERR_SHARING_VIOLATION "îÁÒÕÛÅÎÉÅ ÓÏ×ÍÅÓÔÎÏÇÏ ÄÏÓÔÕÐÁ"
- #define ERR_CANNOT_MAKE "îÅ ÍÏÇÕ ÓÏÂÒÁÔØ"
- #define ERR_DEV_IN_USE "õÓÔÒÏÊÓÔ×Ï ÕÖÅ ÉÓÐÏÌØÚÕÅÔÓÑ"
- #define ERR_OPEN_FAILED "ïÔËÒÙÔÉÅ ÎÅ ÕÄÁÌÏÓØ"
- #define ERR_PIPE_BUSY "ëÏÎ×ÅÊÅÒ ÚÁÎÑÔ"
- #define ERR_SHARING_BUF_EXCEEDED "òÁÚÄÅÌÑÅÍÙÊ ÂÕÆÅÒ ÐÅÒÅÐÏÌÎÅÎ"
- #define ERR_TOO_MANY_HANDLES "óÌÉÛËÏÍ ÍÎÏÇÏ ÏÔËÒÙÔÙÈ ÄÅÓËÒÉÐÔÏÒÏ×"
- #define ERR_SEEK_ERROR "ïÛÉÂËÁ ÐÏÚÉÃÉÏÎÉÒÏ×ÁÎÉÑ"
- #define ERR_DEL_CWD "ðÏÐÙÔËÁ ÕÄÁÌÉÔØ ÔÅËÕÝÉÊ ÒÁÂÏÞÉÊ ËÁÔÁÌÏÇ"
- #define ERR_WRITE_PROTECT_ERROR "ïÛÉÂËÁ ÚÁÝÉÔÙ ÚÁÐÉÓÉ"
- #define ERR_WRITE_FAULT "ïÛÉÂËÁ ÚÁÐÉÓÉ"
- #define ERR_LOCK_VIOLATION "îÁÒÕÛÅÎÉÅ ÂÌÏËÉÒÏ×ËÉ"
- #define ERR_GEN_FAILURE "ïÂÝÉÊ ÓÂÏÊ"
- #define ERR_UNCERTAIN_MEDIA "îÅÏÐÒÅÄÅÌÅÎÎÙÊ ÎÏÓÉÔÅÌØ"
- #define ERR_PROT_VIOLATION "îÁÒÕÛÅÎÉÅ ÚÁÝÉÔÙ"
- #define ERR_BROKEN_PIPE "óÌÏÍÁÎÎÙÊ ËÏÎ×ÅÊÅÒ"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_RUSSIAN_CP1251)
- #define DIR_ARCHIVE_DESCRIPTION "Íå àðõèâ, íåïîñðåäñòâåííûé ââîä/âûâîä ôàéëîâîé ñèñòåìû"
- #define GRP_ARCHIVE_DESCRIPTION "Ôîðìàò ãðóïïîâîãî ôàéëà Build engine"
- #define HOG_ARCHIVE_DESCRIPTION "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION "Descent II Movielib format"
- #define ZIP_ARCHIVE_DESCRIPTION "PkZip/WinZip/Info-Zip ñîâìåñòèìûé"
- #define WAD_ARCHIVE_DESCRIPTION "DOOM engine format" /* !!! FIXME: translate this line if needed */
- #define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format" /* !!! FIXME: translate this line if needed */
-
- #define ERR_IS_INITIALIZED "Óæå èíèöèàëèçèðîâàí"
- #define ERR_NOT_INITIALIZED "Íå èíèöèàëèçèðîâàí"
- #define ERR_INVALID_ARGUMENT "Íåâåðíûé àðãóìåíò"
- #define ERR_FILES_STILL_OPEN "Ôàéëû åùå îòêðûòû"
- #define ERR_NO_DIR_CREATE "Íå ìîãó ñîçäàòü êàòàëîãè"
- #define ERR_OUT_OF_MEMORY "Êîí÷èëàñü ïàìÿòü"
- #define ERR_NOT_IN_SEARCH_PATH "Íåò òàêîãî ýëåìåíòà â ïóòè ïîèñêà"
- #define ERR_NOT_SUPPORTED "Îïåðàöèÿ íå ïîääåðæèâàåòñÿ"
- #define ERR_UNSUPPORTED_ARCHIVE "Àðõèâû òàêîãî òèïà íå ïîääåðæèâàþòñÿ"
- #define ERR_NOT_A_HANDLE "Íå ôàéëîâûé äåñêðèïòîð"
- #define ERR_INSECURE_FNAME "Íåáåçîïàñíîå èìÿ ôàéëà"
- #define ERR_SYMLINK_DISALLOWED "Ñèìâîëüíûå ññûëêè îòêëþ÷åíû"
- #define ERR_NO_WRITE_DIR "Êàòàëîã äëÿ çàïèñè íå óñòàíîâëåí"
- #define ERR_NO_SUCH_FILE "Ôàéë íå íàéäåí"
- #define ERR_NO_SUCH_PATH "Ïóòü íå íàéäåí"
- #define ERR_NO_SUCH_VOLUME "Òîì íå íàéäåí"
- #define ERR_PAST_EOF "Çà êîíöîì ôàéëà"
- #define ERR_ARC_IS_READ_ONLY "Àðõèâ òîëüêî äëÿ ÷òåíèÿ"
- #define ERR_IO_ERROR "Îøèáêà ââîäà/âûâîäà"
- #define ERR_CANT_SET_WRITE_DIR "Íå ìîãó óñòàíîâèòü êàòàëîã äëÿ çàïèñè"
- #define ERR_SYMLINK_LOOP "Áåñêîíå÷íûé öèêë ñèìâîëüíîé ññûëêè"
- #define ERR_COMPRESSION "Îøèáêà (Ðàñ)ïàêîâêè"
- #define ERR_NOT_IMPLEMENTED "Íå ðåàëèçîâàíî"
- #define ERR_OS_ERROR "Îïåðàöèîííàÿ ñèñòåìà ñîîáùèëà îøèáêó"
- #define ERR_FILE_EXISTS "Ôàéë óæå ñóùåñòâóåò"
- #define ERR_NOT_A_FILE "Íå ôàéë"
- #define ERR_NOT_A_DIR "Íå êàòàëîã"
- #define ERR_NOT_AN_ARCHIVE "Íå àðõèâ"
- #define ERR_CORRUPTED "Ïîâðåæäåííûé àðõèâ"
- #define ERR_SEEK_OUT_OF_RANGE "Ïîçèöèîíèðîâàíèå çà ïðåäåëû"
- #define ERR_BAD_FILENAME "Íåâåðíîå èìÿ ôàéëà"
- #define ERR_PHYSFS_BAD_OS_CALL "(BUG) PhysicsFS âûïîëíèëà íåâåðíûé ñèñòåìíûé âûçîâ"
- #define ERR_ARGV0_IS_NULL "argv0 is NULL"
- #define ERR_NEED_DICT "íóæåí ñëîâàðü"
- #define ERR_DATA_ERROR "îøèáêà äàííûõ"
- #define ERR_MEMORY_ERROR "îøèáêà ïàìÿòè"
- #define ERR_BUFFER_ERROR "îøèáêà áóôåðà"
- #define ERR_VERSION_ERROR "îøèáêà âåðñèè"
- #define ERR_UNKNOWN_ERROR "íåèçâåñòíàÿ îøèáêà"
- #define ERR_SEARCHPATH_TRUNC "Ïóòü ïîèñêà îáðåçàí"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() îáðåçàí"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() íå ïîëó÷èë êàòàëîã"
- #define ERR_DISK_FULL "Äèñê ïîëîí"
- #define ERR_DIRECTORY_FULL "Êàòàëîã ïîëîí"
- #define ERR_MACOS_GENERIC "MacOS ñîîáùèëà îøèáêó (%d)"
- #define ERR_OS2_GENERIC "OS/2 ñîîáùèëà îøèáêó (%d)"
- #define ERR_VOL_LOCKED_HW "Òîì áëîêèðîâàí àïïàðàòíî"
- #define ERR_VOL_LOCKED_SW "Òîì áëîêèðîâàí ïðîãðàììíî"
- #define ERR_FILE_LOCKED "Ôàéë çàáëîêèðîâàí"
- #define ERR_FILE_OR_DIR_BUSY "Ôàéë/êàòàëîã çàíÿò"
- #define ERR_FILE_ALREADY_OPEN_W "Ôàéë óæå îòêðûò íà çàïèñü"
- #define ERR_FILE_ALREADY_OPEN_R "Ôàéë óæå îòêðûò íà ÷òåíèå"
- #define ERR_INVALID_REFNUM "Íåâåðíîå êîëè÷åñòâî ññûëîê"
- #define ERR_GETTING_FILE_POS "Îøèáêà ïðè ïîëó÷åíèè ïîçèöèè ôàéëà"
- #define ERR_VOLUME_OFFLINE "Òîì îòñîåäèíåí"
- #define ERR_PERMISSION_DENIED "Îòêàçàíî â ðàçðåøåíèè"
- #define ERR_VOL_ALREADY_ONLINE "Òîì óæå ïîäñîåäèíåí"
- #define ERR_NO_SUCH_DRIVE "Íåò òàêîãî äèñêà"
- #define ERR_NOT_MAC_DISK "Íå äèñê Macintosh"
- #define ERR_VOL_EXTERNAL_FS "Òîì ïðèíàäëåæèò âíåøíåé ôàéëîâîé ñèñòåìå"
- #define ERR_PROBLEM_RENAME "Ïðîáëåìà ïðè ïåðåèìåíîâàíèè"
- #define ERR_BAD_MASTER_BLOCK "Ïëîõîé ãëàâíûé áëîê êàòàëîãà"
- #define ERR_CANT_MOVE_FORBIDDEN "Ïîïûòêà ïåðåìåñòèòü çàïðåùåíà"
- #define ERR_WRONG_VOL_TYPE "Íåâåðíûé òèï òîìà"
- #define ERR_SERVER_VOL_LOST "Ñåðâåðíûé òîì áûë îòñîåäèíåí"
- #define ERR_FILE_ID_NOT_FOUND "Èäåíòèôèêàòîð ôàéëà íå íàéäåí"
- #define ERR_FILE_ID_EXISTS "Èäåíòèôèêàòîð ôàéëà óæå ñóùåñòâóåò"
- #define ERR_SERVER_NO_RESPOND "Ñåðâåð íå îòâå÷àåò"
- #define ERR_USER_AUTH_FAILED "Èäåíòèôèêàöèÿ ïîëüçîâàòåëÿ íå óäàëàñü"
- #define ERR_PWORD_EXPIRED "Ïàðîëü íà ñåðâåðå óñòàðåë"
- #define ERR_ACCESS_DENIED "Îòêàçàíî â äîñòóïå"
- #define ERR_NOT_A_DOS_DISK "Íå äèñê DOS"
- #define ERR_SHARING_VIOLATION "Íàðóøåíèå ñîâìåñòíîãî äîñòóïà"
- #define ERR_CANNOT_MAKE "Íå ìîãó ñîáðàòü"
- #define ERR_DEV_IN_USE "Óñòðîéñòâî óæå èñïîëüçóåòñÿ"
- #define ERR_OPEN_FAILED "Îòêðûòèå íå óäàëîñü"
- #define ERR_PIPE_BUSY "Êîíâåéåð çàíÿò"
- #define ERR_SHARING_BUF_EXCEEDED "Ðàçäåëÿåìûé áóôåð ïåðåïîëíåí"
- #define ERR_TOO_MANY_HANDLES "Ñëèøêîì ìíîãî îòêðûòûõ äåñêðèïòîðîâ"
- #define ERR_SEEK_ERROR "Îøèáêà ïîçèöèîíèðîâàíèÿ"
- #define ERR_DEL_CWD "Ïîïûòêà óäàëèòü òåêóùèé ðàáî÷èé êàòàëîã"
- #define ERR_WRITE_PROTECT_ERROR "Îøèáêà çàùèòû çàïèñè"
- #define ERR_WRITE_FAULT "Îøèáêà çàïèñè"
- #define ERR_LOCK_VIOLATION "Íàðóøåíèå áëîêèðîâêè"
- #define ERR_GEN_FAILURE "Îáùèé ñáîé"
- #define ERR_UNCERTAIN_MEDIA "Íåîïðåäåëåííûé íîñèòåëü"
- #define ERR_PROT_VIOLATION "Íàðóøåíèå çàùèòû"
- #define ERR_BROKEN_PIPE "Ñëîìàííûé êîíâåéåð"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_RUSSIAN_CP866)
- #define DIR_ARCHIVE_DESCRIPTION "¥  à娢, ­¥¯®á।á⢥­­ë© ¢¢®¤/¢ë¢®¤ ä ©«®¢®© á¨á⥬ë"
- #define GRP_ARCHIVE_DESCRIPTION "”®à¬ â £à㯯®¢®£® ä ©«  Build engine"
- #define HOG_ARCHIVE_DESCRIPTION "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION "Descent II Movielib format"
- #define ZIP_ARCHIVE_DESCRIPTION "PkZip/WinZip/Info-Zip ᮢ¬¥á⨬ë©"
- #define WAD_ARCHIVE_DESCRIPTION "DOOM engine format" /* !!! FIXME: translate this line if needed */
- #define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format" /* !!! FIXME: translate this line if needed */
-
- #define ERR_IS_INITIALIZED "“¦¥ ¨­¨æ¨ «¨§¨à®¢ ­"
- #define ERR_NOT_INITIALIZED "¥ ¨­¨æ¨ «¨§¨à®¢ ­"
- #define ERR_INVALID_ARGUMENT "¥¢¥à­ë©  à£ã¬¥­â"
- #define ERR_FILES_STILL_OPEN "” ©«ë ¥é¥ ®âªàëâë"
- #define ERR_NO_DIR_CREATE "¥ ¬®£ã ᮧ¤ âì ª â «®£¨"
- #define ERR_OUT_OF_MEMORY "Š®­ç¨« áì ¯ ¬ïâì"
- #define ERR_NOT_IN_SEARCH_PATH "¥â â ª®£® í«¥¬¥­â  ¢ ¯ã⨠¯®¨áª "
- #define ERR_NOT_SUPPORTED "Ž¯¥à æ¨ï ­¥ ¯®¤¤¥à¦¨¢ ¥âáï"
- #define ERR_UNSUPPORTED_ARCHIVE "€à娢ë â ª®£® ⨯  ­¥ ¯®¤¤¥à¦¨¢ îâáï"
- #define ERR_NOT_A_HANDLE "¥ ä ©«®¢ë© ¤¥áªà¨¯â®à"
- #define ERR_INSECURE_FNAME "¥¡¥§®¯ á­®¥ ¨¬ï ä ©« "
- #define ERR_SYMLINK_DISALLOWED "‘¨¬¢®«ì­ë¥ áá뫪¨ ®âª«î祭ë"
- #define ERR_NO_WRITE_DIR "Š â «®£ ¤«ï § ¯¨á¨ ­¥ ãáâ ­®¢«¥­"
- #define ERR_NO_SUCH_FILE "” ©« ­¥ ­ ©¤¥­"
- #define ERR_NO_SUCH_PATH "ãâì ­¥ ­ ©¤¥­"
- #define ERR_NO_SUCH_VOLUME "’®¬ ­¥ ­ ©¤¥­"
- #define ERR_PAST_EOF "‡  ª®­æ®¬ ä ©« "
- #define ERR_ARC_IS_READ_ONLY "€à娢 ⮫쪮 ¤«ï ç⥭¨ï"
- #define ERR_IO_ERROR "Žè¨¡ª  ¢¢®¤ /¢ë¢®¤ "
- #define ERR_CANT_SET_WRITE_DIR "¥ ¬®£ã ãáâ ­®¢¨âì ª â «®£ ¤«ï § ¯¨á¨"
- #define ERR_SYMLINK_LOOP "¥áª®­¥ç­ë© 横« ᨬ¢®«ì­®© áá뫪¨"
- #define ERR_COMPRESSION "Žè¨¡ª  ( á)¯ ª®¢ª¨"
- #define ERR_NOT_IMPLEMENTED "¥ ॠ«¨§®¢ ­®"
- #define ERR_OS_ERROR "Ž¯¥à æ¨®­­ ï á¨á⥬  á®®¡é¨«  ®è¨¡ªã"
- #define ERR_FILE_EXISTS "” ©« 㦥 áãé¥áâ¢ã¥â"
- #define ERR_NOT_A_FILE "¥ ä ©«"
- #define ERR_NOT_A_DIR "¥ ª â «®£"
- #define ERR_NOT_AN_ARCHIVE "¥  à娢"
- #define ERR_CORRUPTED "®¢à¥¦¤¥­­ë©  à娢"
- #define ERR_SEEK_OUT_OF_RANGE "®§¨æ¨®­¨à®¢ ­¨¥ §  ¯à¥¤¥«ë"
- #define ERR_BAD_FILENAME "¥¢¥à­®¥ ¨¬ï ä ©« "
- #define ERR_PHYSFS_BAD_OS_CALL "(BUG) PhysicsFS ¢ë¯®«­¨«  ­¥¢¥à­ë© á¨á⥬­ë© ¢ë§®¢"
- #define ERR_ARGV0_IS_NULL "argv0 is NULL"
- #define ERR_NEED_DICT "­ã¦¥­ á«®¢ àì"
- #define ERR_DATA_ERROR "®è¨¡ª  ¤ ­­ëå"
- #define ERR_MEMORY_ERROR "®è¨¡ª  ¯ ¬ïâ¨"
- #define ERR_BUFFER_ERROR "®è¨¡ª  ¡ãä¥à "
- #define ERR_VERSION_ERROR "®è¨¡ª  ¢¥àᨨ"
- #define ERR_UNKNOWN_ERROR "­¥¨§¢¥áâ­ ï ®è¨¡ª "
- #define ERR_SEARCHPATH_TRUNC "ãâì ¯®¨áª  ®¡à¥§ ­"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() ®¡à¥§ ­"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() ­¥ ¯®«ã稫 ª â «®£"
- #define ERR_DISK_FULL "„¨áª ¯®«®­"
- #define ERR_DIRECTORY_FULL "Š â «®£ ¯®«®­"
- #define ERR_MACOS_GENERIC "MacOS á®®¡é¨«  ®è¨¡ªã (%d)"
- #define ERR_OS2_GENERIC "OS/2 á®®¡é¨«  ®è¨¡ªã (%d)"
- #define ERR_VOL_LOCKED_HW "’®¬ ¡«®ª¨à®¢ ­  ¯¯ à â­®"
- #define ERR_VOL_LOCKED_SW "’®¬ ¡«®ª¨à®¢ ­ ¯à®£à ¬¬­®"
- #define ERR_FILE_LOCKED "” ©« § ¡«®ª¨à®¢ ­"
- #define ERR_FILE_OR_DIR_BUSY "” ©«/ª â «®£ § ­ïâ"
- #define ERR_FILE_ALREADY_OPEN_W "” ©« 㦥 ®âªàëâ ­  § ¯¨áì"
- #define ERR_FILE_ALREADY_OPEN_R "” ©« 㦥 ®âªàëâ ­  ç⥭¨¥"
- #define ERR_INVALID_REFNUM "¥¢¥à­®¥ ª®«¨ç¥á⢮ ááë«®ª"
- #define ERR_GETTING_FILE_POS "Žè¨¡ª  ¯à¨ ¯®«ã祭¨¨ ¯®§¨æ¨¨ ä ©« "
- #define ERR_VOLUME_OFFLINE "’®¬ ®âᮥ¤¨­¥­"
- #define ERR_PERMISSION_DENIED "Žâª § ­® ¢ à §à¥è¥­¨¨"
- #define ERR_VOL_ALREADY_ONLINE "’®¬ 㦥 ¯®¤á®¥¤¨­¥­"
- #define ERR_NO_SUCH_DRIVE "¥â â ª®£® ¤¨áª "
- #define ERR_NOT_MAC_DISK "¥ ¤¨áª Macintosh"
- #define ERR_VOL_EXTERNAL_FS "’®¬ ¯à¨­ ¤«¥¦¨â ¢­¥è­¥© ä ©«®¢®© á¨á⥬¥"
- #define ERR_PROBLEM_RENAME "஡«¥¬  ¯à¨ ¯¥à¥¨¬¥­®¢ ­¨¨"
- #define ERR_BAD_MASTER_BLOCK "«®å®© £« ¢­ë© ¡«®ª ª â «®£ "
- #define ERR_CANT_MOVE_FORBIDDEN "®¯ë⪠ ¯¥à¥¬¥áâ¨âì § ¯à¥é¥­ "
- #define ERR_WRONG_VOL_TYPE "¥¢¥à­ë© ⨯ ⮬ "
- #define ERR_SERVER_VOL_LOST "‘¥à¢¥à­ë© ⮬ ¡ë« ®âᮥ¤¨­¥­"
- #define ERR_FILE_ID_NOT_FOUND "ˆ¤¥­â¨ä¨ª â®à ä ©«  ­¥ ­ ©¤¥­"
- #define ERR_FILE_ID_EXISTS "ˆ¤¥­â¨ä¨ª â®à ä ©«  㦥 áãé¥áâ¢ã¥â"
- #define ERR_SERVER_NO_RESPOND "‘¥à¢¥à ­¥ ®â¢¥ç ¥â"
- #define ERR_USER_AUTH_FAILED "ˆ¤¥­â¨ä¨ª æ¨ï ¯®«ì§®¢ â¥«ï ­¥ 㤠« áì"
- #define ERR_PWORD_EXPIRED " à®«ì ­  á¥à¢¥à¥ ãáâ à¥«"
- #define ERR_ACCESS_DENIED "Žâª § ­® ¢ ¤®áâ㯥"
- #define ERR_NOT_A_DOS_DISK "¥ ¤¨áª DOS"
- #define ERR_SHARING_VIOLATION " àã襭¨¥ ᮢ¬¥áâ­®£® ¤®áâ㯠"
- #define ERR_CANNOT_MAKE "¥ ¬®£ã ᮡà âì"
- #define ERR_DEV_IN_USE "“áâனá⢮ 㦥 ¨á¯®«ì§ã¥âáï"
- #define ERR_OPEN_FAILED "Žâªàë⨥ ­¥ 㤠«®áì"
- #define ERR_PIPE_BUSY "Š®­¢¥©¥à § ­ïâ"
- #define ERR_SHARING_BUF_EXCEEDED " §¤¥«ï¥¬ë© ¡ãä¥à ¯¥à¥¯®«­¥­"
- #define ERR_TOO_MANY_HANDLES "‘«¨èª®¬ ¬­®£® ®âªàëâëå ¤¥áªà¨¯â®à®¢"
- #define ERR_SEEK_ERROR "Žè¨¡ª  ¯®§¨æ¨®­¨à®¢ ­¨ï"
- #define ERR_DEL_CWD "®¯ë⪠ 㤠«¨âì ⥪ã騩 à ¡®ç¨© ª â «®£"
- #define ERR_WRITE_PROTECT_ERROR "Žè¨¡ª  § é¨âë § ¯¨á¨"
- #define ERR_WRITE_FAULT "Žè¨¡ª  § ¯¨á¨"
- #define ERR_LOCK_VIOLATION " àã襭¨¥ ¡«®ª¨à®¢ª¨"
- #define ERR_GEN_FAILURE "Ž¡é¨© á¡®©"
- #define ERR_UNCERTAIN_MEDIA "¥®¯à¥¤¥«¥­­ë© ­®á¨â¥«ì"
- #define ERR_PROT_VIOLATION " àã襭¨¥ § é¨âë"
- #define ERR_BROKEN_PIPE "‘«®¬ ­­ë© ª®­¢¥©¥à"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_RUSSIAN_ISO_8859_5)
- #define DIR_ARCHIVE_DESCRIPTION "½Õ ÐàåØÒ, ÝÕßÞáàÕÔáâÒÕÝÝëÙ ÒÒÞÔ/ÒëÒÞÔ äÐÙÛÞÒÞÙ áØáâÕÜë"
- #define GRP_ARCHIVE_DESCRIPTION "ÄÞàÜÐâ ÓàãßßÞÒÞÓÞ äÐÙÛÐ Build engine"
- #define HOG_ARCHIVE_DESCRIPTION "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION "Descent II Movielib format"
- #define ZIP_ARCHIVE_DESCRIPTION "PkZip/WinZip/Info-Zip áÞÒÜÕáâØÜëÙ"
- #define WAD_ARCHIVE_DESCRIPTION "DOOM engine format" /* !!! FIXME: translate this line if needed */
- #define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format" /* !!! FIXME: translate this line if needed */
-
- #define ERR_IS_INITIALIZED "ÃÖÕ ØÝØæØÐÛØ×ØàÞÒÐÝ"
- #define ERR_NOT_INITIALIZED "½Õ ØÝØæØÐÛØ×ØàÞÒÐÝ"
- #define ERR_INVALID_ARGUMENT "½ÕÒÕàÝëÙ ÐàÓãÜÕÝâ"
- #define ERR_FILES_STILL_OPEN "ÄÐÙÛë ÕéÕ ÞâÚàëâë"
- #define ERR_NO_DIR_CREATE "½Õ ÜÞÓã áÞ×ÔÐâì ÚÐâÐÛÞÓØ"
- #define ERR_OUT_OF_MEMORY "ºÞÝçØÛÐáì ßÐÜïâì"
- #define ERR_NOT_IN_SEARCH_PATH "½Õâ âÐÚÞÓÞ íÛÕÜÕÝâÐ Ò ßãâØ ßÞØáÚÐ"
- #define ERR_NOT_SUPPORTED "¾ßÕàÐæØï ÝÕ ßÞÔÔÕàÖØÒÐÕâáï"
- #define ERR_UNSUPPORTED_ARCHIVE "°àåØÒë âÐÚÞÓÞ âØßÐ ÝÕ ßÞÔÔÕàÖØÒÐîâáï"
- #define ERR_NOT_A_HANDLE "½Õ äÐÙÛÞÒëÙ ÔÕáÚàØßâÞà"
- #define ERR_INSECURE_FNAME "½ÕÑÕ×ÞßÐáÝÞÕ ØÜï äÐÙÛÐ"
- #define ERR_SYMLINK_DISALLOWED "ÁØÜÒÞÛìÝëÕ ááëÛÚØ ÞâÚÛîçÕÝë"
- #define ERR_NO_WRITE_DIR "ºÐâÐÛÞÓ ÔÛï ×ÐßØáØ ÝÕ ãáâÐÝÞÒÛÕÝ"
- #define ERR_NO_SUCH_FILE "ÄÐÙÛ ÝÕ ÝÐÙÔÕÝ"
- #define ERR_NO_SUCH_PATH "¿ãâì ÝÕ ÝÐÙÔÕÝ"
- #define ERR_NO_SUCH_VOLUME "ÂÞÜ ÝÕ ÝÐÙÔÕÝ"
- #define ERR_PAST_EOF "·Ð ÚÞÝæÞÜ äÐÙÛÐ"
- #define ERR_ARC_IS_READ_ONLY "°àåØÒ âÞÛìÚÞ ÔÛï çâÕÝØï"
- #define ERR_IO_ERROR "¾èØÑÚÐ ÒÒÞÔÐ/ÒëÒÞÔÐ"
- #define ERR_CANT_SET_WRITE_DIR "½Õ ÜÞÓã ãáâÐÝÞÒØâì ÚÐâÐÛÞÓ ÔÛï ×ÐßØáØ"
- #define ERR_SYMLINK_LOOP "±ÕáÚÞÝÕçÝëÙ æØÚÛ áØÜÒÞÛìÝÞÙ ááëÛÚØ"
- #define ERR_COMPRESSION "¾èØÑÚÐ (ÀÐá)ßÐÚÞÒÚØ"
- #define ERR_NOT_IMPLEMENTED "½Õ àÕÐÛØ×ÞÒÐÝÞ"
- #define ERR_OS_ERROR "¾ßÕàÐæØÞÝÝÐï áØáâÕÜÐ áÞÞÑéØÛÐ ÞèØÑÚã"
- #define ERR_FILE_EXISTS "ÄÐÙÛ ãÖÕ áãéÕáâÒãÕâ"
- #define ERR_NOT_A_FILE "½Õ äÐÙÛ"
- #define ERR_NOT_A_DIR "½Õ ÚÐâÐÛÞÓ"
- #define ERR_NOT_AN_ARCHIVE "½Õ ÐàåØÒ"
- #define ERR_CORRUPTED "¿ÞÒàÕÖÔÕÝÝëÙ ÐàåØÒ"
- #define ERR_SEEK_OUT_OF_RANGE "¿Þ×ØæØÞÝØàÞÒÐÝØÕ ×Ð ßàÕÔÕÛë"
- #define ERR_BAD_FILENAME "½ÕÒÕàÝÞÕ ØÜï äÐÙÛÐ"
- #define ERR_PHYSFS_BAD_OS_CALL "(BUG) PhysicsFS ÒëßÞÛÝØÛÐ ÝÕÒÕàÝëÙ áØáâÕÜÝëÙ Òë×ÞÒ"
- #define ERR_ARGV0_IS_NULL "argv0 is NULL"
- #define ERR_NEED_DICT "ÝãÖÕÝ áÛÞÒÐàì"
- #define ERR_DATA_ERROR "ÞèØÑÚÐ ÔÐÝÝëå"
- #define ERR_MEMORY_ERROR "ÞèØÑÚÐ ßÐÜïâØ"
- #define ERR_BUFFER_ERROR "ÞèØÑÚÐ ÑãäÕàÐ"
- #define ERR_VERSION_ERROR "ÞèØÑÚÐ ÒÕàáØØ"
- #define ERR_UNKNOWN_ERROR "ÝÕØ×ÒÕáâÝÐï ÞèØÑÚÐ"
- #define ERR_SEARCHPATH_TRUNC "¿ãâì ßÞØáÚÐ ÞÑàÕ×ÐÝ"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() ÞÑàÕ×ÐÝ"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() ÝÕ ßÞÛãçØÛ ÚÐâÐÛÞÓ"
- #define ERR_DISK_FULL "´ØáÚ ßÞÛÞÝ"
- #define ERR_DIRECTORY_FULL "ºÐâÐÛÞÓ ßÞÛÞÝ"
- #define ERR_MACOS_GENERIC "MacOS áÞÞÑéØÛÐ ÞèØÑÚã (%d)"
- #define ERR_OS2_GENERIC "OS/2 áÞÞÑéØÛÐ ÞèØÑÚã (%d)"
- #define ERR_VOL_LOCKED_HW "ÂÞÜ ÑÛÞÚØàÞÒÐÝ ÐßßÐàÐâÝÞ"
- #define ERR_VOL_LOCKED_SW "ÂÞÜ ÑÛÞÚØàÞÒÐÝ ßàÞÓàÐÜÜÝÞ"
- #define ERR_FILE_LOCKED "ÄÐÙÛ ×ÐÑÛÞÚØàÞÒÐÝ"
- #define ERR_FILE_OR_DIR_BUSY "ÄÐÙÛ/ÚÐâÐÛÞÓ ×ÐÝïâ"
- #define ERR_FILE_ALREADY_OPEN_W "ÄÐÙÛ ãÖÕ ÞâÚàëâ ÝÐ ×ÐßØáì"
- #define ERR_FILE_ALREADY_OPEN_R "ÄÐÙÛ ãÖÕ ÞâÚàëâ ÝÐ çâÕÝØÕ"
- #define ERR_INVALID_REFNUM "½ÕÒÕàÝÞÕ ÚÞÛØçÕáâÒÞ ááëÛÞÚ"
- #define ERR_GETTING_FILE_POS "¾èØÑÚÐ ßàØ ßÞÛãçÕÝØØ ßÞ×ØæØØ äÐÙÛÐ"
- #define ERR_VOLUME_OFFLINE "ÂÞÜ ÞâáÞÕÔØÝÕÝ"
- #define ERR_PERMISSION_DENIED "¾âÚÐ×ÐÝÞ Ò àÐ×àÕèÕÝØØ"
- #define ERR_VOL_ALREADY_ONLINE "ÂÞÜ ãÖÕ ßÞÔáÞÕÔØÝÕÝ"
- #define ERR_NO_SUCH_DRIVE "½Õâ âÐÚÞÓÞ ÔØáÚÐ"
- #define ERR_NOT_MAC_DISK "½Õ ÔØáÚ Macintosh"
- #define ERR_VOL_EXTERNAL_FS "ÂÞÜ ßàØÝÐÔÛÕÖØâ ÒÝÕèÝÕÙ äÐÙÛÞÒÞÙ áØáâÕÜÕ"
- #define ERR_PROBLEM_RENAME "¿àÞÑÛÕÜÐ ßàØ ßÕàÕØÜÕÝÞÒÐÝØØ"
- #define ERR_BAD_MASTER_BLOCK "¿ÛÞåÞÙ ÓÛÐÒÝëÙ ÑÛÞÚ ÚÐâÐÛÞÓÐ"
- #define ERR_CANT_MOVE_FORBIDDEN "¿ÞßëâÚÐ ßÕàÕÜÕáâØâì ×ÐßàÕéÕÝÐ"
- #define ERR_WRONG_VOL_TYPE "½ÕÒÕàÝëÙ âØß âÞÜÐ"
- #define ERR_SERVER_VOL_LOST "ÁÕàÒÕàÝëÙ âÞÜ ÑëÛ ÞâáÞÕÔØÝÕÝ"
- #define ERR_FILE_ID_NOT_FOUND "¸ÔÕÝâØäØÚÐâÞà äÐÙÛÐ ÝÕ ÝÐÙÔÕÝ"
- #define ERR_FILE_ID_EXISTS "¸ÔÕÝâØäØÚÐâÞà äÐÙÛÐ ãÖÕ áãéÕáâÒãÕâ"
- #define ERR_SERVER_NO_RESPOND "ÁÕàÒÕà ÝÕ ÞâÒÕçÐÕâ"
- #define ERR_USER_AUTH_FAILED "¸ÔÕÝâØäØÚÐæØï ßÞÛì×ÞÒÐâÕÛï ÝÕ ãÔÐÛÐáì"
- #define ERR_PWORD_EXPIRED "¿ÐàÞÛì ÝÐ áÕàÒÕàÕ ãáâÐàÕÛ"
- #define ERR_ACCESS_DENIED "¾âÚÐ×ÐÝÞ Ò ÔÞáâãßÕ"
- #define ERR_NOT_A_DOS_DISK "½Õ ÔØáÚ DOS"
- #define ERR_SHARING_VIOLATION "½ÐàãèÕÝØÕ áÞÒÜÕáâÝÞÓÞ ÔÞáâãßÐ"
- #define ERR_CANNOT_MAKE "½Õ ÜÞÓã áÞÑàÐâì"
- #define ERR_DEV_IN_USE "ÃáâàÞÙáâÒÞ ãÖÕ ØáßÞÛì×ãÕâáï"
- #define ERR_OPEN_FAILED "¾âÚàëâØÕ ÝÕ ãÔÐÛÞáì"
- #define ERR_PIPE_BUSY "ºÞÝÒÕÙÕà ×ÐÝïâ"
- #define ERR_SHARING_BUF_EXCEEDED "ÀÐ×ÔÕÛïÕÜëÙ ÑãäÕà ßÕàÕßÞÛÝÕÝ"
- #define ERR_TOO_MANY_HANDLES "ÁÛØèÚÞÜ ÜÝÞÓÞ ÞâÚàëâëå ÔÕáÚàØßâÞàÞÒ"
- #define ERR_SEEK_ERROR "¾èØÑÚÐ ßÞ×ØæØÞÝØàÞÒÐÝØï"
- #define ERR_DEL_CWD "¿ÞßëâÚÐ ãÔÐÛØâì âÕÚãéØÙ àÐÑÞçØÙ ÚÐâÐÛÞÓ"
- #define ERR_WRITE_PROTECT_ERROR "¾èØÑÚÐ ×ÐéØâë ×ÐßØáØ"
- #define ERR_WRITE_FAULT "¾èØÑÚÐ ×ÐßØáØ"
- #define ERR_LOCK_VIOLATION "½ÐàãèÕÝØÕ ÑÛÞÚØàÞÒÚØ"
- #define ERR_GEN_FAILURE "¾ÑéØÙ áÑÞÙ"
- #define ERR_UNCERTAIN_MEDIA "½ÕÞßàÕÔÕÛÕÝÝëÙ ÝÞáØâÕÛì"
- #define ERR_PROT_VIOLATION "½ÐàãèÕÝØÕ ×ÐéØâë"
- #define ERR_BROKEN_PIPE "ÁÛÞÜÐÝÝëÙ ÚÞÝÒÕÙÕà"
-
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_FRENCH)
- #define DIR_ARCHIVE_DESCRIPTION "Pas d'archive, E/S directes sur système de fichiers"
- #define GRP_ARCHIVE_DESCRIPTION "Format Groupfile du moteur Build"
- #define HOG_ARCHIVE_DESCRIPTION "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION "Descent II Movielib format"
- #define QPAK_ARCHIVE_DESCRIPTION "Quake I/II format"
- #define ZIP_ARCHIVE_DESCRIPTION "Compatible PkZip/WinZip/Info-Zip"
- #define WAD_ARCHIVE_DESCRIPTION "Format WAD du moteur DOOM"
- #define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format" /* !!! FIXME: translate this line if needed */
-
- #define ERR_IS_INITIALIZED "Déjà initialisé"
- #define ERR_NOT_INITIALIZED "Non initialisé"
- #define ERR_INVALID_ARGUMENT "Argument invalide"
- #define ERR_FILES_STILL_OPEN "Fichiers encore ouverts"
- #define ERR_NO_DIR_CREATE "Echec de la création de répertoires"
- #define ERR_OUT_OF_MEMORY "A court de mémoire"
- #define ERR_NOT_IN_SEARCH_PATH "Aucune entrée dans le chemin de recherche"
- #define ERR_NOT_SUPPORTED "Opération non supportée"
- #define ERR_UNSUPPORTED_ARCHIVE "Type d'archive non supportée"
- #define ERR_NOT_A_HANDLE "Pas un descripteur de fichier"
- #define ERR_INSECURE_FNAME "Nom de fichier dangereux"
- #define ERR_SYMLINK_DISALLOWED "Les liens symboliques sont désactivés"
- #define ERR_NO_WRITE_DIR "Le répertoire d'écriture n'est pas spécifié"
- #define ERR_NO_SUCH_FILE "Fichier non trouvé"
- #define ERR_NO_SUCH_PATH "Chemin non trouvé"
- #define ERR_NO_SUCH_VOLUME "Volume non trouvé"
- #define ERR_PAST_EOF "Au-delà de la fin du fichier"
- #define ERR_ARC_IS_READ_ONLY "L'archive est en lecture seule"
- #define ERR_IO_ERROR "Erreur E/S"
- #define ERR_CANT_SET_WRITE_DIR "Ne peut utiliser le répertoire d'écriture"
- #define ERR_SYMLINK_LOOP "Boucle infinie dans les liens symboliques"
- #define ERR_COMPRESSION "Erreur de (dé)compression"
- #define ERR_NOT_IMPLEMENTED "Non implémenté"
- #define ERR_OS_ERROR "Erreur rapportée par le système d'exploitation"
- #define ERR_FILE_EXISTS "Le fichier existe déjà"
- #define ERR_NOT_A_FILE "Pas un fichier"
- #define ERR_NOT_A_DIR "Pas un répertoire"
- #define ERR_NOT_AN_ARCHIVE "Pas une archive"
- #define ERR_CORRUPTED "Archive corrompue"
- #define ERR_SEEK_OUT_OF_RANGE "Pointeur de fichier hors de portée"
- #define ERR_BAD_FILENAME "Mauvais nom de fichier"
- #define ERR_PHYSFS_BAD_OS_CALL "(BOGUE) PhysicsFS a fait un mauvais appel système, le salaud"
- #define ERR_ARGV0_IS_NULL "argv0 est NULL"
- #define ERR_NEED_DICT "a besoin du dico"
- #define ERR_DATA_ERROR "erreur de données"
- #define ERR_MEMORY_ERROR "erreur mémoire"
- #define ERR_BUFFER_ERROR "erreur tampon"
- #define ERR_VERSION_ERROR "erreur de version"
- #define ERR_UNKNOWN_ERROR "erreur inconnue"
- #define ERR_SEARCHPATH_TRUNC "Le chemin de recherche a été tronqué"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() a été tronqué"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() n'a pas de répertoire"
- #define ERR_DISK_FULL "Disque plein"
- #define ERR_DIRECTORY_FULL "Répertoire plein"
- #define ERR_MACOS_GENERIC "Erreur rapportée par MacOS (%d)"
- #define ERR_OS2_GENERIC "Erreur rapportée par OS/2 (%d)"
- #define ERR_VOL_LOCKED_HW "Le volume est verrouillé matériellement"
- #define ERR_VOL_LOCKED_SW "Le volume est verrouillé par logiciel"
- #define ERR_FILE_LOCKED "Fichier verrouillé"
- #define ERR_FILE_OR_DIR_BUSY "Fichier/répertoire occupé"
- #define ERR_FILE_ALREADY_OPEN_W "Fichier déjà ouvert en écriture"
- #define ERR_FILE_ALREADY_OPEN_R "Fichier déjà ouvert en lecture"
- #define ERR_INVALID_REFNUM "Numéro de référence invalide"
- #define ERR_GETTING_FILE_POS "Erreur lors de l'obtention de la position du pointeur de fichier"
- #define ERR_VOLUME_OFFLINE "Le volume n'est pas en ligne"
- #define ERR_PERMISSION_DENIED "Permission refusée"
- #define ERR_VOL_ALREADY_ONLINE "Volumé déjà en ligne"
- #define ERR_NO_SUCH_DRIVE "Lecteur inexistant"
- #define ERR_NOT_MAC_DISK "Pas un disque Macintosh"
- #define ERR_VOL_EXTERNAL_FS "Le volume appartient à un système de fichiers externe"
- #define ERR_PROBLEM_RENAME "Problème lors du renommage"
- #define ERR_BAD_MASTER_BLOCK "Mauvais block maitre de répertoire"
- #define ERR_CANT_MOVE_FORBIDDEN "Essai de déplacement interdit"
- #define ERR_WRONG_VOL_TYPE "Mauvais type de volume"
- #define ERR_SERVER_VOL_LOST "Le volume serveur a été déconnecté"
- #define ERR_FILE_ID_NOT_FOUND "Identificateur de fichier non trouvé"
- #define ERR_FILE_ID_EXISTS "Identificateur de fichier existe déjà"
- #define ERR_SERVER_NO_RESPOND "Le serveur ne répond pas"
- #define ERR_USER_AUTH_FAILED "Authentification de l'utilisateur échouée"
- #define ERR_PWORD_EXPIRED "Le mot de passe a expiré sur le serveur"
- #define ERR_ACCESS_DENIED "Accès refusé"
- #define ERR_NOT_A_DOS_DISK "Pas un disque DOS"
- #define ERR_SHARING_VIOLATION "Violation de partage"
- #define ERR_CANNOT_MAKE "Ne peut faire"
- #define ERR_DEV_IN_USE "Périphérique déjà en utilisation"
- #define ERR_OPEN_FAILED "Ouverture échouée"
- #define ERR_PIPE_BUSY "Le tube est occupé"
- #define ERR_SHARING_BUF_EXCEEDED "Tampon de partage dépassé"
- #define ERR_TOO_MANY_HANDLES "Trop de descripteurs ouverts"
- #define ERR_SEEK_ERROR "Erreur de positionement"
- #define ERR_DEL_CWD "Essai de supprimer le répertoire courant"
- #define ERR_WRITE_PROTECT_ERROR "Erreur de protection en écriture"
- #define ERR_WRITE_FAULT "Erreur d'écriture"
- #define ERR_LOCK_VIOLATION "Violation de verrou"
- #define ERR_GEN_FAILURE "Echec général"
- #define ERR_UNCERTAIN_MEDIA "Média incertain"
- #define ERR_PROT_VIOLATION "Violation de protection"
- #define ERR_BROKEN_PIPE "Tube cassé"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_PORTUGUESE_BR)
- #define DIR_ARCHIVE_DESCRIPTION "Não arquivo, E/S sistema de arquivos direto"
- #define GRP_ARCHIVE_DESCRIPTION "Formato Groupfile do engine Build"
- #define HOG_ARCHIVE_DESCRIPTION "Formato Descent I/II HOG file"
- #define MVL_ARCHIVE_DESCRIPTION "Formato Descent II Movielib"
- #define QPAK_ARCHIVE_DESCRIPTION "Formato Quake I/II"
- #define ZIP_ARCHIVE_DESCRIPTION "Formato compatível PkZip/WinZip/Info-Zip"
- #define WAD_ARCHIVE_DESCRIPTION "Formato WAD do engine DOOM"
- #define WAD_ARCHIVE_DESCRIPTION "DOOM engine format" /* !!! FIXME: translate this line if needed */
- #define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format" /* !!! FIXME: translate this line if needed */
-
- #define ERR_IS_INITIALIZED "Já inicializado"
- #define ERR_NOT_INITIALIZED "Não inicializado"
- #define ERR_INVALID_ARGUMENT "Argumento inválido"
- #define ERR_FILES_STILL_OPEN "Arquivos ainda abertos"
- #define ERR_NO_DIR_CREATE "Falha na criação de diretórios"
- #define ERR_OUT_OF_MEMORY "Memória insuficiente"
- #define ERR_NOT_IN_SEARCH_PATH "Entrada não encontrada no caminho de busca"
- #define ERR_NOT_SUPPORTED "Operação não suportada"
- #define ERR_UNSUPPORTED_ARCHIVE "Tipo de arquivo não suportado"
- #define ERR_NOT_A_HANDLE "Não é um handler de arquivo"
- #define ERR_INSECURE_FNAME "Nome de arquivo inseguro"
- #define ERR_SYMLINK_DISALLOWED "Links simbólicos desabilitados"
- #define ERR_NO_WRITE_DIR "Diretório de escrita não definido"
- #define ERR_NO_SUCH_FILE "Arquivo não encontrado"
- #define ERR_NO_SUCH_PATH "Caminho não encontrado"
- #define ERR_NO_SUCH_VOLUME "Volume não encontrado"
- #define ERR_PAST_EOF "Passou o fim do arquivo"
- #define ERR_ARC_IS_READ_ONLY "Arquivo é somente de leitura"
- #define ERR_IO_ERROR "Erro de E/S"
- #define ERR_CANT_SET_WRITE_DIR "Não foi possível definir diretório de escrita"
- #define ERR_SYMLINK_LOOP "Loop infinito de link simbólico"
- #define ERR_COMPRESSION "Erro de (Des)compressão"
- #define ERR_NOT_IMPLEMENTED "Não implementado"
- #define ERR_OS_ERROR "Erro reportado pelo Sistema Operacional"
- #define ERR_FILE_EXISTS "Arquivo já existente"
- #define ERR_NOT_A_FILE "Não é um arquivo"
- #define ERR_NOT_A_DIR "Não é um diretório"
- #define ERR_NOT_AN_ARCHIVE "Não é um pacote"
- #define ERR_CORRUPTED "Pacote corrompido"
- #define ERR_SEEK_OUT_OF_RANGE "Posicionamento além do tamanho"
- #define ERR_BAD_FILENAME "Nome de arquivo inválido"
- #define ERR_PHYSFS_BAD_OS_CALL "(BUG) PhysicsFS realizou uma chamada de sistema inválida"
- #define ERR_ARGV0_IS_NULL "argv0 é NULL"
- #define ERR_NEED_DICT "precisa de diretório"
- #define ERR_DATA_ERROR "erro nos dados"
- #define ERR_MEMORY_ERROR "erro de memória"
- #define ERR_BUFFER_ERROR "erro de buffer"
- #define ERR_VERSION_ERROR "erro na version"
- #define ERR_UNKNOWN_ERROR "erro desconhecido"
- #define ERR_SEARCHPATH_TRUNC "Caminho de procura quebrado"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() foi quebrado"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() nao teve diretório"
- #define ERR_DISK_FULL "Disco cheio"
- #define ERR_DIRECTORY_FULL "Diretório cheio"
- #define ERR_MACOS_GENERIC "MacOS reportou um erro (%d)"
- #define ERR_OS2_GENERIC "OS/2 reportou um erro (%d)"
- #define ERR_VOL_LOCKED_HW "Volume travado por hardware"
- #define ERR_VOL_LOCKED_SW "Volume travado por software"
- #define ERR_FILE_LOCKED "Arquivo travado"
- #define ERR_FILE_OR_DIR_BUSY "Arquivo/Diretório está em uso"
- #define ERR_FILE_ALREADY_OPEN_W "Arquivo já aberto para escrita"
- #define ERR_FILE_ALREADY_OPEN_R "Arquivo já aberto para leitura"
- #define ERR_INVALID_REFNUM "Número de referência"
- #define ERR_GETTING_FILE_POS "Erro ao tentar obter posição do arquivo"
- #define ERR_VOLUME_OFFLINE "Volume está indisponível"
- #define ERR_PERMISSION_DENIED "Permissão negada"
- #define ERR_VOL_ALREADY_ONLINE "Volume disponível"
- #define ERR_NO_SUCH_DRIVE "Drive inexistente"
- #define ERR_NOT_MAC_DISK "Não é um disco Macintosh"
- #define ERR_VOL_EXTERNAL_FS "Volume pertence a um sistema de arquivos externo"
- #define ERR_PROBLEM_RENAME "Problema durante renomeação"
- #define ERR_BAD_MASTER_BLOCK "Bloco master do diretório inválido"
- #define ERR_CANT_MOVE_FORBIDDEN "Tentativa de mover proibida"
- #define ERR_WRONG_VOL_TYPE "Tipo inválido de volume"
- #define ERR_SERVER_VOL_LOST "Volume servidor desconectado"
- #define ERR_FILE_ID_NOT_FOUND "ID de Arquivo não encontrado"
- #define ERR_FILE_ID_EXISTS "ID de Arquivo já existente"
- #define ERR_SERVER_NO_RESPOND "Servidor não respondendo"
- #define ERR_USER_AUTH_FAILED "Autenticação de usuário falhada"
- #define ERR_PWORD_EXPIRED "Password foi expirada no servidor"
- #define ERR_ACCESS_DENIED "Accesso negado"
- #define ERR_NOT_A_DOS_DISK "Não é um disco DOS"
- #define ERR_SHARING_VIOLATION "Violação de compartilhamento"
- #define ERR_CANNOT_MAKE "Não pode ser feito"
- #define ERR_DEV_IN_USE "Device já em uso"
- #define ERR_OPEN_FAILED "Falaha na abertura"
- #define ERR_PIPE_BUSY "Fila ocupada"
- #define ERR_SHARING_BUF_EXCEEDED "Buffer de compartilhamento excedeu"
- #define ERR_TOO_MANY_HANDLES "Muitos handles abertos"
- #define ERR_SEEK_ERROR "Erro de posicionamento"
- #define ERR_DEL_CWD "Tentando remover diretório de trabalho atual"
- #define ERR_WRITE_PROTECT_ERROR "Erro de proteção de escrita"
- #define ERR_WRITE_FAULT "Erro de escrita"
- #define ERR_LOCK_VIOLATION "Violação de trava"
- #define ERR_GEN_FAILURE "Falha geral"
- #define ERR_UNCERTAIN_MEDIA "Media incerta"
- #define ERR_PROT_VIOLATION "Violação de proteção"
- #define ERR_BROKEN_PIPE "Fila quebrada"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_SPANISH)
- #define DIR_ARCHIVE_DESCRIPTION "No es un archivo, E/S directa al sistema de ficheros"
- #define GRP_ARCHIVE_DESCRIPTION "Formato Build engine Groupfile"
- #define HOG_ARCHIVE_DESCRIPTION "Formato Descent I/II HOG file"
- #define MVL_ARCHIVE_DESCRIPTION "Formato Descent II Movielib"
- #define QPAK_ARCHIVE_DESCRIPTION "Formato Quake I/II"
- #define ZIP_ARCHIVE_DESCRIPTION "Compatible con PkZip/WinZip/Info-Zip"
- #define WAD_ARCHIVE_DESCRIPTION "DOOM engine format" /* !!! FIXME: translate this line if needed */
- #define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format" /* !!! FIXME: translate this line if needed */
-
- #define ERR_IS_INITIALIZED "Ya estaba inicializado"
- #define ERR_NOT_INITIALIZED "No está inicializado"
- #define ERR_INVALID_ARGUMENT "Argumento inválido"
- #define ERR_FILES_STILL_OPEN "Archivos aún abiertos"
- #define ERR_NO_DIR_CREATE "Fallo al crear los directorios"
- #define ERR_OUT_OF_MEMORY "Memoria agotada"
- #define ERR_NOT_IN_SEARCH_PATH "No existe tal entrada en la ruta de búsqueda"
- #define ERR_NOT_SUPPORTED "Operación no soportada"
- #define ERR_UNSUPPORTED_ARCHIVE "Tipo de archivo no soportado"
- #define ERR_NOT_A_HANDLE "No es un manejador de ficheo (file handle)"
- #define ERR_INSECURE_FNAME "Nombre de archivo inseguro"
- #define ERR_SYMLINK_DISALLOWED "Los enlaces simbólicos están desactivados"
- #define ERR_NO_WRITE_DIR "No has configurado un directorio de escritura"
- #define ERR_NO_SUCH_FILE "Archivo no encontrado"
- #define ERR_NO_SUCH_PATH "Ruta no encontrada"
- #define ERR_NO_SUCH_VOLUME "Volumen no encontrado"
- #define ERR_PAST_EOF "Te pasaste del final del archivo"
- #define ERR_ARC_IS_READ_ONLY "El archivo es de sólo lectura"
- #define ERR_IO_ERROR "Error E/S"
- #define ERR_CANT_SET_WRITE_DIR "No puedo configurar el directorio de escritura"
- #define ERR_SYMLINK_LOOP "Bucle infnito de enlaces simbólicos"
- #define ERR_COMPRESSION "Error de (des)compresión"
- #define ERR_NOT_IMPLEMENTED "No implementado"
- #define ERR_OS_ERROR "El sistema operativo ha devuelto un error"
- #define ERR_FILE_EXISTS "El archivo ya existe"
- #define ERR_NOT_A_FILE "No es un archivo"
- #define ERR_NOT_A_DIR "No es un directorio"
- #define ERR_NOT_AN_ARCHIVE "No es un archivo"
- #define ERR_CORRUPTED "Archivo corrupto"
- #define ERR_SEEK_OUT_OF_RANGE "Búsqueda fuera de rango"
- #define ERR_BAD_FILENAME "Nombre de archivo incorrecto"
- #define ERR_PHYSFS_BAD_OS_CALL "(BUG) PhysicsFS ha hecho una llamada incorrecta al sistema"
- #define ERR_ARGV0_IS_NULL "argv0 es NULL"
- #define ERR_NEED_DICT "necesito diccionario"
- #define ERR_DATA_ERROR "error de datos"
- #define ERR_MEMORY_ERROR "error de memoria"
- #define ERR_BUFFER_ERROR "error de buffer"
- #define ERR_VERSION_ERROR "error de versión"
- #define ERR_UNKNOWN_ERROR "error desconocido"
- #define ERR_SEARCHPATH_TRUNC "La ruta de búsqueda ha sido truncada"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() ha sido truncado"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() no tenia directorio"
- #define ERR_DISK_FULL "El disco está lleno"
- #define ERR_DIRECTORY_FULL "El directorio está lleno"
- #define ERR_MACOS_GENERIC "MacOS ha devuelto un error (%d)"
- #define ERR_OS2_GENERIC "OS/2 ha devuelto un error (%d)"
- #define ERR_VOL_LOCKED_HW "El volumen está bloqueado por el hardware"
- #define ERR_VOL_LOCKED_SW "El volumen está bloqueado por el software"
- #define ERR_FILE_LOCKED "El archivo está bloqueado"
- #define ERR_FILE_OR_DIR_BUSY "Fichero o directorio ocupados"
- #define ERR_FILE_ALREADY_OPEN_W "Fichero ya abierto para escritura"
- #define ERR_FILE_ALREADY_OPEN_R "Fichero ya abierto para lectura"
- #define ERR_INVALID_REFNUM "El número de referencia no es válido"
- #define ERR_GETTING_FILE_POS "Error al tomar la posición del fichero"
- #define ERR_VOLUME_OFFLINE "El volumen está desconectado"
- #define ERR_PERMISSION_DENIED "Permiso denegado"
- #define ERR_VOL_ALREADY_ONLINE "El volumen ya estaba conectado"
- #define ERR_NO_SUCH_DRIVE "No existe tal unidad"
- #define ERR_NOT_MAC_DISK "No es un disco Macintosh"
- #define ERR_VOL_EXTERNAL_FS "El volumen pertence a un sistema de ficheros externo"
- #define ERR_PROBLEM_RENAME "Problemas al renombrar"
- #define ERR_BAD_MASTER_BLOCK "Bloque maestro de directorios incorrecto"
- #define ERR_CANT_MOVE_FORBIDDEN "Intento de mover forbidden"
- #define ERR_WRONG_VOL_TYPE "Tipo de volumen incorrecto"
- #define ERR_SERVER_VOL_LOST "El servidor de volúmenes ha sido desconectado"
- #define ERR_FILE_ID_NOT_FOUND "Identificador de archivo no encontrado"
- #define ERR_FILE_ID_EXISTS "El identificador de archivo ya existe"
- #define ERR_SERVER_NO_RESPOND "El servidor no responde"
- #define ERR_USER_AUTH_FAILED "Fallo al autentificar el usuario"
- #define ERR_PWORD_EXPIRED "La Password en el servidor ha caducado"
- #define ERR_ACCESS_DENIED "Acceso denegado"
- #define ERR_NOT_A_DOS_DISK "No es un disco de DOS"
- #define ERR_SHARING_VIOLATION "Violación al compartir"
- #define ERR_CANNOT_MAKE "No puedo hacer make"
- #define ERR_DEV_IN_USE "El dispositivo ya estaba en uso"
- #define ERR_OPEN_FAILED "Fallo al abrir"
- #define ERR_PIPE_BUSY "Tubería ocupada"
- #define ERR_SHARING_BUF_EXCEEDED "Buffer de compartición sobrepasado"
- #define ERR_TOO_MANY_HANDLES "Demasiados manejadores (handles)"
- #define ERR_SEEK_ERROR "Error de búsqueda"
- #define ERR_DEL_CWD "Intentando borrar el directorio de trabajo actual"
- #define ERR_WRITE_PROTECT_ERROR "Error de protección contra escritura"
- #define ERR_WRITE_FAULT "Fallo al escribir"
- #define ERR_LOCK_VIOLATION "Violación del bloqueo"
- #define ERR_GEN_FAILURE "Fallo general"
- #define ERR_UNCERTAIN_MEDIA "Medio incierto"
- #define ERR_PROT_VIOLATION "Violación de la protección"
- #define ERR_BROKEN_PIPE "Tubería rota"
-
-#else
- #error Please define PHYSFS_LANG.
-#endif
-
-/* end LANG section. */
-
-struct __PHYSFS_DIRHANDLE__;
-struct __PHYSFS_FILEFUNCTIONS__;
-
-
-/* !!! FIXME: find something better than "dvoid" and "fvoid" ... */
-/* Opaque data for file and dir handlers... */
-typedef void dvoid;
-typedef void fvoid;
-
-
-typedef struct
-{
- /*
- * Basic info about this archiver...
- */
- const PHYSFS_ArchiveInfo *info;
-
-
- /*
- * DIRECTORY ROUTINES:
- * These functions are for dir handles. Generate a handle with the
- * openArchive() method, then pass it as the "opaque" dvoid to the
- * others.
- *
- * Symlinks should always be followed; PhysicsFS will use the
- * isSymLink() method and make a judgement on whether to
- * continue to call other methods based on that.
- */
-
-
- /*
- * Returns non-zero if (filename) is a valid archive that this
- * driver can handle. This filename is in platform-dependent
- * notation. forWriting is non-zero if this is to be used for
- * the write directory, and zero if this is to be used for an
- * element of the search path.
- */
- int (*isArchive)(const char *filename, int forWriting);
-
- /*
- * Open a dirhandle for dir/archive (name).
- * This filename is in platform-dependent notation.
- * forWriting is non-zero if this is to be used for
- * the write directory, and zero if this is to be used for an
- * element of the search path.
- * Returns NULL on failure, and calls __PHYSFS_setError().
- * Returns non-NULL on success. The pointer returned will be
- * passed as the "opaque" parameter for later calls.
- */
- void *(*openArchive)(const char *name, int forWriting);
-
- /*
- * List all files in (dirname). Each file is passed to (callback),
- * where a copy is made if appropriate, so you should dispose of
- * it properly upon return from the callback.
- * You should omit symlinks if (omitSymLinks) is non-zero.
- * If you have a failure, report as much as you can.
- * (dirname) is in platform-independent notation.
- */
- void (*enumerateFiles)(dvoid *opaque,
- const char *dirname,
- int omitSymLinks,
- PHYSFS_EnumFilesCallback callback,
- const char *origdir,
- void *callbackdata);
-
- /*
- * Returns non-zero if filename can be opened for reading.
- * This filename is in platform-independent notation.
- * You should not follow symlinks.
- */
- int (*exists)(dvoid *opaque, const char *name);
-
- /*
- * Returns non-zero if filename is really a directory.
- * This filename is in platform-independent notation.
- * Symlinks should be followed; if what the symlink points
- * to is missing, or isn't a directory, then the retval is zero.
- *
- * Regardless of success or failure, please set *fileExists to
- * non-zero if the file existed (even if it's a broken symlink!),
- * zero if it did not.
- */
- int (*isDirectory)(dvoid *opaque, const char *name, int *fileExists);
-
- /*
- * Returns non-zero if filename is really a symlink.
- * This filename is in platform-independent notation.
- *
- * Regardless of success or failure, please set *fileExists to
- * non-zero if the file existed (even if it's a broken symlink!),
- * zero if it did not.
- */
- int (*isSymLink)(dvoid *opaque, const char *name, int *fileExists);
-
- /*
- * Retrieve the last modification time (mtime) of a file.
- * Returns -1 on failure, or the file's mtime in seconds since
- * the epoch (Jan 1, 1970) on success.
- * This filename is in platform-independent notation.
- *
- * Regardless of success or failure, please set *exists to
- * non-zero if the file existed (even if it's a broken symlink!),
- * zero if it did not.
- */
- PHYSFS_sint64 (*getLastModTime)(dvoid *opaque, const char *fnm, int *exist);
-
- /*
- * Open file for reading.
- * This filename is in platform-independent notation.
- * If you can't handle multiple opens of the same file,
- * you can opt to fail for the second call.
- * Fail if the file does not exist.
- * Returns NULL on failure, and calls __PHYSFS_setError().
- * Returns non-NULL on success. The pointer returned will be
- * passed as the "opaque" parameter for later file calls.
- *
- * Regardless of success or failure, please set *fileExists to
- * non-zero if the file existed (even if it's a broken symlink!),
- * zero if it did not.
- */
- fvoid *(*openRead)(dvoid *opaque, const char *fname, int *fileExists);
-
- /*
- * Open file for writing.
- * If the file does not exist, it should be created. If it exists,
- * it should be truncated to zero bytes. The writing
- * offset should be the start of the file.
- * This filename is in platform-independent notation.
- * If you can't handle multiple opens of the same file,
- * you can opt to fail for the second call.
- * Returns NULL on failure, and calls __PHYSFS_setError().
- * Returns non-NULL on success. The pointer returned will be
- * passed as the "opaque" parameter for later file calls.
- */
- fvoid *(*openWrite)(dvoid *opaque, const char *filename);
-
- /*
- * Open file for appending.
- * If the file does not exist, it should be created. The writing
- * offset should be the end of the file.
- * This filename is in platform-independent notation.
- * If you can't handle multiple opens of the same file,
- * you can opt to fail for the second call.
- * Returns NULL on failure, and calls __PHYSFS_setError().
- * Returns non-NULL on success. The pointer returned will be
- * passed as the "opaque" parameter for later file calls.
- */
- fvoid *(*openAppend)(dvoid *opaque, const char *filename);
-
- /*
- * Delete a file in the archive/directory.
- * Return non-zero on success, zero on failure.
- * This filename is in platform-independent notation.
- * This method may be NULL.
- * On failure, call __PHYSFS_setError().
- */
- int (*remove)(dvoid *opaque, const char *filename);
-
- /*
- * Create a directory in the archive/directory.
- * If the application is trying to make multiple dirs, PhysicsFS
- * will split them up into multiple calls before passing them to
- * your driver.
- * Return non-zero on success, zero on failure.
- * This filename is in platform-independent notation.
- * This method may be NULL.
- * On failure, call __PHYSFS_setError().
- */
- int (*mkdir)(dvoid *opaque, const char *filename);
-
- /*
- * Close directories/archives, and free any associated memory,
- * including (opaque) itself if applicable. Implementation can assume
- * that it won't be called if there are still files open from
- * this archive.
- */
- void (*dirClose)(dvoid *opaque);
-
-
-
- /*
- * FILE ROUTINES:
- * These functions are for file handles generated by the open*() methods.
- * They are distinguished by taking a "fvoid" instead of a "dvoid" for
- * the opaque handle.
- */
-
- /*
- * Read more from the file.
- * Returns number of objects of (objSize) bytes read from file, -1
- * if complete failure.
- * On failure, call __PHYSFS_setError().
- */
- PHYSFS_sint64 (*read)(fvoid *opaque, void *buffer,
- PHYSFS_uint32 objSize, PHYSFS_uint32 objCount);
-
- /*
- * Write more to the file. Archives don't have to implement this.
- * (Set it to NULL if not implemented).
- * Returns number of objects of (objSize) bytes written to file, -1
- * if complete failure.
- * On failure, call __PHYSFS_setError().
- */
- PHYSFS_sint64 (*write)(fvoid *opaque, const void *buffer,
- PHYSFS_uint32 objSize, PHYSFS_uint32 objCount);
-
- /*
- * Returns non-zero if at end of file.
- */
- int (*eof)(fvoid *opaque);
-
- /*
- * Returns byte offset from start of file.
- */
- PHYSFS_sint64 (*tell)(fvoid *opaque);
-
- /*
- * Move read/write pointer to byte offset from start of file.
- * Returns non-zero on success, zero on error.
- * On failure, call __PHYSFS_setError().
- */
- int (*seek)(fvoid *opaque, PHYSFS_uint64 offset);
-
- /*
- * Return number of bytes available in the file, or -1 if you
- * aren't able to determine.
- * On failure, call __PHYSFS_setError().
- */
- PHYSFS_sint64 (*fileLength)(fvoid *opaque);
-
- /*
- * Close the file, and free associated resources, including (opaque)
- * if applicable. Returns non-zero on success, zero if can't close
- * file. On failure, call __PHYSFS_setError().
- */
- int (*fileClose)(fvoid *opaque);
-} PHYSFS_Archiver;
-
-
-/*
- * Call this to set the message returned by PHYSFS_getLastError().
- * Please only use the ERR_* constants above, or add new constants to the
- * above group, but I want these all in one place.
- *
- * Calling this with a NULL argument is a safe no-op.
- */
-void __PHYSFS_setError(const char *err);
-
-
-/*
- * Convert (dirName) to platform-dependent notation, then prepend (prepend)
- * and append (append) to the converted string.
- *
- * So, on Win32, calling:
- * __PHYSFS_convertToDependent("C:\", "my/files", NULL);
- * ...will return the string "C:\my\files".
- *
- * This is a convenience function; you might want to hack something out that
- * is less generic (and therefore more efficient).
- *
- * Be sure to free() the return value when done with it.
- */
-char *__PHYSFS_convertToDependent(const char *prepend,
- const char *dirName,
- const char *append);
-
-
-/* This byteorder stuff was lifted from SDL. http://www.libsdl.org/ */
-#define PHYSFS_LIL_ENDIAN 1234
-#define PHYSFS_BIG_ENDIAN 4321
-
-#if defined(__i386__) || defined(__ia64__) || defined(WIN32) || \
- (defined(__alpha__) || defined(__alpha)) || \
- defined(__arm__) || defined(ARM) || \
- (defined(__mips__) && defined(__MIPSEL__)) || \
- defined(__SYMBIAN32__) || \
- defined(__x86_64__) || \
- defined(__LITTLE_ENDIAN__)
-#define PHYSFS_BYTEORDER PHYSFS_LIL_ENDIAN
-#else
-#define PHYSFS_BYTEORDER PHYSFS_BIG_ENDIAN
-#endif
-
-
-/*
- * When sorting the entries in an archive, we use a modified QuickSort.
- * When there are less then PHYSFS_QUICKSORT_THRESHOLD entries left to sort,
- * we switch over to a BubbleSort for the remainder. Tweak to taste.
- *
- * You can override this setting by defining PHYSFS_QUICKSORT_THRESHOLD
- * before #including "physfs_internal.h".
- */
-#ifndef PHYSFS_QUICKSORT_THRESHOLD
-#define PHYSFS_QUICKSORT_THRESHOLD 4
-#endif
-
-/*
- * Sort an array (or whatever) of (max) elements. This uses a mixture of
- * a QuickSort and BubbleSort internally.
- * (cmpfn) is used to determine ordering, and (swapfn) does the actual
- * swapping of elements in the list.
- *
- * See zip.c for an example.
- */
-void __PHYSFS_sort(void *entries, PHYSFS_uint32 max,
- int (*cmpfn)(void *, PHYSFS_uint32, PHYSFS_uint32),
- void (*swapfn)(void *, PHYSFS_uint32, PHYSFS_uint32));
-
-
-/* These get used all over for lessening code clutter. */
-#define BAIL_MACRO(e, r) { __PHYSFS_setError(e); return r; }
-#define BAIL_IF_MACRO(c, e, r) if (c) { __PHYSFS_setError(e); return r; }
-#define BAIL_MACRO_MUTEX(e, m, r) { __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); return r; }
-#define BAIL_IF_MACRO_MUTEX(c, e, m, r) if (c) { __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); return r; }
-#define GOTO_MACRO(e, g) { __PHYSFS_setError(e); goto g; }
-#define GOTO_IF_MACRO(c, e, g) if (c) { __PHYSFS_setError(e); goto g; }
-#define GOTO_MACRO_MUTEX(e, m, g) { __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); goto g; }
-#define GOTO_IF_MACRO_MUTEX(c, e, m, g) if (c) { __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); goto g; }
-
-#define __PHYSFS_ARRAYLEN(x) ( (sizeof (x)) / (sizeof (x[0])) )
-
-#if (defined __GNUC__)
-#define __PHYSFS_SI64(x) x##LL
-#define __PHYSFS_UI64(x) x##ULL
-#elif (defined _MSC_VER)
-#define __PHYSFS_SI64(x) x##i64
-#define __PHYSFS_UI64(x) x##ui64
-#else
-#define __PHYSFS_SI64(x) x
-#define __PHYSFS_UI64(x) x
-#endif
-
-/*
- * Check if a ui64 will fit in the platform's address space.
- * The initial sizeof check will optimize this macro out entirely on
- * 64-bit (and larger?!) platforms, and the other condition will
- * return zero or non-zero if the variable will fit in the platform's
- * size_t, suitable to pass to malloc. This is kinda messy, but effective.
- */
-#define __PHYSFS_ui64FitsAddressSpace(s) ( \
- (sizeof (PHYSFS_uint64) > sizeof (size_t)) && \
- ((s) > (__PHYSFS_UI64(0xFFFFFFFFFFFFFFFF) >> (64-(sizeof(size_t)*8)))) \
-)
-
-/*
- * This is a strcasecmp() or stricmp() replacement that expects both strings
- * to be in UTF-8 encoding. It will do "case folding" to decide if the
- * Unicode codepoints in the strings match.
- *
- * It will report which string is "greater than" the other, but be aware that
- * this doesn't necessarily mean anything: 'a' may be "less than" 'b', but
- * a random Kanji codepoint has no meaningful alphabetically relationship to
- * a Greek Lambda, but being able to assign a reliable "value" makes sorting
- * algorithms possible, if not entirely sane. Most cases should treat the
- * return value as "equal" or "not equal".
- */
-int __PHYSFS_utf8strcasecmp(const char *s1, const char *s2);
-
-/*
- * This works like __PHYSFS_utf8strcasecmp(), but takes a character (NOT BYTE
- * COUNT) argument, like strcasencmp().
- */
-int __PHYSFS_utf8strnicmp(const char *s1, const char *s2, PHYSFS_uint32 l);
-
-/*
- * stricmp() that guarantees to only work with low ASCII. The C runtime
- * stricmp() might try to apply a locale/codepage/etc, which we don't want.
- */
-int __PHYSFS_stricmpASCII(const char *s1, const char *s2);
-
-/*
- * strnicmp() that guarantees to only work with low ASCII. The C runtime
- * strnicmp() might try to apply a locale/codepage/etc, which we don't want.
- */
-int __PHYSFS_strnicmpASCII(const char *s1, const char *s2, PHYSFS_uint32 l);
-
-
-/*
- * The current allocator. Not valid before PHYSFS_init is called!
- */
-extern PHYSFS_Allocator __PHYSFS_AllocatorHooks;
-
-/* convenience macro to make this less cumbersome internally... */
-#define allocator __PHYSFS_AllocatorHooks
-
-/*--------------------------------------------------------------------------*/
-/*--------------------------------------------------------------------------*/
-/*------------ ----------------*/
-/*------------ You MUST implement the following functions ----------------*/
-/*------------ if porting to a new platform. ----------------*/
-/*------------ (see platform/unix.c for an example) ----------------*/
-/*------------ ----------------*/
-/*--------------------------------------------------------------------------*/
-/*--------------------------------------------------------------------------*/
-
-
-/*
- * The dir separator; "/" on unix, "\\" on win32, ":" on MacOS, etc...
- * Obviously, this isn't a function, but it IS a null-terminated string.
- */
-extern const char *__PHYSFS_platformDirSeparator;
-
-
-/*
- * Initialize the platform. This is called when PHYSFS_init() is called from
- * the application. You can use this to (for example) determine what version
- * of Windows you're running.
- *
- * Return zero if there was a catastrophic failure (which prevents you from
- * functioning at all), and non-zero otherwise.
- */
-int __PHYSFS_platformInit(void);
-
-
-/*
- * Deinitialize the platform. This is called when PHYSFS_deinit() is called
- * from the application. You can use this to clean up anything you've
- * allocated in your platform driver.
- *
- * Return zero if there was a catastrophic failure (which prevents you from
- * functioning at all), and non-zero otherwise.
- */
-int __PHYSFS_platformDeinit(void);
-
-
-/*
- * Open a file for reading. (filename) is in platform-dependent notation. The
- * file pointer should be positioned on the first byte of the file.
- *
- * The return value will be some platform-specific datatype that is opaque to
- * the caller; it could be a (FILE *) under Unix, or a (HANDLE *) under win32.
- *
- * The same file can be opened for read multiple times, and each should have
- * a unique file handle; this is frequently employed to prevent race
- * conditions in the archivers.
- *
- * Call __PHYSFS_setError() and return (NULL) if the file can't be opened.
- */
-void *__PHYSFS_platformOpenRead(const char *filename);
-
-
-/*
- * Open a file for writing. (filename) is in platform-dependent notation. If
- * the file exists, it should be truncated to zero bytes, and if it doesn't
- * exist, it should be created as a zero-byte file. The file pointer should
- * be positioned on the first byte of the file.
- *
- * The return value will be some platform-specific datatype that is opaque to
- * the caller; it could be a (FILE *) under Unix, or a (HANDLE *) under win32,
- * etc.
- *
- * Opening a file for write multiple times has undefined results.
- *
- * Call __PHYSFS_setError() and return (NULL) if the file can't be opened.
- */
-void *__PHYSFS_platformOpenWrite(const char *filename);
-
-
-/*
- * Open a file for appending. (filename) is in platform-dependent notation. If
- * the file exists, the file pointer should be place just past the end of the
- * file, so that the first write will be one byte after the current end of
- * the file. If the file doesn't exist, it should be created as a zero-byte
- * file. The file pointer should be positioned on the first byte of the file.
- *
- * The return value will be some platform-specific datatype that is opaque to
- * the caller; it could be a (FILE *) under Unix, or a (HANDLE *) under win32,
- * etc.
- *
- * Opening a file for append multiple times has undefined results.
- *
- * Call __PHYSFS_setError() and return (NULL) if the file can't be opened.
- */
-void *__PHYSFS_platformOpenAppend(const char *filename);
-
-
-/*
- * Read more data from a platform-specific file handle. (opaque) should be
- * cast to whatever data type your platform uses. Read a maximum of (count)
- * objects of (size) 8-bit bytes to the area pointed to by (buffer). If there
- * isn't enough data available, return the number of full objects read, and
- * position the file pointer at the start of the first incomplete object.
- * On success, return (count) and position the file pointer one byte past
- * the end of the last read object. Return (-1) if there is a catastrophic
- * error, and call __PHYSFS_setError() to describe the problem; the file
- * pointer should not move in such a case.
- */
-PHYSFS_sint64 __PHYSFS_platformRead(void *opaque, void *buffer,
- PHYSFS_uint32 size, PHYSFS_uint32 count);
-
-/*
- * Write more data to a platform-specific file handle. (opaque) should be
- * cast to whatever data type your platform uses. Write a maximum of (count)
- * objects of (size) 8-bit bytes from the area pointed to by (buffer). If
- * there isn't enough data available, return the number of full objects
- * written, and position the file pointer at the start of the first
- * incomplete object. Return (-1) if there is a catastrophic error, and call
- * __PHYSFS_setError() to describe the problem; the file pointer should not
- * move in such a case.
- */
-PHYSFS_sint64 __PHYSFS_platformWrite(void *opaque, const void *buffer,
- PHYSFS_uint32 size, PHYSFS_uint32 count);
-
-/*
- * Set the file pointer to a new position. (opaque) should be cast to
- * whatever data type your platform uses. (pos) specifies the number
- * of 8-bit bytes to seek to from the start of the file. Seeking past the
- * end of the file is an error condition, and you should check for it.
- *
- * Not all file types can seek; this is to be expected by the caller.
- *
- * On error, call __PHYSFS_setError() and return zero. On success, return
- * a non-zero value.
- */
-int __PHYSFS_platformSeek(void *opaque, PHYSFS_uint64 pos);
-
-
-/*
- * Get the file pointer's position, in an 8-bit byte offset from the start of
- * the file. (opaque) should be cast to whatever data type your platform
- * uses.
- *
- * Not all file types can "tell"; this is to be expected by the caller.
- *
- * On error, call __PHYSFS_setError() and return zero. On success, return
- * a non-zero value.
- */
-PHYSFS_sint64 __PHYSFS_platformTell(void *opaque);
-
-
-/*
- * Determine the current size of a file, in 8-bit bytes, from an open file.
- *
- * The caller expects that this information may not be available for all
- * file types on all platforms.
- *
- * Return -1 if you can't do it, and call __PHYSFS_setError(). Otherwise,
- * return the file length in 8-bit bytes.
- */
-PHYSFS_sint64 __PHYSFS_platformFileLength(void *handle);
-
-/*
- * Determine if a file is at EOF. (opaque) should be cast to whatever data
- * type your platform uses.
- *
- * The caller expects that there was a short read before calling this.
- *
- * Return non-zero if EOF, zero if it is _not_ EOF.
- */
-int __PHYSFS_platformEOF(void *opaque);
-
-/*
- * Flush any pending writes to disk. (opaque) should be cast to whatever data
- * type your platform uses. Be sure to check for errors; the caller expects
- * that this function can fail if there was a flushing error, etc.
- *
- * Return zero on failure, non-zero on success.
- */
-int __PHYSFS_platformFlush(void *opaque);
-
-/*
- * Flush and close a file. (opaque) should be cast to whatever data type
- * your platform uses. Be sure to check for errors when closing; the
- * caller expects that this function can fail if there was a flushing
- * error, etc.
- *
- * You should clean up all resources associated with (opaque).
- *
- * Return zero on failure, non-zero on success.
- */
-int __PHYSFS_platformClose(void *opaque);
-
-/*
- * Platform implementation of PHYSFS_getCdRomDirsCallback()...
- * CD directories are discovered and reported to the callback one at a time.
- * Pointers passed to the callback are assumed to be invalid to the
- * application after the callback returns, so you can free them or whatever.
- * Callback does not assume results will be sorted in any meaningful way.
- */
-void __PHYSFS_platformDetectAvailableCDs(PHYSFS_StringCallback cb, void *data);
-
-/*
- * Calculate the base dir, if your platform needs special consideration.
- * Just return NULL if the standard routines will suffice. (see
- * calculateBaseDir() in physfs.c ...)
- * Caller will free() the retval if it's not NULL.
- */
-char *__PHYSFS_platformCalcBaseDir(const char *argv0);
-
-/*
- * Get the platform-specific user name.
- * Caller will free() the retval if it's not NULL. If it's NULL, the username
- * will default to "default".
- */
-char *__PHYSFS_platformGetUserName(void);
-
-/*
- * Get the platform-specific user dir.
- * Caller will free() the retval if it's not NULL. If it's NULL, the userdir
- * will default to basedir/username.
- */
-char *__PHYSFS_platformGetUserDir(void);
-
-/*
- * Return a number that uniquely identifies the current thread.
- * On a platform without threading, (1) will suffice. These numbers are
- * arbitrary; the only requirement is that no two threads have the same
- * number.
- */
-PHYSFS_uint64 __PHYSFS_platformGetThreadID(void);
-
-/*
- * Return non-zero if filename (in platform-dependent notation) exists.
- * Symlinks should NOT be followed; at this stage, we do not care what the
- * symlink points to. Please call __PHYSFS_SetError() with the details of
- * why the file does not exist, if it doesn't; you are in a better position
- * to know (path not found, bogus filename, file itself is missing, etc).
- */
-int __PHYSFS_platformExists(const char *fname);
-
-/*
- * Return the last modified time (in seconds since the epoch) of a file.
- * Returns -1 on failure. (fname) is in platform-dependent notation.
- * Symlinks should be followed; if what the symlink points to is missing,
- * then the retval is -1.
- */
-PHYSFS_sint64 __PHYSFS_platformGetLastModTime(const char *fname);
-
-/*
- * Return non-zero if filename (in platform-dependent notation) is a symlink.
- */
-int __PHYSFS_platformIsSymLink(const char *fname);
-
-
-/*
- * Return non-zero if filename (in platform-dependent notation) is a symlink.
- * Symlinks should be followed; if what the symlink points to is missing,
- * or isn't a directory, then the retval is false.
- */
-int __PHYSFS_platformIsDirectory(const char *fname);
-
-
-/*
- * Convert (dirName) to platform-dependent notation, then prepend (prepend)
- * and append (append) to the converted string.
- *
- * So, on Win32, calling:
- * __PHYSFS_platformCvtToDependent("C:\", "my/files", NULL);
- * ...will return the string "C:\my\files".
- *
- * This can be implemented in a platform-specific manner, so you can get
- * get a speed boost that the default implementation can't, since
- * you can make assumptions about the size of strings, etc..
- *
- * Platforms that choose not to implement this may just call
- * __PHYSFS_convertToDependent() as a passthrough, which may fit the bill
- * already.
- *
- * Be sure to free() the return value when done with it.
- */
-char *__PHYSFS_platformCvtToDependent(const char *prepend,
- const char *dirName,
- const char *append);
-
-
-/*
- * Enumerate a directory of files. This follows the rules for the
- * PHYSFS_Archiver->enumerateFiles() method (see above), except that the
- * (dirName) that is passed to this function is converted to
- * platform-DEPENDENT notation by the caller. The PHYSFS_Archiver version
- * uses platform-independent notation. Note that ".", "..", and other
- * metaentries should always be ignored.
- */
-void __PHYSFS_platformEnumerateFiles(const char *dirname,
- int omitSymLinks,
- PHYSFS_EnumFilesCallback callback,
- const char *origdir,
- void *callbackdata);
-
-
-/*
- * Get the current working directory. The return value should be an
- * absolute path in platform-dependent notation. The caller will deallocate
- * the return value with the standard C runtime free() function when it
- * is done with it.
- * On error, return NULL and set the error message.
- */
-char *__PHYSFS_platformCurrentDir(void);
-
-
-/*
- * Get the real physical path to a file. (path) is specified in
- * platform-dependent notation, as should your return value be.
- * All relative paths should be removed, leaving you with an absolute
- * path. Symlinks should be resolved, too, so that the returned value is
- * the most direct path to a file.
- * The return value will be deallocated with the standard C runtime free()
- * function when the caller is done with it.
- * On error, return NULL and set the error message.
- */
-char *__PHYSFS_platformRealPath(const char *path);
-
-
-/*
- * Make a directory in the actual filesystem. (path) is specified in
- * platform-dependent notation. On error, return zero and set the error
- * message. Return non-zero on success.
- */
-int __PHYSFS_platformMkDir(const char *path);
-
-
-/*
- * Remove a file or directory entry in the actual filesystem. (path) is
- * specified in platform-dependent notation. Note that this deletes files
- * _and_ directories, so you might need to do some determination.
- * Non-empty directories should report an error and not delete themselves
- * or their contents.
- *
- * Deleting a symlink should remove the link, not what it points to.
- *
- * On error, return zero and set the error message. Return non-zero on success.
- */
-int __PHYSFS_platformDelete(const char *path);
-
-
-/*
- * Create a platform-specific mutex. This can be whatever datatype your
- * platform uses for mutexes, but it is cast to a (void *) for abstractness.
- *
- * Return (NULL) if you couldn't create one. Systems without threads can
- * return any arbitrary non-NULL value.
- */
-void *__PHYSFS_platformCreateMutex(void);
-
-/*
- * Destroy a platform-specific mutex, and clean up any resources associated
- * with it. (mutex) is a value previously returned by
- * __PHYSFS_platformCreateMutex(). This can be a no-op on single-threaded
- * platforms.
- */
-void __PHYSFS_platformDestroyMutex(void *mutex);
-
-/*
- * Grab possession of a platform-specific mutex. Mutexes should be recursive;
- * that is, the same thread should be able to call this function multiple
- * times in a row without causing a deadlock. This function should block
- * until a thread can gain possession of the mutex.
- *
- * Return non-zero if the mutex was grabbed, zero if there was an
- * unrecoverable problem grabbing it (this should not be a matter of
- * timing out! We're talking major system errors; block until the mutex
- * is available otherwise.)
- *
- * _DO NOT_ call __PHYSFS_setError() in here! Since setError calls this
- * function, you'll cause an infinite recursion. This means you can't
- * use the BAIL_*MACRO* macros, either.
- */
-int __PHYSFS_platformGrabMutex(void *mutex);
-
-/*
- * Relinquish possession of the mutex when this method has been called
- * once for each time that platformGrabMutex was called. Once possession has
- * been released, the next thread in line to grab the mutex (if any) may
- * proceed.
- *
- * _DO NOT_ call __PHYSFS_setError() in here! Since setError calls this
- * function, you'll cause an infinite recursion. This means you can't
- * use the BAIL_*MACRO* macros, either.
- */
-void __PHYSFS_platformReleaseMutex(void *mutex);
-
-/*
- * Called at the start of PHYSFS_init() to prepare the allocator, if the user
- * hasn't selected their own allocator via PHYSFS_setAllocator().
- * If the platform has a custom allocator, it should fill in the fields of
- * (a) with the proper function pointers and return non-zero.
- * If the platform just wants to use malloc()/free()/etc, return zero
- * immediately and the higher level will handle it. The Init and Deinit
- * fields of (a) are optional...set them to NULL if you don't need them.
- * Everything else must be implemented. All rules follow those for
- * PHYSFS_setAllocator(). If Init isn't NULL, it will be called shortly
- * after this function returns non-zero.
- */
-int __PHYSFS_platformSetDefaultAllocator(PHYSFS_Allocator *a);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/* end of physfs_internal.h ... */
-
diff --git a/Frameworks/physfs.framework/Versions/A/Headers/.svn/text-base/physfs_platforms.h.svn-base b/Frameworks/physfs.framework/Versions/A/Headers/.svn/text-base/physfs_platforms.h.svn-base
deleted file mode 100644
index 9f95a890..00000000
--- a/Frameworks/physfs.framework/Versions/A/Headers/.svn/text-base/physfs_platforms.h.svn-base
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef _INCL_PHYSFS_PLATFORMS
-#define _INCL_PHYSFS_PLATFORMS
-
-#ifndef __PHYSICSFS_INTERNAL__
-#error Do not include this header from your applications.
-#endif
-
-/*
- * These only define the platforms to determine which files in the platforms
- * directory should be compiled. For example, technically BeOS can be called
- * a "unix" system, but since it doesn't use unix.c, we don't define
- * PHYSFS_PLATFORM_UNIX on that system.
- */
-
-#if ((defined __BEOS__) || (defined __beos__))
-# define PHYSFS_PLATFORM_BEOS
-# define PHYSFS_PLATFORM_POSIX
-#elif (defined _WIN32_WCE) || (defined _WIN64_WCE)
-# define PHYSFS_PLATFORM_POCKETPC
-#elif (((defined _WIN32) || (defined _WIN64)) && (!defined __CYGWIN__))
-# define PHYSFS_PLATFORM_WINDOWS
-#elif (defined OS2)
-# define PHYSFS_PLATFORM_OS2
-#elif ((defined __MACH__) && (defined __APPLE__))
-# define PHYSFS_PLATFORM_MACOSX
-# define PHYSFS_PLATFORM_POSIX
-#elif defined(macintosh)
-# error Classic Mac OS support was dropped from PhysicsFS 2.0. Move to OS X.
-#elif defined(unix)
-# define PHYSFS_PLATFORM_UNIX
-# define PHYSFS_PLATFORM_POSIX
-#else
-# error Unknown platform.
-#endif
-
-#endif /* include-once blocker. */
-
diff --git a/Frameworks/physfs.framework/Versions/A/Headers/physfs.h b/Frameworks/physfs.framework/Versions/A/Headers/physfs.h
deleted file mode 100644
index 90386325..00000000
--- a/Frameworks/physfs.framework/Versions/A/Headers/physfs.h
+++ /dev/null
@@ -1,2390 +0,0 @@
-/** \file physfs.h */
-
-/**
- * \mainpage PhysicsFS
- *
- * The latest version of PhysicsFS can be found at:
- * http://icculus.org/physfs/
- *
- * PhysicsFS; a portable, flexible file i/o abstraction.
- *
- * This API gives you access to a system file system in ways superior to the
- * stdio or system i/o calls. The brief benefits:
- *
- * - It's portable.
- * - It's safe. No file access is permitted outside the specified dirs.
- * - It's flexible. Archives (.ZIP files) can be used transparently as
- * directory structures.
- *
- * This system is largely inspired by Quake 3's PK3 files and the related
- * fs_* cvars. If you've ever tinkered with these, then this API will be
- * familiar to you.
- *
- * With PhysicsFS, you have a single writing directory and multiple
- * directories (the "search path") for reading. You can think of this as a
- * filesystem within a filesystem. If (on Windows) you were to set the
- * writing directory to "C:\MyGame\MyWritingDirectory", then no PHYSFS calls
- * could touch anything above this directory, including the "C:\MyGame" and
- * "C:\" directories. This prevents an application's internal scripting
- * language from piddling over c:\\config.sys, for example. If you'd rather
- * give PHYSFS full access to the system's REAL file system, set the writing
- * dir to "C:\", but that's generally A Bad Thing for several reasons.
- *
- * Drive letters are hidden in PhysicsFS once you set up your initial paths.
- * The search path creates a single, hierarchical directory structure.
- * Not only does this lend itself well to general abstraction with archives,
- * it also gives better support to operating systems like MacOS and Unix.
- * Generally speaking, you shouldn't ever hardcode a drive letter; not only
- * does this hurt portability to non-Microsoft OSes, but it limits your win32
- * users to a single drive, too. Use the PhysicsFS abstraction functions and
- * allow user-defined configuration options, too. When opening a file, you
- * specify it like it was on a Unix filesystem: if you want to write to
- * "C:\MyGame\MyConfigFiles\game.cfg", then you might set the write dir to
- * "C:\MyGame" and then open "MyConfigFiles/game.cfg". This gives an
- * abstraction across all platforms. Specifying a file in this way is termed
- * "platform-independent notation" in this documentation. Specifying a
- * a filename in a form such as "C:\mydir\myfile" or
- * "MacOS hard drive:My Directory:My File" is termed "platform-dependent
- * notation". The only time you use platform-dependent notation is when
- * setting up your write directory and search path; after that, all file
- * access into those directories are done with platform-independent notation.
- *
- * All files opened for writing are opened in relation to the write directory,
- * which is the root of the writable filesystem. When opening a file for
- * reading, PhysicsFS goes through the search path. This is NOT the
- * same thing as the PATH environment variable. An application using
- * PhysicsFS specifies directories to be searched which may be actual
- * directories, or archive files that contain files and subdirectories of
- * their own. See the end of these docs for currently supported archive
- * formats.
- *
- * Once the search path is defined, you may open files for reading. If you've
- * got the following search path defined (to use a win32 example again):
- *
- * - C:\\mygame
- * - C:\\mygame\\myuserfiles
- * - D:\\mygamescdromdatafiles
- * - C:\\mygame\\installeddatafiles.zip
- *
- * Then a call to PHYSFS_openRead("textfiles/myfile.txt") (note the directory
- * separator, lack of drive letter, and lack of dir separator at the start of
- * the string; this is platform-independent notation) will check for
- * C:\\mygame\\textfiles\\myfile.txt, then
- * C:\\mygame\\myuserfiles\\textfiles\\myfile.txt, then
- * D:\\mygamescdromdatafiles\\textfiles\\myfile.txt, then, finally, for
- * textfiles\\myfile.txt inside of C:\\mygame\\installeddatafiles.zip.
- * Remember that most archive types and platform filesystems store their
- * filenames in a case-sensitive manner, so you should be careful to specify
- * it correctly.
- *
- * Files opened through PhysicsFS may NOT contain "." or ".." or ":" as dir
- * elements. Not only are these meaningless on MacOS Classic and/or Unix,
- * they are a security hole. Also, symbolic links (which can be found in
- * some archive types and directly in the filesystem on Unix platforms) are
- * NOT followed until you call PHYSFS_permitSymbolicLinks(). That's left to
- * your own discretion, as following a symlink can allow for access outside
- * the write dir and search paths. For portability, there is no mechanism for
- * creating new symlinks in PhysicsFS.
- *
- * The write dir is not included in the search path unless you specifically
- * add it. While you CAN change the write dir as many times as you like,
- * you should probably set it once and stick to it. Remember that your
- * program will not have permission to write in every directory on Unix and
- * NT systems.
- *
- * All files are opened in binary mode; there is no endline conversion for
- * textfiles. Other than that, PhysicsFS has some convenience functions for
- * platform-independence. There is a function to tell you the current
- * platform's dir separator ("\\" on windows, "/" on Unix, ":" on MacOS),
- * which is needed only to set up your search/write paths. There is a
- * function to tell you what CD-ROM drives contain accessible discs, and a
- * function to recommend a good search path, etc.
- *
- * A recommended order for the search path is the write dir, then the base dir,
- * then the cdrom dir, then any archives discovered. Quake 3 does something
- * like this, but moves the archives to the start of the search path. Build
- * Engine games, like Duke Nukem 3D and Blood, place the archives last, and
- * use the base dir for both searching and writing. There is a helper
- * function (PHYSFS_setSaneConfig()) that puts together a basic configuration
- * for you, based on a few parameters. Also see the comments on
- * PHYSFS_getBaseDir(), and PHYSFS_getUserDir() for info on what those
- * are and how they can help you determine an optimal search path.
- *
- * PhysicsFS 2.0 adds the concept of "mounting" archives to arbitrary points
- * in the search path. If a zipfile contains "maps/level.map" and you mount
- * that archive at "mods/mymod", then you would have to open
- * "mods/mymod/maps/level.map" to access the file, even though "mods/mymod"
- * isn't actually specified in the .zip file. Unlike the Unix mentality of
- * mounting a filesystem, "mods/mymod" doesn't actually have to exist when
- * mounting the zipfile. It's a "virtual" directory. The mounting mechanism
- * allows the developer to seperate archives in the tree and avoid trampling
- * over files when added new archives, such as including mod support in a
- * game...keeping external content on a tight leash in this manner can be of
- * utmost importance to some applications.
- *
- * PhysicsFS is mostly thread safe. The error messages returned by
- * PHYSFS_getLastError are unique by thread, and library-state-setting
- * functions are mutex'd. For efficiency, individual file accesses are
- * not locked, so you can not safely read/write/seek/close/etc the same
- * file from two threads at the same time. Other race conditions are bugs
- * that should be reported/patched.
- *
- * While you CAN use stdio/syscall file access in a program that has PHYSFS_*
- * calls, doing so is not recommended, and you can not use system
- * filehandles with PhysicsFS and vice versa.
- *
- * Note that archives need not be named as such: if you have a ZIP file and
- * rename it with a .PKG extension, the file will still be recognized as a
- * ZIP archive by PhysicsFS; the file's contents are used to determine its
- * type where possible.
- *
- * Currently supported archive types:
- * - .ZIP (pkZip/WinZip/Info-ZIP compatible)
- * - .GRP (Build Engine groupfile archives)
- * - .PAK (Quake I/II archive format)
- * - .HOG (Descent I/II HOG file archives)
- * - .MVL (Descent II movielib archives)
- * - .WAD (DOOM engine archives)
- *
- *
- * String policy for PhysicsFS 2.0 and later:
- *
- * PhysicsFS 1.0 could only deal with null-terminated ASCII strings. All high
- * ASCII chars resulted in undefined behaviour, and there was no Unicode
- * support at all. PhysicsFS 2.0 supports Unicode without breaking binary
- * compatibility with the 1.0 API by using UTF-8 encoding of all strings
- * passed in and out of the library.
- *
- * All strings passed through PhysicsFS are in null-terminated UTF-8 format.
- * This means that if all you care about is English (ASCII characters <= 127)
- * then you just use regular C strings. If you care about Unicode (and you
- * should!) then you need to figure out what your platform wants, needs, and
- * offers. If you are on Windows and build with Unicode support, your TCHAR
- * strings are two bytes per character (this is called "UCS-2 encoding"). You
- * should convert them to UTF-8 before handing them to PhysicsFS with
- * PHYSFS_utf8FromUcs2(). If you're using Unix or Mac OS X, your wchar_t
- * strings are four bytes per character ("UCS-4 encoding"). Use
- * PHYSFS_utf8FromUcs4(). Mac OS X can give you UTF-8 directly from a
- * CFString, and many Unixes generally give you C strings in UTF-8 format
- * everywhere. If you have a single-byte high ASCII charset, like so-many
- * European "codepages" you may be out of luck. We'll convert from "Latin1"
- * to UTF-8 only, and never back to Latin1. If you're above ASCII 127, all
- * bets are off: move to Unicode or use your platform's facilities. Passing a
- * C string with high-ASCII data that isn't UTF-8 encoded will NOT do what
- * you expect!
- *
- * Naturally, there's also PHYSFS_utf8ToUcs2() and PHYSFS_utf8ToUcs4() to get
- * data back into a format you like. Behind the scenes, PhysicsFS will use
- * Unicode where possible: the UTF-8 strings on Windows will be converted
- * and used with the multibyte Windows APIs, for example.
- *
- * PhysicsFS offers basic encoding conversion support, but not a whole string
- * library. Get your stuff into whatever format you can work with.
- *
- * Some platforms and archivers don't offer full Unicode support behind the
- * scenes. For example, OS/2 only offers "codepages" and the filesystem
- * itself doesn't support multibyte encodings. We make an earnest effort to
- * convert to/from the current locale here, but all bets are off if
- * you want to hand an arbitrary Japanese character through to these systems.
- * Modern OSes (Mac OS X, Linux, Windows, PocketPC, etc) should all be fine.
- * Many game-specific archivers are seriously unprepared for Unicode (the
- * Descent HOG/MVL and Build Engine GRP archivers, for example, only offer a
- * DOS 8.3 filename, for example). Nothing can be done for these, but they
- * tend to be legacy formats for existing content that was all ASCII (and
- * thus, valid UTF-8) anyhow. Other formats, like .ZIP, don't explicitly
- * offer Unicode support, but unofficially expect filenames to be UTF-8
- * encoded, and thus Just Work. Most everything does the right thing without
- * bothering you, but it's good to be aware of these nuances in case they
- * don't.
- *
- *
- * Other stuff:
- *
- * Please see the file LICENSE.txt in the source's root directory for licensing
- * and redistribution rights.
- *
- * Please see the file CREDITS.txt in the source's root directory for a more or
- * less complete list of who's responsible for this.
- *
- * \author Ryan C. Gordon.
- */
-
-#ifndef _INCLUDE_PHYSFS_H_
-#define _INCLUDE_PHYSFS_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef DOXYGEN_SHOULD_IGNORE_THIS
-#if (defined _MSC_VER)
-#define __EXPORT__ __declspec(dllexport)
-#elif (__GNUC__ >= 3)
-#define __EXPORT__ __attribute__((visibility("default")))
-#else
-#define __EXPORT__
-#endif
-#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
-
-/**
- * \typedef PHYSFS_uint8
- * \brief An unsigned, 8-bit integer type.
- */
-typedef unsigned char PHYSFS_uint8;
-
-/**
- * \typedef PHYSFS_sint8
- * \brief A signed, 8-bit integer type.
- */
-typedef signed char PHYSFS_sint8;
-
-/**
- * \typedef PHYSFS_uint16
- * \brief An unsigned, 16-bit integer type.
- */
-typedef unsigned short PHYSFS_uint16;
-
-/**
- * \typedef PHYSFS_sint16
- * \brief A signed, 16-bit integer type.
- */
-typedef signed short PHYSFS_sint16;
-
-/**
- * \typedef PHYSFS_uint32
- * \brief An unsigned, 32-bit integer type.
- */
-typedef unsigned int PHYSFS_uint32;
-
-/**
- * \typedef PHYSFS_sint32
- * \brief A signed, 32-bit integer type.
- */
-typedef signed int PHYSFS_sint32;
-
-/**
- * \typedef PHYSFS_uint64
- * \brief An unsigned, 64-bit integer type.
- * \warning on platforms without any sort of 64-bit datatype, this is
- * equivalent to PHYSFS_uint32!
- */
-
-/**
- * \typedef PHYSFS_sint64
- * \brief A signed, 64-bit integer type.
- * \warning on platforms without any sort of 64-bit datatype, this is
- * equivalent to PHYSFS_sint32!
- */
-
-
-#if (defined PHYSFS_NO_64BIT_SUPPORT) /* oh well. */
-typedef PHYSFS_uint32 PHYSFS_uint64;
-typedef PHYSFS_sint32 PHYSFS_sint64;
-#elif (defined _MSC_VER)
-typedef signed __int64 PHYSFS_sint64;
-typedef unsigned __int64 PHYSFS_uint64;
-#else
-typedef unsigned long long PHYSFS_uint64;
-typedef signed long long PHYSFS_sint64;
-#endif
-
-
-#ifndef DOXYGEN_SHOULD_IGNORE_THIS
-/* Make sure the types really have the right sizes */
-#define PHYSFS_COMPILE_TIME_ASSERT(name, x) \
- typedef int PHYSFS_dummy_ ## name[(x) * 2 - 1]
-
-PHYSFS_COMPILE_TIME_ASSERT(uint8, sizeof(PHYSFS_uint8) == 1);
-PHYSFS_COMPILE_TIME_ASSERT(sint8, sizeof(PHYSFS_sint8) == 1);
-PHYSFS_COMPILE_TIME_ASSERT(uint16, sizeof(PHYSFS_uint16) == 2);
-PHYSFS_COMPILE_TIME_ASSERT(sint16, sizeof(PHYSFS_sint16) == 2);
-PHYSFS_COMPILE_TIME_ASSERT(uint32, sizeof(PHYSFS_uint32) == 4);
-PHYSFS_COMPILE_TIME_ASSERT(sint32, sizeof(PHYSFS_sint32) == 4);
-
-#ifndef PHYSFS_NO_64BIT_SUPPORT
-PHYSFS_COMPILE_TIME_ASSERT(uint64, sizeof(PHYSFS_uint64) == 8);
-PHYSFS_COMPILE_TIME_ASSERT(sint64, sizeof(PHYSFS_sint64) == 8);
-#endif
-
-#undef PHYSFS_COMPILE_TIME_ASSERT
-
-#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
-
-
-/**
- * \struct PHYSFS_File
- * \brief A PhysicsFS file handle.
- *
- * You get a pointer to one of these when you open a file for reading,
- * writing, or appending via PhysicsFS.
- *
- * As you can see from the lack of meaningful fields, you should treat this
- * as opaque data. Don't try to manipulate the file handle, just pass the
- * pointer you got, unmolested, to various PhysicsFS APIs.
- *
- * \sa PHYSFS_openRead
- * \sa PHYSFS_openWrite
- * \sa PHYSFS_openAppend
- * \sa PHYSFS_close
- * \sa PHYSFS_read
- * \sa PHYSFS_write
- * \sa PHYSFS_seek
- * \sa PHYSFS_tell
- * \sa PHYSFS_eof
- * \sa PHYSFS_setBuffer
- * \sa PHYSFS_flush
- */
-typedef struct
-{
- void *opaque; /**< That's all you get. Don't touch. */
-} PHYSFS_File;
-
-
-/**
- * \def PHYSFS_file
- * \brief 1.0 API compatibility define.
- *
- * PHYSFS_file is identical to PHYSFS_File. This #define is here for backwards
- * compatibility with the 1.0 API, which had an inconsistent capitalization
- * convention in this case. New code should use PHYSFS_File, as this #define
- * may go away someday.
- *
- * \sa PHYSFS_File
- */
-#define PHYSFS_file PHYSFS_File
-
-
-/**
- * \struct PHYSFS_ArchiveInfo
- * \brief Information on various PhysicsFS-supported archives.
- *
- * This structure gives you details on what sort of archives are supported
- * by this implementation of PhysicsFS. Archives tend to be things like
- * ZIP files and such.
- *
- * \warning Not all binaries are created equal! PhysicsFS can be built with
- * or without support for various archives. You can check with
- * PHYSFS_supportedArchiveTypes() to see if your archive type is
- * supported.
- *
- * \sa PHYSFS_supportedArchiveTypes
- */
-typedef struct
-{
- const char *extension; /**< Archive file extension: "ZIP", for example. */
- const char *description; /**< Human-readable archive description. */
- const char *author; /**< Person who did support for this archive. */
- const char *url; /**< URL related to this archive */
-} PHYSFS_ArchiveInfo;
-
-
-/**
- * \struct PHYSFS_Version
- * \brief Information the version of PhysicsFS in use.
- *
- * Represents the library's version as three levels: major revision
- * (increments with massive changes, additions, and enhancements),
- * minor revision (increments with backwards-compatible changes to the
- * major revision), and patchlevel (increments with fixes to the minor
- * revision).
- *
- * \sa PHYSFS_VERSION
- * \sa PHYSFS_getLinkedVersion
- */
-typedef struct
-{
- PHYSFS_uint8 major; /**< major revision */
- PHYSFS_uint8 minor; /**< minor revision */
- PHYSFS_uint8 patch; /**< patchlevel */
-} PHYSFS_Version;
-
-#ifndef DOXYGEN_SHOULD_IGNORE_THIS
-#define PHYSFS_VER_MAJOR 1
-#define PHYSFS_VER_MINOR 1
-#define PHYSFS_VER_PATCH 1
-#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
-
-
-/* PhysicsFS state stuff ... */
-
-/**
- * \def PHYSFS_VERSION(x)
- * \brief Macro to determine PhysicsFS version program was compiled against.
- *
- * This macro fills in a PHYSFS_Version structure with the version of the
- * library you compiled against. This is determined by what header the
- * compiler uses. Note that if you dynamically linked the library, you might
- * have a slightly newer or older version at runtime. That version can be
- * determined with PHYSFS_getLinkedVersion(), which, unlike PHYSFS_VERSION,
- * is not a macro.
- *
- * \param x A pointer to a PHYSFS_Version struct to initialize.
- *
- * \sa PHYSFS_Version
- * \sa PHYSFS_getLinkedVersion
- */
-#define PHYSFS_VERSION(x) \
-{ \
- (x)->major = PHYSFS_VER_MAJOR; \
- (x)->minor = PHYSFS_VER_MINOR; \
- (x)->patch = PHYSFS_VER_PATCH; \
-}
-
-
-/**
- * \fn void PHYSFS_getLinkedVersion(PHYSFS_Version *ver)
- * \brief Get the version of PhysicsFS that is linked against your program.
- *
- * If you are using a shared library (DLL) version of PhysFS, then it is
- * possible that it will be different than the version you compiled against.
- *
- * This is a real function; the macro PHYSFS_VERSION tells you what version
- * of PhysFS you compiled against:
- *
- * \code
- * PHYSFS_Version compiled;
- * PHYSFS_Version linked;
- *
- * PHYSFS_VERSION(&compiled);
- * PHYSFS_getLinkedVersion(&linked);
- * printf("We compiled against PhysFS version %d.%d.%d ...\n",
- * compiled.major, compiled.minor, compiled.patch);
- * printf("But we linked against PhysFS version %d.%d.%d.\n",
- * linked.major, linked.minor, linked.patch);
- * \endcode
- *
- * This function may be called safely at any time, even before PHYSFS_init().
- *
- * \sa PHYSFS_VERSION
- */
-__EXPORT__ void PHYSFS_getLinkedVersion(PHYSFS_Version *ver);
-
-
-/**
- * \fn int PHYSFS_init(const char *argv0)
- * \brief Initialize the PhysicsFS library.
- *
- * This must be called before any other PhysicsFS function.
- *
- * This should be called prior to any attempts to change your process's
- * current working directory.
- *
- * \param argv0 the argv[0] string passed to your program's mainline.
- * This may be NULL on most platforms (such as ones without a
- * standard main() function), but you should always try to pass
- * something in here. Unix-like systems such as Linux _need_ to
- * pass argv[0] from main() in here.
- * \return nonzero on success, zero on error. Specifics of the error can be
- * gleaned from PHYSFS_getLastError().
- *
- * \sa PHYSFS_deinit
- * \sa PHYSFS_isInit
- */
-__EXPORT__ int PHYSFS_init(const char *argv0);
-
-
-/**
- * \fn int PHYSFS_deinit(void)
- * \brief Deinitialize the PhysicsFS library.
- *
- * This closes any files opened via PhysicsFS, blanks the search/write paths,
- * frees memory, and invalidates all of your file handles.
- *
- * Note that this call can FAIL if there's a file open for writing that
- * refuses to close (for example, the underlying operating system was
- * buffering writes to network filesystem, and the fileserver has crashed,
- * or a hard drive has failed, etc). It is usually best to close all write
- * handles yourself before calling this function, so that you can gracefully
- * handle a specific failure.
- *
- * Once successfully deinitialized, PHYSFS_init() can be called again to
- * restart the subsystem. All defaults API states are restored at this
- * point.
- *
- * \return nonzero on success, zero on error. Specifics of the error can be
- * gleaned from PHYSFS_getLastError(). If failure, state of PhysFS is
- * undefined, and probably badly screwed up.
- *
- * \sa PHYSFS_init
- * \sa PHYSFS_isInit
- */
-__EXPORT__ int PHYSFS_deinit(void);
-
-
-/**
- * \fn const PHYSFS_ArchiveInfo **PHYSFS_supportedArchiveTypes(void)
- * \brief Get a list of supported archive types.
- *
- * Get a list of archive types supported by this implementation of PhysicFS.
- * These are the file formats usable for search path entries. This is for
- * informational purposes only. Note that the extension listed is merely
- * convention: if we list "ZIP", you can open a PkZip-compatible archive
- * with an extension of "XYZ", if you like.
- *
- * The returned value is an array of pointers to PHYSFS_ArchiveInfo structures,
- * with a NULL entry to signify the end of the list:
- *
- * \code
- * PHYSFS_ArchiveInfo **i;
- *
- * for (i = PHYSFS_supportedArchiveTypes(); *i != NULL; i++)
- * {
- * printf("Supported archive: [%s], which is [%s].\n",
- * i->extension, i->description);
- * }
- * \endcode
- *
- * The return values are pointers to static internal memory, and should
- * be considered READ ONLY, and never freed.
- *
- * \return READ ONLY Null-terminated array of READ ONLY structures.
- */
-__EXPORT__ const PHYSFS_ArchiveInfo **PHYSFS_supportedArchiveTypes(void);
-
-
-/**
- * \fn void PHYSFS_freeList(void *listVar)
- * \brief Deallocate resources of lists returned by PhysicsFS.
- *
- * Certain PhysicsFS functions return lists of information that are
- * dynamically allocated. Use this function to free those resources.
- *
- * \param listVar List of information specified as freeable by this function.
- *
- * \sa PHYSFS_getCdRomDirs
- * \sa PHYSFS_enumerateFiles
- * \sa PHYSFS_getSearchPath
- */
-__EXPORT__ void PHYSFS_freeList(void *listVar);
-
-
-/**
- * \fn const char *PHYSFS_getLastError(void)
- * \brief Get human-readable error information.
- *
- * Get the last PhysicsFS error message as a human-readable, null-terminated
- * string. This will be NULL if there's been no error since the last call to
- * this function. The pointer returned by this call points to an internal
- * buffer. Each thread has a unique error state associated with it, but each
- * time a new error message is set, it will overwrite the previous one
- * associated with that thread. It is safe to call this function at anytime,
- * even before PHYSFS_init().
- *
- * It is not wise to expect a specific string of characters here, since the
- * error message may be localized into an unfamiliar language. These strings
- * are meant to be passed on directly to the user.
- *
- * \return READ ONLY string of last error message.
- */
-__EXPORT__ const char *PHYSFS_getLastError(void);
-
-
-/**
- * \fn const char *PHYSFS_getDirSeparator(void)
- * \brief Get platform-dependent dir separator string.
- *
- * This returns "\\" on win32, "/" on Unix, and ":" on MacOS. It may be more
- * than one character, depending on the platform, and your code should take
- * that into account. Note that this is only useful for setting up the
- * search/write paths, since access into those dirs always use '/'
- * (platform-independent notation) to separate directories. This is also
- * handy for getting platform-independent access when using stdio calls.
- *
- * \return READ ONLY null-terminated string of platform's dir separator.
- */
-__EXPORT__ const char *PHYSFS_getDirSeparator(void);
-
-
-/**
- * \fn void PHYSFS_permitSymbolicLinks(int allow)
- * \brief Enable or disable following of symbolic links.
- *
- * Some physical filesystems and archives contain files that are just pointers
- * to other files. On the physical filesystem, opening such a link will
- * (transparently) open the file that is pointed to.
- *
- * By default, PhysicsFS will check if a file is really a symlink during open
- * calls and fail if it is. Otherwise, the link could take you outside the
- * write and search paths, and compromise security.
- *
- * If you want to take that risk, call this function with a non-zero parameter.
- * Note that this is more for sandboxing a program's scripting language, in
- * case untrusted scripts try to compromise the system. Generally speaking,
- * a user could very well have a legitimate reason to set up a symlink, so
- * unless you feel there's a specific danger in allowing them, you should
- * permit them.
- *
- * Symlinks are only explicitly checked when dealing with filenames
- * in platform-independent notation. That is, when setting up your
- * search and write paths, etc, symlinks are never checked for.
- *
- * Symbolic link permission can be enabled or disabled at any time after
- * you've called PHYSFS_init(), and is disabled by default.
- *
- * \param allow nonzero to permit symlinks, zero to deny linking.
- *
- * \sa PHYSFS_symbolicLinksPermitted
- */
-__EXPORT__ void PHYSFS_permitSymbolicLinks(int allow);
-
-
-/* !!! FIXME: const this? */
-/**
- * \fn char **PHYSFS_getCdRomDirs(void)
- * \brief Get an array of paths to available CD-ROM drives.
- *
- * The dirs returned are platform-dependent ("D:\" on Win32, "/cdrom" or
- * whatnot on Unix). Dirs are only returned if there is a disc ready and
- * accessible in the drive. So if you've got two drives (D: and E:), and only
- * E: has a disc in it, then that's all you get. If the user inserts a disc
- * in D: and you call this function again, you get both drives. If, on a
- * Unix box, the user unmounts a disc and remounts it elsewhere, the next
- * call to this function will reflect that change.
- *
- * This function refers to "CD-ROM" media, but it really means "inserted disc
- * media," such as DVD-ROM, HD-DVD, CDRW, and Blu-Ray discs. It looks for
- * filesystems, and as such won't report an audio CD, unless there's a
- * mounted filesystem track on it.
- *
- * The returned value is an array of strings, with a NULL entry to signify the
- * end of the list:
- *
- * \code
- * char **cds = PHYSFS_getCdRomDirs();
- * char **i;
- *
- * for (i = cds; *i != NULL; i++)
- * printf("cdrom dir [%s] is available.\n", *i);
- *
- * PHYSFS_freeList(cds);
- * \endcode
- *
- * This call may block while drives spin up. Be forewarned.
- *
- * When you are done with the returned information, you may dispose of the
- * resources by calling PHYSFS_freeList() with the returned pointer.
- *
- * \return Null-terminated array of null-terminated strings.
- *
- * \sa PHYSFS_getCdRomDirsCallback
- */
-__EXPORT__ char **PHYSFS_getCdRomDirs(void);
-
-
-/**
- * \fn const char *PHYSFS_getBaseDir(void)
- * \brief Get the path where the application resides.
- *
- * Helper function.
- *
- * Get the "base dir". This is the directory where the application was run
- * from, which is probably the installation directory, and may or may not
- * be the process's current working directory.
- *
- * You should probably use the base dir in your search path.
- *
- * \return READ ONLY string of base dir in platform-dependent notation.
- *
- * \sa PHYSFS_getUserDir
- */
-__EXPORT__ const char *PHYSFS_getBaseDir(void);
-
-
-/**
- * \fn const char *PHYSFS_getUserDir(void)
- * \brief Get the path where user's home directory resides.
- *
- * Helper function.
- *
- * Get the "user dir". This is meant to be a suggestion of where a specific
- * user of the system can store files. On Unix, this is her home directory.
- * On systems with no concept of multiple home directories (MacOS, win95),
- * this will default to something like "C:\mybasedir\users\username"
- * where "username" will either be the login name, or "default" if the
- * platform doesn't support multiple users, either.
- *
- * You should probably use the user dir as the basis for your write dir, and
- * also put it near the beginning of your search path.
- *
- * \return READ ONLY string of user dir in platform-dependent notation.
- *
- * \sa PHYSFS_getBaseDir
- */
-__EXPORT__ const char *PHYSFS_getUserDir(void);
-
-
-/**
- * \fn const char *PHYSFS_getWriteDir(void)
- * \brief Get path where PhysicsFS will allow file writing.
- *
- * Get the current write dir. The default write dir is NULL.
- *
- * \return READ ONLY string of write dir in platform-dependent notation,
- * OR NULL IF NO WRITE PATH IS CURRENTLY SET.
- *
- * \sa PHYSFS_setWriteDir
- */
-__EXPORT__ const char *PHYSFS_getWriteDir(void);
-
-
-/**
- * \fn int PHYSFS_setWriteDir(const char *newDir)
- * \brief Tell PhysicsFS where it may write files.
- *
- * Set a new write dir. This will override the previous setting.
- *
- * This call will fail (and fail to change the write dir) if the current
- * write dir still has files open in it.
- *
- * \param newDir The new directory to be the root of the write dir,
- * specified in platform-dependent notation. Setting to NULL
- * disables the write dir, so no files can be opened for
- * writing via PhysicsFS.
- * \return non-zero on success, zero on failure. All attempts to open a file
- * for writing via PhysicsFS will fail until this call succeeds.
- * Specifics of the error can be gleaned from PHYSFS_getLastError().
- *
- * \sa PHYSFS_getWriteDir
- */
-__EXPORT__ int PHYSFS_setWriteDir(const char *newDir);
-
-
-/**
- * \fn int PHYSFS_addToSearchPath(const char *newDir, int appendToPath)
- * \brief Add an archive or directory to the search path.
- *
- * This is a legacy call in PhysicsFS 2.0, equivalent to:
- * PHYSFS_mount(newDir, NULL, appendToPath);
- *
- * You must use this and not PHYSFS_mount if binary compatibility with
- * PhysicsFS 1.0 is important (which it may not be for many people).
- *
- * \sa PHYSFS_mount
- * \sa PHYSFS_removeFromSearchPath
- * \sa PHYSFS_getSearchPath
- */
-__EXPORT__ int PHYSFS_addToSearchPath(const char *newDir, int appendToPath);
-
-
-/**
- * \fn int PHYSFS_removeFromSearchPath(const char *oldDir)
- * \brief Remove a directory or archive from the search path.
- *
- * This must be a (case-sensitive) match to a dir or archive already in the
- * search path, specified in platform-dependent notation.
- *
- * This call will fail (and fail to remove from the path) if the element still
- * has files open in it.
- *
- * \param oldDir dir/archive to remove.
- * \return nonzero on success, zero on failure.
- * Specifics of the error can be gleaned from PHYSFS_getLastError().
- *
- * \sa PHYSFS_addToSearchPath
- * \sa PHYSFS_getSearchPath
- */
-__EXPORT__ int PHYSFS_removeFromSearchPath(const char *oldDir);
-
-
-/**
- * \fn char **PHYSFS_getSearchPath(void)
- * \brief Get the current search path.
- *
- * The default search path is an empty list.
- *
- * The returned value is an array of strings, with a NULL entry to signify the
- * end of the list:
- *
- * \code
- * char **i;
- *
- * for (i = PHYSFS_getSearchPath(); *i != NULL; i++)
- * printf("[%s] is in the search path.\n", *i);
- * \endcode
- *
- * When you are done with the returned information, you may dispose of the
- * resources by calling PHYSFS_freeList() with the returned pointer.
- *
- * \return Null-terminated array of null-terminated strings. NULL if there
- * was a problem (read: OUT OF MEMORY).
- *
- * \sa PHYSFS_getSearchPathCallback
- * \sa PHYSFS_addToSearchPath
- * \sa PHYSFS_removeFromSearchPath
- */
-__EXPORT__ char **PHYSFS_getSearchPath(void);
-
-
-/**
- * \fn int PHYSFS_setSaneConfig(const char *organization, const char *appName, const char *archiveExt, int includeCdRoms, int archivesFirst)
- * \brief Set up sane, default paths.
- *
- * Helper function.
- *
- * The write dir will be set to "userdir/.organization/appName", which is
- * created if it doesn't exist.
- *
- * The above is sufficient to make sure your program's configuration directory
- * is separated from other clutter, and platform-independent. The period
- * before "mygame" even hides the directory on Unix systems.
- *
- * The search path will be:
- *
- * - The Write Dir (created if it doesn't exist)
- * - The Base Dir (PHYSFS_getBaseDir())
- * - All found CD-ROM dirs (optionally)
- *
- * These directories are then searched for files ending with the extension
- * (archiveExt), which, if they are valid and supported archives, will also
- * be added to the search path. If you specified "PKG" for (archiveExt), and
- * there's a file named data.PKG in the base dir, it'll be checked. Archives
- * can either be appended or prepended to the search path in alphabetical
- * order, regardless of which directories they were found in.
- *
- * All of this can be accomplished from the application, but this just does it
- * all for you. Feel free to add more to the search path manually, too.
- *
- * \param organization Name of your company/group/etc to be used as a
- * dirname, so keep it small, and no-frills.
- *
- * \param appName Program-specific name of your program, to separate it
- * from other programs using PhysicsFS.
- *
- * \param archiveExt File extension used by your program to specify an
- * archive. For example, Quake 3 uses "pk3", even though
- * they are just zipfiles. Specify NULL to not dig out
- * archives automatically. Do not specify the '.' char;
- * If you want to look for ZIP files, specify "ZIP" and
- * not ".ZIP" ... the archive search is case-insensitive.
- *
- * \param includeCdRoms Non-zero to include CD-ROMs in the search path, and
- * (if (archiveExt) != NULL) search them for archives.
- * This may cause a significant amount of blocking
- * while discs are accessed, and if there are no discs
- * in the drive (or even not mounted on Unix systems),
- * then they may not be made available anyhow. You may
- * want to specify zero and handle the disc setup
- * yourself.
- *
- * \param archivesFirst Non-zero to prepend the archives to the search path.
- * Zero to append them. Ignored if !(archiveExt).
- *
- * \return nonzero on success, zero on error. Specifics of the error can be
- * gleaned from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_setSaneConfig(const char *organization,
- const char *appName,
- const char *archiveExt,
- int includeCdRoms,
- int archivesFirst);
-
-
-/* Directory management stuff ... */
-
-/**
- * \fn int PHYSFS_mkdir(const char *dirName)
- * \brief Create a directory.
- *
- * This is specified in platform-independent notation in relation to the
- * write dir. All missing parent directories are also created if they
- * don't exist.
- *
- * So if you've got the write dir set to "C:\mygame\writedir" and call
- * PHYSFS_mkdir("downloads/maps") then the directories
- * "C:\mygame\writedir\downloads" and "C:\mygame\writedir\downloads\maps"
- * will be created if possible. If the creation of "maps" fails after we
- * have successfully created "downloads", then the function leaves the
- * created directory behind and reports failure.
- *
- * \param dirName New dir to create.
- * \return nonzero on success, zero on error. Specifics of the error can be
- * gleaned from PHYSFS_getLastError().
- *
- * \sa PHYSFS_delete
- */
-__EXPORT__ int PHYSFS_mkdir(const char *dirName);
-
-
-/**
- * \fn int PHYSFS_delete(const char *filename)
- * \brief Delete a file or directory.
- *
- * (filename) is specified in platform-independent notation in relation to the
- * write dir.
- *
- * A directory must be empty before this call can delete it.
- *
- * Deleting a symlink will remove the link, not what it points to, regardless
- * of whether you "permitSymLinks" or not.
- *
- * So if you've got the write dir set to "C:\mygame\writedir" and call
- * PHYSFS_delete("downloads/maps/level1.map") then the file
- * "C:\mygame\writedir\downloads\maps\level1.map" is removed from the
- * physical filesystem, if it exists and the operating system permits the
- * deletion.
- *
- * Note that on Unix systems, deleting a file may be successful, but the
- * actual file won't be removed until all processes that have an open
- * filehandle to it (including your program) close their handles.
- *
- * Chances are, the bits that make up the file still exist, they are just
- * made available to be written over at a later point. Don't consider this
- * a security method or anything. :)
- *
- * \param filename Filename to delete.
- * \return nonzero on success, zero on error. Specifics of the error can be
- * gleaned from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_delete(const char *filename);
-
-
-/**
- * \fn const char *PHYSFS_getRealDir(const char *filename)
- * \brief Figure out where in the search path a file resides.
- *
- * The file is specified in platform-independent notation. The returned
- * filename will be the element of the search path where the file was found,
- * which may be a directory, or an archive. Even if there are multiple
- * matches in different parts of the search path, only the first one found
- * is used, just like when opening a file.
- *
- * So, if you look for "maps/level1.map", and C:\\mygame is in your search
- * path and C:\\mygame\\maps\\level1.map exists, then "C:\mygame" is returned.
- *
- * If a any part of a match is a symbolic link, and you've not explicitly
- * permitted symlinks, then it will be ignored, and the search for a match
- * will continue.
- *
- * If you specify a fake directory that only exists as a mount point, it'll
- * be associated with the first archive mounted there, even though that
- * directory isn't necessarily contained in a real archive.
- *
- * \param filename file to look for.
- * \return READ ONLY string of element of search path containing the
- * the file in question. NULL if not found.
- */
-__EXPORT__ const char *PHYSFS_getRealDir(const char *filename);
-
-
-/**
- * \fn char **PHYSFS_enumerateFiles(const char *dir)
- * \brief Get a file listing of a search path's directory.
- *
- * Matching directories are interpolated. That is, if "C:\mydir" is in the
- * search path and contains a directory "savegames" that contains "x.sav",
- * "y.sav", and "z.sav", and there is also a "C:\userdir" in the search path
- * that has a "savegames" subdirectory with "w.sav", then the following code:
- *
- * \code
- * char **rc = PHYSFS_enumerateFiles("savegames");
- * char **i;
- *
- * for (i = rc; *i != NULL; i++)
- * printf(" * We've got [%s].\n", *i);
- *
- * PHYSFS_freeList(rc);
- * \endcode
- *
- * ...will print:
- *
- * \verbatim
- * We've got [x.sav].
- * We've got [y.sav].
- * We've got [z.sav].
- * We've got [w.sav].\endverbatim
- *
- * Feel free to sort the list however you like. We only promise there will
- * be no duplicates, but not what order the final list will come back in.
- *
- * Don't forget to call PHYSFS_freeList() with the return value from this
- * function when you are done with it.
- *
- * \param dir directory in platform-independent notation to enumerate.
- * \return Null-terminated array of null-terminated strings.
- *
- * \sa PHYSFS_enumerateFilesCallback
- */
-__EXPORT__ char **PHYSFS_enumerateFiles(const char *dir);
-
-
-/**
- * \fn int PHYSFS_exists(const char *fname)
- * \brief Determine if a file exists in the search path.
- *
- * Reports true if there is an entry anywhere in the search path by the
- * name of (fname).
- *
- * Note that entries that are symlinks are ignored if
- * PHYSFS_permitSymbolicLinks(1) hasn't been called, so you
- * might end up further down in the search path than expected.
- *
- * \param fname filename in platform-independent notation.
- * \return non-zero if filename exists. zero otherwise.
- *
- * \sa PHYSFS_isDirectory
- * \sa PHYSFS_isSymbolicLink
- */
-__EXPORT__ int PHYSFS_exists(const char *fname);
-
-
-/**
- * \fn int PHYSFS_isDirectory(const char *fname)
- * \brief Determine if a file in the search path is really a directory.
- *
- * Determine if the first occurence of (fname) in the search path is
- * really a directory entry.
- *
- * Note that entries that are symlinks are ignored if
- * PHYSFS_permitSymbolicLinks(1) hasn't been called, so you
- * might end up further down in the search path than expected.
- *
- * \param fname filename in platform-independent notation.
- * \return non-zero if filename exists and is a directory. zero otherwise.
- *
- * \sa PHYSFS_exists
- * \sa PHYSFS_isSymbolicLink
- */
-__EXPORT__ int PHYSFS_isDirectory(const char *fname);
-
-
-/**
- * \fn int PHYSFS_isSymbolicLink(const char *fname)
- * \brief Determine if a file in the search path is really a symbolic link.
- *
- * Determine if the first occurence of (fname) in the search path is
- * really a symbolic link.
- *
- * Note that entries that are symlinks are ignored if
- * PHYSFS_permitSymbolicLinks(1) hasn't been called, and as such,
- * this function will always return 0 in that case.
- *
- * \param fname filename in platform-independent notation.
- * \return non-zero if filename exists and is a symlink. zero otherwise.
- *
- * \sa PHYSFS_exists
- * \sa PHYSFS_isDirectory
- */
-__EXPORT__ int PHYSFS_isSymbolicLink(const char *fname);
-
-
-/**
- * \fn PHYSFS_sint64 PHYSFS_getLastModTime(const char *filename)
- * \brief Get the last modification time of a file.
- *
- * The modtime is returned as a number of seconds since the epoch
- * (Jan 1, 1970). The exact derivation and accuracy of this time depends on
- * the particular archiver. If there is no reasonable way to obtain this
- * information for a particular archiver, or there was some sort of error,
- * this function returns (-1).
- *
- * \param filename filename to check, in platform-independent notation.
- * \return last modified time of the file. -1 if it can't be determined.
- */
-__EXPORT__ PHYSFS_sint64 PHYSFS_getLastModTime(const char *filename);
-
-
-/* i/o stuff... */
-
-/**
- * \fn PHYSFS_File *PHYSFS_openWrite(const char *filename)
- * \brief Open a file for writing.
- *
- * Open a file for writing, in platform-independent notation and in relation
- * to the write dir as the root of the writable filesystem. The specified
- * file is created if it doesn't exist. If it does exist, it is truncated to
- * zero bytes, and the writing offset is set to the start.
- *
- * Note that entries that are symlinks are ignored if
- * PHYSFS_permitSymbolicLinks(1) hasn't been called, and opening a
- * symlink with this function will fail in such a case.
- *
- * \param filename File to open.
- * \return A valid PhysicsFS filehandle on success, NULL on error. Specifics
- * of the error can be gleaned from PHYSFS_getLastError().
- *
- * \sa PHYSFS_openRead
- * \sa PHYSFS_openAppend
- * \sa PHYSFS_write
- * \sa PHYSFS_close
- */
-__EXPORT__ PHYSFS_File *PHYSFS_openWrite(const char *filename);
-
-
-/**
- * \fn PHYSFS_File *PHYSFS_openAppend(const char *filename)
- * \brief Open a file for appending.
- *
- * Open a file for writing, in platform-independent notation and in relation
- * to the write dir as the root of the writable filesystem. The specified
- * file is created if it doesn't exist. If it does exist, the writing offset
- * is set to the end of the file, so the first write will be the byte after
- * the end.
- *
- * Note that entries that are symlinks are ignored if
- * PHYSFS_permitSymbolicLinks(1) hasn't been called, and opening a
- * symlink with this function will fail in such a case.
- *
- * \param filename File to open.
- * \return A valid PhysicsFS filehandle on success, NULL on error. Specifics
- * of the error can be gleaned from PHYSFS_getLastError().
- *
- * \sa PHYSFS_openRead
- * \sa PHYSFS_openWrite
- * \sa PHYSFS_write
- * \sa PHYSFS_close
- */
-__EXPORT__ PHYSFS_File *PHYSFS_openAppend(const char *filename);
-
-
-/**
- * \fn PHYSFS_File *PHYSFS_openRead(const char *filename)
- * \brief Open a file for reading.
- *
- * Open a file for reading, in platform-independent notation. The search path
- * is checked one at a time until a matching file is found, in which case an
- * abstract filehandle is associated with it, and reading may be done.
- * The reading offset is set to the first byte of the file.
- *
- * Note that entries that are symlinks are ignored if
- * PHYSFS_permitSymbolicLinks(1) hasn't been called, and opening a
- * symlink with this function will fail in such a case.
- *
- * \param filename File to open.
- * \return A valid PhysicsFS filehandle on success, NULL on error. Specifics
- * of the error can be gleaned from PHYSFS_getLastError().
- *
- * \sa PHYSFS_openWrite
- * \sa PHYSFS_openAppend
- * \sa PHYSFS_read
- * \sa PHYSFS_close
- */
-__EXPORT__ PHYSFS_File *PHYSFS_openRead(const char *filename);
-
-
-/**
- * \fn int PHYSFS_close(PHYSFS_File *handle)
- * \brief Close a PhysicsFS filehandle.
- *
- * This call is capable of failing if the operating system was buffering
- * writes to the physical media, and, now forced to write those changes to
- * physical media, can not store the data for some reason. In such a case,
- * the filehandle stays open. A well-written program should ALWAYS check the
- * return value from the close call in addition to every writing call!
- *
- * \param handle handle returned from PHYSFS_open*().
- * \return nonzero on success, zero on error. Specifics of the error can be
- * gleaned from PHYSFS_getLastError().
- *
- * \sa PHYSFS_openRead
- * \sa PHYSFS_openWrite
- * \sa PHYSFS_openAppend
- */
-__EXPORT__ int PHYSFS_close(PHYSFS_File *handle);
-
-
-/**
- * \fn PHYSFS_sint64 PHYSFS_read(PHYSFS_File *handle, void *buffer, PHYSFS_uint32 objSize, PHYSFS_uint32 objCount)
- * \brief Read data from a PhysicsFS filehandle
- *
- * The file must be opened for reading.
- *
- * \param handle handle returned from PHYSFS_openRead().
- * \param buffer buffer to store read data into.
- * \param objSize size in bytes of objects being read from (handle).
- * \param objCount number of (objSize) objects to read from (handle).
- * \return number of objects read. PHYSFS_getLastError() can shed light on
- * the reason this might be < (objCount), as can PHYSFS_eof().
- * -1 if complete failure.
- *
- * \sa PHYSFS_eof
- */
-__EXPORT__ PHYSFS_sint64 PHYSFS_read(PHYSFS_File *handle,
- void *buffer,
- PHYSFS_uint32 objSize,
- PHYSFS_uint32 objCount);
-
-/**
- * \fn PHYSFS_sint64 PHYSFS_write(PHYSFS_File *handle, const void *buffer, PHYSFS_uint32 objSize, PHYSFS_uint32 objCount)
- * \brief Write data to a PhysicsFS filehandle
- *
- * The file must be opened for writing.
- *
- * \param handle retval from PHYSFS_openWrite() or PHYSFS_openAppend().
- * \param buffer buffer to store read data into.
- * \param objSize size in bytes of objects being read from (handle).
- * \param objCount number of (objSize) objects to read from (handle).
- * \return number of objects written. PHYSFS_getLastError() can shed light on
- * the reason this might be < (objCount). -1 if complete failure.
- */
-__EXPORT__ PHYSFS_sint64 PHYSFS_write(PHYSFS_File *handle,
- const void *buffer,
- PHYSFS_uint32 objSize,
- PHYSFS_uint32 objCount);
-
-
-/* File position stuff... */
-
-/**
- * \fn int PHYSFS_eof(PHYSFS_File *handle)
- * \brief Check for end-of-file state on a PhysicsFS filehandle.
- *
- * Determine if the end of file has been reached in a PhysicsFS filehandle.
- *
- * \param handle handle returned from PHYSFS_openRead().
- * \return nonzero if EOF, zero if not.
- *
- * \sa PHYSFS_read
- * \sa PHYSFS_tell
- */
-__EXPORT__ int PHYSFS_eof(PHYSFS_File *handle);
-
-
-/**
- * \fn PHYSFS_sint64 PHYSFS_tell(PHYSFS_File *handle)
- * \brief Determine current position within a PhysicsFS filehandle.
- *
- * \param handle handle returned from PHYSFS_open*().
- * \return offset in bytes from start of file. -1 if error occurred.
- * Specifics of the error can be gleaned from PHYSFS_getLastError().
- *
- * \sa PHYSFS_seek
- */
-__EXPORT__ PHYSFS_sint64 PHYSFS_tell(PHYSFS_File *handle);
-
-
-/**
- * \fn int PHYSFS_seek(PHYSFS_File *handle, PHYSFS_uint64 pos)
- * \brief Seek to a new position within a PhysicsFS filehandle.
- *
- * The next read or write will occur at that place. Seeking past the
- * beginning or end of the file is not allowed, and causes an error.
- *
- * \param handle handle returned from PHYSFS_open*().
- * \param pos number of bytes from start of file to seek to.
- * \return nonzero on success, zero on error. Specifics of the error can be
- * gleaned from PHYSFS_getLastError().
- *
- * \sa PHYSFS_tell
- */
-__EXPORT__ int PHYSFS_seek(PHYSFS_File *handle, PHYSFS_uint64 pos);
-
-
-/**
- * \fn PHYSFS_sint64 PHYSFS_fileLength(PHYSFS_File *handle)
- * \brief Get total length of a file in bytes.
- *
- * Note that if the file size can't be determined (since the archive is
- * "streamed" or whatnot) than this will report (-1). Also note that if
- * another process/thread is writing to this file at the same time, then
- * the information this function supplies could be incorrect before you
- * get it. Use with caution, or better yet, don't use at all.
- *
- * \param handle handle returned from PHYSFS_open*().
- * \return size in bytes of the file. -1 if can't be determined.
- *
- * \sa PHYSFS_tell
- * \sa PHYSFS_seek
- */
-__EXPORT__ PHYSFS_sint64 PHYSFS_fileLength(PHYSFS_File *handle);
-
-
-/* Buffering stuff... */
-
-/**
- * \fn int PHYSFS_setBuffer(PHYSFS_File *handle, PHYSFS_uint64 bufsize)
- * \brief Set up buffering for a PhysicsFS file handle.
- *
- * Define an i/o buffer for a file handle. A memory block of (bufsize) bytes
- * will be allocated and associated with (handle).
- *
- * For files opened for reading, up to (bufsize) bytes are read from (handle)
- * and stored in the internal buffer. Calls to PHYSFS_read() will pull
- * from this buffer until it is empty, and then refill it for more reading.
- * Note that compressed files, like ZIP archives, will decompress while
- * buffering, so this can be handy for offsetting CPU-intensive operations.
- * The buffer isn't filled until you do your next read.
- *
- * For files opened for writing, data will be buffered to memory until the
- * buffer is full or the buffer is flushed. Closing a handle implicitly
- * causes a flush...check your return values!
- *
- * Seeking, etc transparently accounts for buffering.
- *
- * You can resize an existing buffer by calling this function more than once
- * on the same file. Setting the buffer size to zero will free an existing
- * buffer.
- *
- * PhysicsFS file handles are unbuffered by default.
- *
- * Please check the return value of this function! Failures can include
- * not being able to seek backwards in a read-only file when removing the
- * buffer, not being able to allocate the buffer, and not being able to
- * flush the buffer to disk, among other unexpected problems.
- *
- * \param handle handle returned from PHYSFS_open*().
- * \param bufsize size, in bytes, of buffer to allocate.
- * \return nonzero if successful, zero on error.
- *
- * \sa PHYSFS_flush
- * \sa PHYSFS_read
- * \sa PHYSFS_write
- * \sa PHYSFS_close
- */
-__EXPORT__ int PHYSFS_setBuffer(PHYSFS_File *handle, PHYSFS_uint64 bufsize);
-
-
-/**
- * \fn int PHYSFS_flush(PHYSFS_File *handle)
- * \brief Flush a buffered PhysicsFS file handle.
- *
- * For buffered files opened for writing, this will put the current contents
- * of the buffer to disk and flag the buffer as empty if possible.
- *
- * For buffered files opened for reading or unbuffered files, this is a safe
- * no-op, and will report success.
- *
- * \param handle handle returned from PHYSFS_open*().
- * \return nonzero if successful, zero on error.
- *
- * \sa PHYSFS_setBuffer
- * \sa PHYSFS_close
- */
-__EXPORT__ int PHYSFS_flush(PHYSFS_File *handle);
-
-
-/* Byteorder stuff... */
-
-/**
- * \fn PHYSFS_sint16 PHYSFS_swapSLE16(PHYSFS_sint16 val)
- * \brief Swap littleendian signed 16 to platform's native byte order.
- *
- * Take a 16-bit signed value in littleendian format and convert it to
- * the platform's native byte order.
- *
- * \param val value to convert
- * \return converted value.
- */
-__EXPORT__ PHYSFS_sint16 PHYSFS_swapSLE16(PHYSFS_sint16 val);
-
-
-/**
- * \fn PHYSFS_uint16 PHYSFS_swapULE16(PHYSFS_uint16 val)
- * \brief Swap littleendian unsigned 16 to platform's native byte order.
- *
- * Take a 16-bit unsigned value in littleendian format and convert it to
- * the platform's native byte order.
- *
- * \param val value to convert
- * \return converted value.
- */
-__EXPORT__ PHYSFS_uint16 PHYSFS_swapULE16(PHYSFS_uint16 val);
-
-/**
- * \fn PHYSFS_sint32 PHYSFS_swapSLE32(PHYSFS_sint32 val)
- * \brief Swap littleendian signed 32 to platform's native byte order.
- *
- * Take a 32-bit signed value in littleendian format and convert it to
- * the platform's native byte order.
- *
- * \param val value to convert
- * \return converted value.
- */
-__EXPORT__ PHYSFS_sint32 PHYSFS_swapSLE32(PHYSFS_sint32 val);
-
-
-/**
- * \fn PHYSFS_uint32 PHYSFS_swapULE32(PHYSFS_uint32 val)
- * \brief Swap littleendian unsigned 32 to platform's native byte order.
- *
- * Take a 32-bit unsigned value in littleendian format and convert it to
- * the platform's native byte order.
- *
- * \param val value to convert
- * \return converted value.
- */
-__EXPORT__ PHYSFS_uint32 PHYSFS_swapULE32(PHYSFS_uint32 val);
-
-/**
- * \fn PHYSFS_sint64 PHYSFS_swapSLE64(PHYSFS_sint64 val)
- * \brief Swap littleendian signed 64 to platform's native byte order.
- *
- * Take a 64-bit signed value in littleendian format and convert it to
- * the platform's native byte order.
- *
- * \param val value to convert
- * \return converted value.
- *
- * \warning Remember, PHYSFS_uint64 is only 32 bits on platforms without
- * any sort of 64-bit support.
- */
-__EXPORT__ PHYSFS_sint64 PHYSFS_swapSLE64(PHYSFS_sint64 val);
-
-
-/**
- * \fn PHYSFS_uint64 PHYSFS_swapULE64(PHYSFS_uint64 val)
- * \brief Swap littleendian unsigned 64 to platform's native byte order.
- *
- * Take a 64-bit unsigned value in littleendian format and convert it to
- * the platform's native byte order.
- *
- * \param val value to convert
- * \return converted value.
- *
- * \warning Remember, PHYSFS_uint64 is only 32 bits on platforms without
- * any sort of 64-bit support.
- */
-__EXPORT__ PHYSFS_uint64 PHYSFS_swapULE64(PHYSFS_uint64 val);
-
-
-/**
- * \fn PHYSFS_sint16 PHYSFS_swapSBE16(PHYSFS_sint16 val)
- * \brief Swap bigendian signed 16 to platform's native byte order.
- *
- * Take a 16-bit signed value in bigendian format and convert it to
- * the platform's native byte order.
- *
- * \param val value to convert
- * \return converted value.
- */
-__EXPORT__ PHYSFS_sint16 PHYSFS_swapSBE16(PHYSFS_sint16 val);
-
-
-/**
- * \fn PHYSFS_uint16 PHYSFS_swapUBE16(PHYSFS_uint16 val)
- * \brief Swap bigendian unsigned 16 to platform's native byte order.
- *
- * Take a 16-bit unsigned value in bigendian format and convert it to
- * the platform's native byte order.
- *
- * \param val value to convert
- * \return converted value.
- */
-__EXPORT__ PHYSFS_uint16 PHYSFS_swapUBE16(PHYSFS_uint16 val);
-
-/**
- * \fn PHYSFS_sint32 PHYSFS_swapSBE32(PHYSFS_sint32 val)
- * \brief Swap bigendian signed 32 to platform's native byte order.
- *
- * Take a 32-bit signed value in bigendian format and convert it to
- * the platform's native byte order.
- *
- * \param val value to convert
- * \return converted value.
- */
-__EXPORT__ PHYSFS_sint32 PHYSFS_swapSBE32(PHYSFS_sint32 val);
-
-
-/**
- * \fn PHYSFS_uint32 PHYSFS_swapUBE32(PHYSFS_uint32 val)
- * \brief Swap bigendian unsigned 32 to platform's native byte order.
- *
- * Take a 32-bit unsigned value in bigendian format and convert it to
- * the platform's native byte order.
- *
- * \param val value to convert
- * \return converted value.
- */
-__EXPORT__ PHYSFS_uint32 PHYSFS_swapUBE32(PHYSFS_uint32 val);
-
-
-/**
- * \fn PHYSFS_sint64 PHYSFS_swapSBE64(PHYSFS_sint64 val)
- * \brief Swap bigendian signed 64 to platform's native byte order.
- *
- * Take a 64-bit signed value in bigendian format and convert it to
- * the platform's native byte order.
- *
- * \param val value to convert
- * \return converted value.
- *
- * \warning Remember, PHYSFS_uint64 is only 32 bits on platforms without
- * any sort of 64-bit support.
- */
-__EXPORT__ PHYSFS_sint64 PHYSFS_swapSBE64(PHYSFS_sint64 val);
-
-
-/**
- * \fn PHYSFS_uint64 PHYSFS_swapUBE64(PHYSFS_uint64 val)
- * \brief Swap bigendian unsigned 64 to platform's native byte order.
- *
- * Take a 64-bit unsigned value in bigendian format and convert it to
- * the platform's native byte order.
- *
- * \param val value to convert
- * \return converted value.
- *
- * \warning Remember, PHYSFS_uint64 is only 32 bits on platforms without
- * any sort of 64-bit support.
- */
-__EXPORT__ PHYSFS_uint64 PHYSFS_swapUBE64(PHYSFS_uint64 val);
-
-
-/**
- * \fn int PHYSFS_readSLE16(PHYSFS_File *file, PHYSFS_sint16 *val)
- * \brief Read and convert a signed 16-bit littleendian value.
- *
- * Convenience function. Read a signed 16-bit littleendian value from a
- * file and convert it to the platform's native byte order.
- *
- * \param file PhysicsFS file handle from which to read.
- * \param val pointer to where value should be stored.
- * \return zero on failure, non-zero on success. If successful, (*val) will
- * store the result. On failure, you can find out what went wrong
- * from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_readSLE16(PHYSFS_File *file, PHYSFS_sint16 *val);
-
-
-/**
- * \fn int PHYSFS_readULE16(PHYSFS_File *file, PHYSFS_uint16 *val)
- * \brief Read and convert an unsigned 16-bit littleendian value.
- *
- * Convenience function. Read an unsigned 16-bit littleendian value from a
- * file and convert it to the platform's native byte order.
- *
- * \param file PhysicsFS file handle from which to read.
- * \param val pointer to where value should be stored.
- * \return zero on failure, non-zero on success. If successful, (*val) will
- * store the result. On failure, you can find out what went wrong
- * from PHYSFS_getLastError().
- *
- */
-__EXPORT__ int PHYSFS_readULE16(PHYSFS_File *file, PHYSFS_uint16 *val);
-
-
-/**
- * \fn int PHYSFS_readSBE16(PHYSFS_File *file, PHYSFS_sint16 *val)
- * \brief Read and convert a signed 16-bit bigendian value.
- *
- * Convenience function. Read a signed 16-bit bigendian value from a
- * file and convert it to the platform's native byte order.
- *
- * \param file PhysicsFS file handle from which to read.
- * \param val pointer to where value should be stored.
- * \return zero on failure, non-zero on success. If successful, (*val) will
- * store the result. On failure, you can find out what went wrong
- * from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_readSBE16(PHYSFS_File *file, PHYSFS_sint16 *val);
-
-
-/**
- * \fn int PHYSFS_readUBE16(PHYSFS_File *file, PHYSFS_uint16 *val)
- * \brief Read and convert an unsigned 16-bit bigendian value.
- *
- * Convenience function. Read an unsigned 16-bit bigendian value from a
- * file and convert it to the platform's native byte order.
- *
- * \param file PhysicsFS file handle from which to read.
- * \param val pointer to where value should be stored.
- * \return zero on failure, non-zero on success. If successful, (*val) will
- * store the result. On failure, you can find out what went wrong
- * from PHYSFS_getLastError().
- *
- */
-__EXPORT__ int PHYSFS_readUBE16(PHYSFS_File *file, PHYSFS_uint16 *val);
-
-
-/**
- * \fn int PHYSFS_readSLE32(PHYSFS_File *file, PHYSFS_sint32 *val)
- * \brief Read and convert a signed 32-bit littleendian value.
- *
- * Convenience function. Read a signed 32-bit littleendian value from a
- * file and convert it to the platform's native byte order.
- *
- * \param file PhysicsFS file handle from which to read.
- * \param val pointer to where value should be stored.
- * \return zero on failure, non-zero on success. If successful, (*val) will
- * store the result. On failure, you can find out what went wrong
- * from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_readSLE32(PHYSFS_File *file, PHYSFS_sint32 *val);
-
-
-/**
- * \fn int PHYSFS_readULE32(PHYSFS_File *file, PHYSFS_uint32 *val)
- * \brief Read and convert an unsigned 32-bit littleendian value.
- *
- * Convenience function. Read an unsigned 32-bit littleendian value from a
- * file and convert it to the platform's native byte order.
- *
- * \param file PhysicsFS file handle from which to read.
- * \param val pointer to where value should be stored.
- * \return zero on failure, non-zero on success. If successful, (*val) will
- * store the result. On failure, you can find out what went wrong
- * from PHYSFS_getLastError().
- *
- */
-__EXPORT__ int PHYSFS_readULE32(PHYSFS_File *file, PHYSFS_uint32 *val);
-
-
-/**
- * \fn int PHYSFS_readSBE32(PHYSFS_File *file, PHYSFS_sint32 *val)
- * \brief Read and convert a signed 32-bit bigendian value.
- *
- * Convenience function. Read a signed 32-bit bigendian value from a
- * file and convert it to the platform's native byte order.
- *
- * \param file PhysicsFS file handle from which to read.
- * \param val pointer to where value should be stored.
- * \return zero on failure, non-zero on success. If successful, (*val) will
- * store the result. On failure, you can find out what went wrong
- * from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_readSBE32(PHYSFS_File *file, PHYSFS_sint32 *val);
-
-
-/**
- * \fn int PHYSFS_readUBE32(PHYSFS_File *file, PHYSFS_uint32 *val)
- * \brief Read and convert an unsigned 32-bit bigendian value.
- *
- * Convenience function. Read an unsigned 32-bit bigendian value from a
- * file and convert it to the platform's native byte order.
- *
- * \param file PhysicsFS file handle from which to read.
- * \param val pointer to where value should be stored.
- * \return zero on failure, non-zero on success. If successful, (*val) will
- * store the result. On failure, you can find out what went wrong
- * from PHYSFS_getLastError().
- *
- */
-__EXPORT__ int PHYSFS_readUBE32(PHYSFS_File *file, PHYSFS_uint32 *val);
-
-
-/**
- * \fn int PHYSFS_readSLE64(PHYSFS_File *file, PHYSFS_sint64 *val)
- * \brief Read and convert a signed 64-bit littleendian value.
- *
- * Convenience function. Read a signed 64-bit littleendian value from a
- * file and convert it to the platform's native byte order.
- *
- * \param file PhysicsFS file handle from which to read.
- * \param val pointer to where value should be stored.
- * \return zero on failure, non-zero on success. If successful, (*val) will
- * store the result. On failure, you can find out what went wrong
- * from PHYSFS_getLastError().
- *
- * \warning Remember, PHYSFS_sint64 is only 32 bits on platforms without
- * any sort of 64-bit support.
- */
-__EXPORT__ int PHYSFS_readSLE64(PHYSFS_File *file, PHYSFS_sint64 *val);
-
-
-/**
- * \fn int PHYSFS_readULE64(PHYSFS_File *file, PHYSFS_uint64 *val)
- * \brief Read and convert an unsigned 64-bit littleendian value.
- *
- * Convenience function. Read an unsigned 64-bit littleendian value from a
- * file and convert it to the platform's native byte order.
- *
- * \param file PhysicsFS file handle from which to read.
- * \param val pointer to where value should be stored.
- * \return zero on failure, non-zero on success. If successful, (*val) will
- * store the result. On failure, you can find out what went wrong
- * from PHYSFS_getLastError().
- *
- * \warning Remember, PHYSFS_uint64 is only 32 bits on platforms without
- * any sort of 64-bit support.
- */
-__EXPORT__ int PHYSFS_readULE64(PHYSFS_File *file, PHYSFS_uint64 *val);
-
-
-/**
- * \fn int PHYSFS_readSBE64(PHYSFS_File *file, PHYSFS_sint64 *val)
- * \brief Read and convert a signed 64-bit bigendian value.
- *
- * Convenience function. Read a signed 64-bit bigendian value from a
- * file and convert it to the platform's native byte order.
- *
- * \param file PhysicsFS file handle from which to read.
- * \param val pointer to where value should be stored.
- * \return zero on failure, non-zero on success. If successful, (*val) will
- * store the result. On failure, you can find out what went wrong
- * from PHYSFS_getLastError().
- *
- * \warning Remember, PHYSFS_sint64 is only 32 bits on platforms without
- * any sort of 64-bit support.
- */
-__EXPORT__ int PHYSFS_readSBE64(PHYSFS_File *file, PHYSFS_sint64 *val);
-
-
-/**
- * \fn int PHYSFS_readUBE64(PHYSFS_File *file, PHYSFS_uint64 *val)
- * \brief Read and convert an unsigned 64-bit bigendian value.
- *
- * Convenience function. Read an unsigned 64-bit bigendian value from a
- * file and convert it to the platform's native byte order.
- *
- * \param file PhysicsFS file handle from which to read.
- * \param val pointer to where value should be stored.
- * \return zero on failure, non-zero on success. If successful, (*val) will
- * store the result. On failure, you can find out what went wrong
- * from PHYSFS_getLastError().
- *
- * \warning Remember, PHYSFS_uint64 is only 32 bits on platforms without
- * any sort of 64-bit support.
- */
-__EXPORT__ int PHYSFS_readUBE64(PHYSFS_File *file, PHYSFS_uint64 *val);
-
-
-/**
- * \fn int PHYSFS_writeSLE16(PHYSFS_File *file, PHYSFS_sint16 val)
- * \brief Convert and write a signed 16-bit littleendian value.
- *
- * Convenience function. Convert a signed 16-bit value from the platform's
- * native byte order to littleendian and write it to a file.
- *
- * \param file PhysicsFS file handle to which to write.
- * \param val Value to convert and write.
- * \return zero on failure, non-zero on success. On failure, you can
- * find out what went wrong from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_writeSLE16(PHYSFS_File *file, PHYSFS_sint16 val);
-
-
-/**
- * \fn int PHYSFS_writeULE16(PHYSFS_File *file, PHYSFS_uint16 val)
- * \brief Convert and write an unsigned 16-bit littleendian value.
- *
- * Convenience function. Convert an unsigned 16-bit value from the platform's
- * native byte order to littleendian and write it to a file.
- *
- * \param file PhysicsFS file handle to which to write.
- * \param val Value to convert and write.
- * \return zero on failure, non-zero on success. On failure, you can
- * find out what went wrong from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_writeULE16(PHYSFS_File *file, PHYSFS_uint16 val);
-
-
-/**
- * \fn int PHYSFS_writeSBE16(PHYSFS_File *file, PHYSFS_sint16 val)
- * \brief Convert and write a signed 16-bit bigendian value.
- *
- * Convenience function. Convert a signed 16-bit value from the platform's
- * native byte order to bigendian and write it to a file.
- *
- * \param file PhysicsFS file handle to which to write.
- * \param val Value to convert and write.
- * \return zero on failure, non-zero on success. On failure, you can
- * find out what went wrong from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_writeSBE16(PHYSFS_File *file, PHYSFS_sint16 val);
-
-
-/**
- * \fn int PHYSFS_writeUBE16(PHYSFS_File *file, PHYSFS_uint16 val)
- * \brief Convert and write an unsigned 16-bit bigendian value.
- *
- * Convenience function. Convert an unsigned 16-bit value from the platform's
- * native byte order to bigendian and write it to a file.
- *
- * \param file PhysicsFS file handle to which to write.
- * \param val Value to convert and write.
- * \return zero on failure, non-zero on success. On failure, you can
- * find out what went wrong from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_writeUBE16(PHYSFS_File *file, PHYSFS_uint16 val);
-
-
-/**
- * \fn int PHYSFS_writeSLE32(PHYSFS_File *file, PHYSFS_sint32 val)
- * \brief Convert and write a signed 32-bit littleendian value.
- *
- * Convenience function. Convert a signed 32-bit value from the platform's
- * native byte order to littleendian and write it to a file.
- *
- * \param file PhysicsFS file handle to which to write.
- * \param val Value to convert and write.
- * \return zero on failure, non-zero on success. On failure, you can
- * find out what went wrong from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_writeSLE32(PHYSFS_File *file, PHYSFS_sint32 val);
-
-
-/**
- * \fn int PHYSFS_writeULE32(PHYSFS_File *file, PHYSFS_uint32 val)
- * \brief Convert and write an unsigned 32-bit littleendian value.
- *
- * Convenience function. Convert an unsigned 32-bit value from the platform's
- * native byte order to littleendian and write it to a file.
- *
- * \param file PhysicsFS file handle to which to write.
- * \param val Value to convert and write.
- * \return zero on failure, non-zero on success. On failure, you can
- * find out what went wrong from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_writeULE32(PHYSFS_File *file, PHYSFS_uint32 val);
-
-
-/**
- * \fn int PHYSFS_writeSBE32(PHYSFS_File *file, PHYSFS_sint32 val)
- * \brief Convert and write a signed 32-bit bigendian value.
- *
- * Convenience function. Convert a signed 32-bit value from the platform's
- * native byte order to bigendian and write it to a file.
- *
- * \param file PhysicsFS file handle to which to write.
- * \param val Value to convert and write.
- * \return zero on failure, non-zero on success. On failure, you can
- * find out what went wrong from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_writeSBE32(PHYSFS_File *file, PHYSFS_sint32 val);
-
-
-/**
- * \fn int PHYSFS_writeUBE32(PHYSFS_File *file, PHYSFS_uint32 val)
- * \brief Convert and write an unsigned 32-bit bigendian value.
- *
- * Convenience function. Convert an unsigned 32-bit value from the platform's
- * native byte order to bigendian and write it to a file.
- *
- * \param file PhysicsFS file handle to which to write.
- * \param val Value to convert and write.
- * \return zero on failure, non-zero on success. On failure, you can
- * find out what went wrong from PHYSFS_getLastError().
- */
-__EXPORT__ int PHYSFS_writeUBE32(PHYSFS_File *file, PHYSFS_uint32 val);
-
-
-/**
- * \fn int PHYSFS_writeSLE64(PHYSFS_File *file, PHYSFS_sint64 val)
- * \brief Convert and write a signed 64-bit littleendian value.
- *
- * Convenience function. Convert a signed 64-bit value from the platform's
- * native byte order to littleendian and write it to a file.
- *
- * \param file PhysicsFS file handle to which to write.
- * \param val Value to convert and write.
- * \return zero on failure, non-zero on success. On failure, you can
- * find out what went wrong from PHYSFS_getLastError().
- *
- * \warning Remember, PHYSFS_uint64 is only 32 bits on platforms without
- * any sort of 64-bit support.
- */
-__EXPORT__ int PHYSFS_writeSLE64(PHYSFS_File *file, PHYSFS_sint64 val);
-
-
-/**
- * \fn int PHYSFS_writeULE64(PHYSFS_File *file, PHYSFS_uint64 val)
- * \brief Convert and write an unsigned 64-bit littleendian value.
- *
- * Convenience function. Convert an unsigned 64-bit value from the platform's
- * native byte order to littleendian and write it to a file.
- *
- * \param file PhysicsFS file handle to which to write.
- * \param val Value to convert and write.
- * \return zero on failure, non-zero on success. On failure, you can
- * find out what went wrong from PHYSFS_getLastError().
- *
- * \warning Remember, PHYSFS_uint64 is only 32 bits on platforms without
- * any sort of 64-bit support.
- */
-__EXPORT__ int PHYSFS_writeULE64(PHYSFS_File *file, PHYSFS_uint64 val);
-
-
-/**
- * \fn int PHYSFS_writeSBE64(PHYSFS_File *file, PHYSFS_sint64 val)
- * \brief Convert and write a signed 64-bit bigending value.
- *
- * Convenience function. Convert a signed 64-bit value from the platform's
- * native byte order to bigendian and write it to a file.
- *
- * \param file PhysicsFS file handle to which to write.
- * \param val Value to convert and write.
- * \return zero on failure, non-zero on success. On failure, you can
- * find out what went wrong from PHYSFS_getLastError().
- *
- * \warning Remember, PHYSFS_uint64 is only 32 bits on platforms without
- * any sort of 64-bit support.
- */
-__EXPORT__ int PHYSFS_writeSBE64(PHYSFS_File *file, PHYSFS_sint64 val);
-
-
-/**
- * \fn int PHYSFS_writeUBE64(PHYSFS_File *file, PHYSFS_uint64 val)
- * \brief Convert and write an unsigned 64-bit bigendian value.
- *
- * Convenience function. Convert an unsigned 64-bit value from the platform's
- * native byte order to bigendian and write it to a file.
- *
- * \param file PhysicsFS file handle to which to write.
- * \param val Value to convert and write.
- * \return zero on failure, non-zero on success. On failure, you can
- * find out what went wrong from PHYSFS_getLastError().
- *
- * \warning Remember, PHYSFS_uint64 is only 32 bits on platforms without
- * any sort of 64-bit support.
- */
-__EXPORT__ int PHYSFS_writeUBE64(PHYSFS_File *file, PHYSFS_uint64 val);
-
-
-/* Everything above this line is part of the PhysicsFS 1.0 API. */
-
-/**
- * \fn int PHYSFS_isInit(void)
- * \brief Determine if the PhysicsFS library is initialized.
- *
- * Once PHYSFS_init() returns successfully, this will return non-zero.
- * Before a successful PHYSFS_init() and after PHYSFS_deinit() returns
- * successfully, this will return zero. This function is safe to call at
- * any time.
- *
- * \return non-zero if library is initialized, zero if library is not.
- *
- * \sa PHYSFS_init
- * \sa PHYSFS_deinit
- */
-__EXPORT__ int PHYSFS_isInit(void);
-
-
-/**
- * \fn int PHYSFS_symbolicLinksPermitted(void)
- * \brief Determine if the symbolic links are permitted.
- *
- * This reports the setting from the last call to PHYSFS_permitSymbolicLinks().
- * If PHYSFS_permitSymbolicLinks() hasn't been called since the library was
- * last initialized, symbolic links are implicitly disabled.
- *
- * \return non-zero if symlinks are permitted, zero if not.
- *
- * \sa PHYSFS_permitSymbolicLinks
- */
-__EXPORT__ int PHYSFS_symbolicLinksPermitted(void);
-
-
-/**
- * \struct PHYSFS_Allocator
- * \brief PhysicsFS allocation function pointers.
- *
- * (This is for limited, hardcore use. If you don't immediately see a need
- * for it, you can probably ignore this forever.)
- *
- * You create one of these structures for use with PHYSFS_setAllocator.
- * Allocators are assumed to be reentrant by the caller; please mutex
- * accordingly.
- *
- * Allocations are always discussed in 64-bits, for future expansion...we're
- * on the cusp of a 64-bit transition, and we'll probably be allocating 6
- * gigabytes like it's nothing sooner or later, and I don't want to change
- * this again at that point. If you're on a 32-bit platform and have to
- * downcast, it's okay to return NULL if the allocation is greater than
- * 4 gigabytes, since you'd have to do so anyhow.
- *
- * \sa PHYSFS_setAllocator
- */
-typedef struct
-{
- int (*Init)(void); /**< Initialize. Can be NULL. Zero on failure. */
- void (*Deinit)(void); /**< Deinitialize your allocator. Can be NULL. */
- void *(*Malloc)(PHYSFS_uint64); /**< Allocate like malloc(). */
- void *(*Realloc)(void *, PHYSFS_uint64); /**< Reallocate like realloc(). */
- void (*Free)(void *); /**< Free memory from Malloc or Realloc. */
-} PHYSFS_Allocator;
-
-
-/**
- * \fn int PHYSFS_setAllocator(const PHYSFS_Allocator *allocator)
- * \brief Hook your own allocation routines into PhysicsFS.
- *
- * (This is for limited, hardcore use. If you don't immediately see a need
- * for it, you can probably ignore this forever.)
- *
- * By default, PhysicsFS will use whatever is reasonable for a platform
- * to manage dynamic memory (usually ANSI C malloc/realloc/calloc/free, but
- * some platforms might use something else), but in some uncommon cases, the
- * app might want more control over the library's memory management. This
- * lets you redirect PhysicsFS to use your own allocation routines instead.
- * You can only call this function before PHYSFS_init(); if the library is
- * initialized, it'll reject your efforts to change the allocator mid-stream.
- * You may call this function after PHYSFS_deinit() if you are willing to
- * shut down the library and restart it with a new allocator; this is a safe
- * and supported operation. The allocator remains intact between deinit/init
- * calls. If you want to return to the platform's default allocator, pass a
- * NULL in here.
- *
- * If you aren't immediately sure what to do with this function, you can
- * safely ignore it altogether.
- *
- * \param allocator Structure containing your allocator's entry points.
- * \return zero on failure, non-zero on success. This call only fails
- * when used between PHYSFS_init() and PHYSFS_deinit() calls.
- */
-__EXPORT__ int PHYSFS_setAllocator(const PHYSFS_Allocator *allocator);
-
-
-/**
- * \fn int PHYSFS_mount(const char *newDir, const char *mountPoint, int appendToPath)
- * \brief Add an archive or directory to the search path.
- *
- * If this is a duplicate, the entry is not added again, even though the
- * function succeeds. You may not add the same archive to two different
- * mountpoints: duplicate checking is done against the archive and not the
- * mountpoint.
- *
- * When you mount an archive, it is added to a virtual file system...all files
- * in all of the archives are interpolated into a single hierachical file
- * tree. Two archives mounted at the same place (or an archive with files
- * overlapping another mountpoint) may have overlapping files: in such a case,
- * the file earliest in the search path is selected, and the other files are
- * inaccessible to the application. This allows archives to be used to
- * override previous revisions; you can use the mounting mechanism to place
- * archives at a specific point in the file tree and prevent overlap; this
- * is useful for downloadable mods that might trample over application data
- * or each other, for example.
- *
- * The mountpoint does not need to exist prior to mounting, which is different
- * than those familiar with the Unix concept of "mounting" may not expect.
- * As well, more than one archive can be mounted to the same mountpoint, or
- * mountpoints and archive contents can overlap...the interpolation mechanism
- * still functions as usual.
- *
- * \param newDir directory or archive to add to the path, in
- * platform-dependent notation.
- * \param mountPoint Location in the interpolated tree that this archive
- * will be "mounted", in platform-independent notation.
- * NULL or "" is equivalent to "/".
- * \param appendToPath nonzero to append to search path, zero to prepend.
- * \return nonzero if added to path, zero on failure (bogus archive, dir
- * missing, etc). Specifics of the error can be
- * gleaned from PHYSFS_getLastError().
- *
- * \sa PHYSFS_removeFromSearchPath
- * \sa PHYSFS_getSearchPath
- * \sa PHYSFS_getMountPoint
- */
-__EXPORT__ int PHYSFS_mount(const char *newDir, const char *mountPoint, int appendToPath);
-
-/**
- * \fn int PHYSFS_getMountPoint(const char *dir)
- * \brief Determine a mounted archive's mountpoint.
- *
- * You give this function the name of an archive or dir you successfully
- * added to the search path, and it reports the location in the interpolated
- * tree where it is mounted. Files mounted with a NULL mountpoint or through
- * PHYSFS_addToSearchPath() will report "/". The return value is READ ONLY
- * and valid until the archive is removed from the search path.
- *
- * \param dir directory or archive previously added to the path, in
- * platform-dependent notation. This must match the string
- * used when adding, even if your string would also reference
- * the same file with a different string of characters.
- * \return READ-ONLY string of mount point if added to path, NULL on failure
- * (bogus archive, etc) Specifics of the error can be gleaned from
- * PHYSFS_getLastError().
- *
- * \sa PHYSFS_removeFromSearchPath
- * \sa PHYSFS_getSearchPath
- * \sa PHYSFS_getMountPoint
- */
-__EXPORT__ const char *PHYSFS_getMountPoint(const char *dir);
-
-
-/**
- * \typedef PHYSFS_StringCallback
- * \brief Function signature for callbacks that report strings.
- *
- * These are used to report a list of strings to an original caller, one
- * string per callback. All strings are UTF-8 encoded. Functions should not
- * try to modify or free the string's memory.
- *
- * These callbacks are used, starting in PhysicsFS 1.1, as an alternative to
- * functions that would return lists that need to be cleaned up with
- * PHYSFS_freeList(). The callback means that the library doesn't need to
- * allocate an entire list and all the strings up front.
- *
- * Be aware that promises data ordering in the list versions are not
- * necessarily so in the callback versions. Check the documentation on
- * specific APIs, but strings may not be sorted as you expect.
- *
- * \param data User-defined data pointer, passed through from the API
- * that eventually called the callback.
- * \param str The string data about which the callback is meant to inform.
- *
- * \sa PHYSFS_getCdRomDirsCallback
- * \sa PHYSFS_getSearchPathCallback
- */
-typedef void (*PHYSFS_StringCallback)(void *data, const char *str);
-
-
-/**
- * \typedef PHYSFS_EnumFilesCallback
- * \brief Function signature for callbacks that enumerate files.
- *
- * These are used to report a list of directory entries to an original caller,
- * one file/dir/symlink per callback. All strings are UTF-8 encoded.
- * Functions should not try to modify or free any string's memory.
- *
- * These callbacks are used, starting in PhysicsFS 1.1, as an alternative to
- * functions that would return lists that need to be cleaned up with
- * PHYSFS_freeList(). The callback means that the library doesn't need to
- * allocate an entire list and all the strings up front.
- *
- * Be aware that promises data ordering in the list versions are not
- * necessarily so in the callback versions. Check the documentation on
- * specific APIs, but strings may not be sorted as you expect.
- *
- * \param data User-defined data pointer, passed through from the API
- * that eventually called the callback.
- * \param origdir A string containing the full path, in platform-independent
- * notation, of the directory containing this file. In most
- * cases, this is the directory on which you requested
- * enumeration, passed in the callback for your convenience.
- * \param fname The filename that is being enumerated. It may not be in
- * alphabetical order compared to other callbacks that have
- * fired, and it will not contain the full path. You can
- * recreate the fullpath with $origdir/$fname ... The file
- * can be a subdirectory, a file, a symlink, etc.
- *
- * \sa PHYSFS_enumerateFilesCallback
- */
-typedef void (*PHYSFS_EnumFilesCallback)(void *data, const char *origdir,
- const char *fname);
-
-
-/**
- * \fn void PHYSFS_getCdRomDirsCallback(PHYSFS_StringCallback c, void *d)
- * \brief Enumerate CD-ROM directories, using an application-defined callback.
- *
- * Internally, PHYSFS_getCdRomDirs() just calls this function and then builds
- * a list before returning to the application, so functionality is identical
- * except for how the information is represented to the application.
- *
- * Unlike PHYSFS_getCdRomDirs(), this function does not return an array.
- * Rather, it calls a function specified by the application once per
- * detected disc:
- *
- * \code
- *
- * static void foundDisc(void *data, const char *cddir)
- * {
- * printf("cdrom dir [%s] is available.\n", cddir);
- * }
- *
- * // ...
- * PHYSFS_getCdRomDirsCallback(foundDisc, NULL);
- * \endcode
- *
- * This call may block while drives spin up. Be forewarned.
- *
- * \param c Callback function to notify about detected drives.
- * \param d Application-defined data passed to callback. Can be NULL.
- *
- * \sa PHYSFS_StringCallback
- * \sa PHYSFS_getCdRomDirs
- */
-__EXPORT__ void PHYSFS_getCdRomDirsCallback(PHYSFS_StringCallback c, void *d);
-
-
-/**
- * \fn void PHYSFS_getSearchPathCallback(PHYSFS_StringCallback c, void *d)
- * \brief Enumerate the search path, using an application-defined callback.
- *
- * Internally, PHYSFS_getSearchPath() just calls this function and then builds
- * a list before returning to the application, so functionality is identical
- * except for how the information is represented to the application.
- *
- * Unlike PHYSFS_getSearchPath(), this function does not return an array.
- * Rather, it calls a function specified by the application once per
- * element of the search path:
- *
- * \code
- *
- * static void printSearchPath(void *data, const char *pathItem)
- * {
- * printf("[%s] is in the search path.\n", pathItem);
- * }
- *
- * // ...
- * PHYSFS_getSearchPathCallback(printSearchPath, NULL);
- * \endcode
- *
- * Elements of the search path are reported in order search priority, so the
- * first archive/dir that would be examined when looking for a file is the
- * first element passed through the callback.
- *
- * \param c Callback function to notify about search path elements.
- * \param d Application-defined data passed to callback. Can be NULL.
- *
- * \sa PHYSFS_StringCallback
- * \sa PHYSFS_getSearchPath
- */
-__EXPORT__ void PHYSFS_getSearchPathCallback(PHYSFS_StringCallback c, void *d);
-
-
-/**
- * \fn void PHYSFS_enumerateFilesCallback(const char *dir, PHYSFS_EnumFilesCallback c, void *d)
- * \brief Get a file listing of a search path's directory, using an application-defined callback.
- *
- * Internally, PHYSFS_enumerateFiles() just calls this function and then builds
- * a list before returning to the application, so functionality is identical
- * except for how the information is represented to the application.
- *
- * Unlike PHYSFS_enumerateFiles(), this function does not return an array.
- * Rather, it calls a function specified by the application once per
- * element of the search path:
- *
- * \code
- *
- * static void printDir(void *data, const char *origdir, const char *fname)
- * {
- * printf(" * We've got [%s] in [%s].\n", fname, origdir);
- * }
- *
- * // ...
- * PHYSFS_enumerateFilesCallback("/some/path", printDir, NULL);
- * \endcode
- *
- * Items sent to the callback are not guaranteed to be in any order whatsoever.
- * There is no sorting done at this level, and if you need that, you should
- * probably use PHYSFS_enumerateFiles() instead, which guarantees
- * alphabetical sorting. This form reports whatever is discovered in each
- * archive before moving on to the next. Even within one archive, we can't
- * guarantee what order it will discover data. <em>Any sorting you find in
- * these callbacks is just pure luck. Do not rely on it.</em>
- *
- * \param dir Directory, in platform-independent notation, to enumerate.
- * \param c Callback function to notify about search path elements.
- * \param d Application-defined data passed to callback. Can be NULL.
- *
- * \sa PHYSFS_EnumFilesCallback
- * \sa PHYSFS_enumerateFiles
- */
-__EXPORT__ void PHYSFS_enumerateFilesCallback(const char *dir,
- PHYSFS_EnumFilesCallback c,
- void *d);
-
-/**
- * \fn void PHYSFS_utf8FromUcs4(const PHYSFS_uint32 *src, char *dst, PHYSFS_uint64 len)
- * \brief Convert a UCS-4 string to a UTF-8 string.
- *
- * UCS-4 strings are 32-bits per character: \c wchar_t on Unix.
- *
- * To ensure that the destination buffer is large enough for the conversion,
- * please allocate a buffer that is the same size as the source buffer. UTF-8
- * never uses more than 32-bits per character, so while it may shrink a UCS-4
- * string, it will never expand it.
- *
- * Strings that don't fit in the destination buffer will be truncated, but
- * will always be null-terminated and never have an incomplete UTF-8
- * sequence at the end.
- *
- * \param src Null-terminated source string in UCS-4 format.
- * \param dst Buffer to store converted UTF-8 string.
- * \param len Size, in bytes, of destination buffer.
- */
-__EXPORT__ void PHYSFS_utf8FromUcs4(const PHYSFS_uint32 *src, char *dst,
- PHYSFS_uint64 len);
-
-/**
- * \fn void PHYSFS_utf8ToUcs4(const char *src, PHYSFS_uint32 *dst, PHYSFS_uint64 len)
- * \brief Convert a UTF-8 string to a UCS-4 string.
- *
- * UCS-4 strings are 32-bits per character: \c wchar_t on Unix.
- *
- * To ensure that the destination buffer is large enough for the conversion,
- * please allocate a buffer that is four times the size of the source buffer.
- * UTF-8 uses from one to four bytes per character, but UCS-4 always uses
- * four, so an entirely low-ASCII string will quadruple in size!
- *
- * Strings that don't fit in the destination buffer will be truncated, but
- * will always be null-terminated and never have an incomplete UCS-4
- * sequence at the end.
- *
- * \param src Null-terminated source string in UTF-8 format.
- * \param dst Buffer to store converted UCS-4 string.
- * \param len Size, in bytes, of destination buffer.
- */
-__EXPORT__ void PHYSFS_utf8ToUcs4(const char *src, PHYSFS_uint32 *dst,
- PHYSFS_uint64 len);
-
-/**
- * \fn void PHYSFS_utf8FromUcs2(const PHYSFS_uint16 *src, char *dst, PHYSFS_uint64 len)
- * \brief Convert a UCS-2 string to a UTF-8 string.
- *
- * UCS-2 strings are 16-bits per character: \c TCHAR on Windows, when building
- * with Unicode support.
- *
- * To ensure that the destination buffer is large enough for the conversion,
- * please allocate a buffer that is double the size of the source buffer.
- * UTF-8 never uses more than 32-bits per character, so while it may shrink
- * a UCS-2 string, it may also expand it.
- *
- * Strings that don't fit in the destination buffer will be truncated, but
- * will always be null-terminated and never have an incomplete UTF-8
- * sequence at the end.
- *
- * Please note that UCS-2 is not UTF-16; we do not support the "surrogate"
- * values at this time.
- *
- * \param src Null-terminated source string in UCS-2 format.
- * \param dst Buffer to store converted UTF-8 string.
- * \param len Size, in bytes, of destination buffer.
- */
-__EXPORT__ void PHYSFS_utf8FromUcs2(const PHYSFS_uint16 *src, char *dst,
- PHYSFS_uint64 len);
-
-/**
- * \fn PHYSFS_utf8ToUcs2(const char *src, PHYSFS_uint16 *dst, PHYSFS_uint64 len)
- * \brief Convert a UTF-8 string to a UCS-2 string.
- *
- * UCS-2 strings are 16-bits per character: \c TCHAR on Windows, when building
- * with Unicode support.
- *
- * To ensure that the destination buffer is large enough for the conversion,
- * please allocate a buffer that is double the size of the source buffer.
- * UTF-8 uses from one to four bytes per character, but UCS-2 always uses
- * two, so an entirely low-ASCII string will double in size!
- *
- * Strings that don't fit in the destination buffer will be truncated, but
- * will always be null-terminated and never have an incomplete UCS-2
- * sequence at the end.
- *
- * Please note that UCS-2 is not UTF-16; we do not support the "surrogate"
- * values at this time.
- *
- * \param src Null-terminated source string in UTF-8 format.
- * \param dst Buffer to store converted UCS-2 string.
- * \param len Size, in bytes, of destination buffer.
- */
-__EXPORT__ void PHYSFS_utf8ToUcs2(const char *src, PHYSFS_uint16 *dst,
- PHYSFS_uint64 len);
-
-/**
- * \fn void PHYSFS_utf8FromLatin1(const char *src, char *dst, PHYSFS_uint64 len)
- * \brief Convert a UTF-8 string to a Latin1 string.
- *
- * Latin1 strings are 8-bits per character: a popular "high ASCII"
- * encoding.
- *
- * To ensure that the destination buffer is large enough for the conversion,
- * please allocate a buffer that is double the size of the source buffer.
- * UTF-8 expands latin1 codepoints over 127 from 1 to 2 bytes, so the string
- * may grow in some cases.
- *
- * Strings that don't fit in the destination buffer will be truncated, but
- * will always be null-terminated and never have an incomplete UTF-8
- * sequence at the end.
- *
- * Please note that we do not supply a UTF-8 to Latin1 converter, since Latin1
- * can't express most Unicode codepoints. It's a legacy encoding; you should
- * be converting away from it at all times.
- *
- * \param src Null-terminated source string in Latin1 format.
- * \param dst Buffer to store converted UTF-8 string.
- * \param len Size, in bytes, of destination buffer.
- */
-__EXPORT__ void PHYSFS_utf8FromLatin1(const char *src, char *dst,
- PHYSFS_uint64 len);
-
-/* Everything above this line is part of the PhysicsFS 2.0 API. */
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !defined _INCLUDE_PHYSFS_H_ */
-
-/* end of physfs.h ... */
-
diff --git a/Frameworks/physfs.framework/Versions/A/Headers/physfs_casefolding.h b/Frameworks/physfs.framework/Versions/A/Headers/physfs_casefolding.h
deleted file mode 100644
index 0e50f1e7..00000000
--- a/Frameworks/physfs.framework/Versions/A/Headers/physfs_casefolding.h
+++ /dev/null
@@ -1,2013 +0,0 @@
-/*
- * This file is part of PhysicsFS (http://icculus.org/physfs/)
- *
- * This data generated by physfs/extras/makecasefoldhashtable.pl ...
- * Do not manually edit this file!
- *
- * Please see the file LICENSE.txt in the source's root directory.
- */
-
-#ifndef __PHYSICSFS_INTERNAL__
-#error Do not include this header from your applications.
-#endif
-
-static const CaseFoldMapping case_fold_000[] = {
- { 0x0202, 0x0203, 0x0000, 0x0000 },
- { 0x0404, 0x0454, 0x0000, 0x0000 },
- { 0x1E1E, 0x1E1F, 0x0000, 0x0000 },
- { 0x2C2C, 0x2C5C, 0x0000, 0x0000 },
- { 0x10404, 0x1042C, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_001[] = {
- { 0x0100, 0x0101, 0x0000, 0x0000 },
- { 0x0405, 0x0455, 0x0000, 0x0000 },
- { 0x0504, 0x0505, 0x0000, 0x0000 },
- { 0x2C2D, 0x2C5D, 0x0000, 0x0000 },
- { 0x10405, 0x1042D, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_002[] = {
- { 0x0200, 0x0201, 0x0000, 0x0000 },
- { 0x0406, 0x0456, 0x0000, 0x0000 },
- { 0x1E1C, 0x1E1D, 0x0000, 0x0000 },
- { 0x1F1D, 0x1F15, 0x0000, 0x0000 },
- { 0x2C2E, 0x2C5E, 0x0000, 0x0000 },
- { 0x10406, 0x1042E, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_003[] = {
- { 0x0102, 0x0103, 0x0000, 0x0000 },
- { 0x0407, 0x0457, 0x0000, 0x0000 },
- { 0x0506, 0x0507, 0x0000, 0x0000 },
- { 0x1F1C, 0x1F14, 0x0000, 0x0000 },
- { 0x10407, 0x1042F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_004[] = {
- { 0x0206, 0x0207, 0x0000, 0x0000 },
- { 0x0400, 0x0450, 0x0000, 0x0000 },
- { 0x1E1A, 0x1E1B, 0x0000, 0x0000 },
- { 0x1F1B, 0x1F13, 0x0000, 0x0000 },
- { 0x2C28, 0x2C58, 0x0000, 0x0000 },
- { 0x10400, 0x10428, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_005[] = {
- { 0x0104, 0x0105, 0x0000, 0x0000 },
- { 0x0401, 0x0451, 0x0000, 0x0000 },
- { 0x0500, 0x0501, 0x0000, 0x0000 },
- { 0x1F1A, 0x1F12, 0x0000, 0x0000 },
- { 0x2C29, 0x2C59, 0x0000, 0x0000 },
- { 0x10401, 0x10429, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_006[] = {
- { 0x0204, 0x0205, 0x0000, 0x0000 },
- { 0x0402, 0x0452, 0x0000, 0x0000 },
- { 0x1E18, 0x1E19, 0x0000, 0x0000 },
- { 0x1F19, 0x1F11, 0x0000, 0x0000 },
- { 0x2C2A, 0x2C5A, 0x0000, 0x0000 },
- { 0x10402, 0x1042A, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_007[] = {
- { 0x0106, 0x0107, 0x0000, 0x0000 },
- { 0x0403, 0x0453, 0x0000, 0x0000 },
- { 0x0502, 0x0503, 0x0000, 0x0000 },
- { 0x1F18, 0x1F10, 0x0000, 0x0000 },
- { 0x2126, 0x03C9, 0x0000, 0x0000 },
- { 0x2C2B, 0x2C5B, 0x0000, 0x0000 },
- { 0x10403, 0x1042B, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_008[] = {
- { 0x020A, 0x020B, 0x0000, 0x0000 },
- { 0x040C, 0x045C, 0x0000, 0x0000 },
- { 0x1E16, 0x1E17, 0x0000, 0x0000 },
- { 0x2C24, 0x2C54, 0x0000, 0x0000 },
- { 0x1040C, 0x10434, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_009[] = {
- { 0x0108, 0x0109, 0x0000, 0x0000 },
- { 0x040D, 0x045D, 0x0000, 0x0000 },
- { 0x050C, 0x050D, 0x0000, 0x0000 },
- { 0x2C25, 0x2C55, 0x0000, 0x0000 },
- { 0x1040D, 0x10435, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_010[] = {
- { 0x0208, 0x0209, 0x0000, 0x0000 },
- { 0x040E, 0x045E, 0x0000, 0x0000 },
- { 0x1E14, 0x1E15, 0x0000, 0x0000 },
- { 0x212B, 0x00E5, 0x0000, 0x0000 },
- { 0x2C26, 0x2C56, 0x0000, 0x0000 },
- { 0x1040E, 0x10436, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_011[] = {
- { 0x010A, 0x010B, 0x0000, 0x0000 },
- { 0x040F, 0x045F, 0x0000, 0x0000 },
- { 0x050E, 0x050F, 0x0000, 0x0000 },
- { 0x212A, 0x006B, 0x0000, 0x0000 },
- { 0x2C27, 0x2C57, 0x0000, 0x0000 },
- { 0x1040F, 0x10437, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_012[] = {
- { 0x020E, 0x020F, 0x0000, 0x0000 },
- { 0x0408, 0x0458, 0x0000, 0x0000 },
- { 0x1E12, 0x1E13, 0x0000, 0x0000 },
- { 0x2C20, 0x2C50, 0x0000, 0x0000 },
- { 0x10408, 0x10430, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_013[] = {
- { 0x010C, 0x010D, 0x0000, 0x0000 },
- { 0x0409, 0x0459, 0x0000, 0x0000 },
- { 0x0508, 0x0509, 0x0000, 0x0000 },
- { 0x2C21, 0x2C51, 0x0000, 0x0000 },
- { 0x10409, 0x10431, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_014[] = {
- { 0x020C, 0x020D, 0x0000, 0x0000 },
- { 0x040A, 0x045A, 0x0000, 0x0000 },
- { 0x1E10, 0x1E11, 0x0000, 0x0000 },
- { 0x2C22, 0x2C52, 0x0000, 0x0000 },
- { 0x1040A, 0x10432, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_015[] = {
- { 0x010E, 0x010F, 0x0000, 0x0000 },
- { 0x040B, 0x045B, 0x0000, 0x0000 },
- { 0x050A, 0x050B, 0x0000, 0x0000 },
- { 0x2C23, 0x2C53, 0x0000, 0x0000 },
- { 0x1040B, 0x10433, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_016[] = {
- { 0x0212, 0x0213, 0x0000, 0x0000 },
- { 0x0414, 0x0434, 0x0000, 0x0000 },
- { 0x1E0E, 0x1E0F, 0x0000, 0x0000 },
- { 0x1F0F, 0x1F07, 0x0000, 0x0000 },
- { 0x10414, 0x1043C, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_017[] = {
- { 0x0110, 0x0111, 0x0000, 0x0000 },
- { 0x0415, 0x0435, 0x0000, 0x0000 },
- { 0x1F0E, 0x1F06, 0x0000, 0x0000 },
- { 0x10415, 0x1043D, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_018[] = {
- { 0x0210, 0x0211, 0x0000, 0x0000 },
- { 0x0416, 0x0436, 0x0000, 0x0000 },
- { 0x1E0C, 0x1E0D, 0x0000, 0x0000 },
- { 0x1F0D, 0x1F05, 0x0000, 0x0000 },
- { 0x10416, 0x1043E, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_019[] = {
- { 0x0112, 0x0113, 0x0000, 0x0000 },
- { 0x0417, 0x0437, 0x0000, 0x0000 },
- { 0x1F0C, 0x1F04, 0x0000, 0x0000 },
- { 0x10417, 0x1043F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_020[] = {
- { 0x0216, 0x0217, 0x0000, 0x0000 },
- { 0x0410, 0x0430, 0x0000, 0x0000 },
- { 0x1E0A, 0x1E0B, 0x0000, 0x0000 },
- { 0x1F0B, 0x1F03, 0x0000, 0x0000 },
- { 0x10410, 0x10438, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_021[] = {
- { 0x0114, 0x0115, 0x0000, 0x0000 },
- { 0x0411, 0x0431, 0x0000, 0x0000 },
- { 0x1F0A, 0x1F02, 0x0000, 0x0000 },
- { 0x10411, 0x10439, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_022[] = {
- { 0x0214, 0x0215, 0x0000, 0x0000 },
- { 0x0412, 0x0432, 0x0000, 0x0000 },
- { 0x1E08, 0x1E09, 0x0000, 0x0000 },
- { 0x1F09, 0x1F01, 0x0000, 0x0000 },
- { 0x10412, 0x1043A, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_023[] = {
- { 0x0116, 0x0117, 0x0000, 0x0000 },
- { 0x0413, 0x0433, 0x0000, 0x0000 },
- { 0x1F08, 0x1F00, 0x0000, 0x0000 },
- { 0x10413, 0x1043B, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_024[] = {
- { 0x021A, 0x021B, 0x0000, 0x0000 },
- { 0x041C, 0x043C, 0x0000, 0x0000 },
- { 0x1E06, 0x1E07, 0x0000, 0x0000 },
- { 0x1041C, 0x10444, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_025[] = {
- { 0x0118, 0x0119, 0x0000, 0x0000 },
- { 0x041D, 0x043D, 0x0000, 0x0000 },
- { 0x1041D, 0x10445, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_026[] = {
- { 0x0218, 0x0219, 0x0000, 0x0000 },
- { 0x041E, 0x043E, 0x0000, 0x0000 },
- { 0x1E04, 0x1E05, 0x0000, 0x0000 },
- { 0x1041E, 0x10446, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_027[] = {
- { 0x011A, 0x011B, 0x0000, 0x0000 },
- { 0x041F, 0x043F, 0x0000, 0x0000 },
- { 0x1041F, 0x10447, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_028[] = {
- { 0x021E, 0x021F, 0x0000, 0x0000 },
- { 0x0418, 0x0438, 0x0000, 0x0000 },
- { 0x1E02, 0x1E03, 0x0000, 0x0000 },
- { 0x10418, 0x10440, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_029[] = {
- { 0x011C, 0x011D, 0x0000, 0x0000 },
- { 0x0419, 0x0439, 0x0000, 0x0000 },
- { 0x10419, 0x10441, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_030[] = {
- { 0x021C, 0x021D, 0x0000, 0x0000 },
- { 0x041A, 0x043A, 0x0000, 0x0000 },
- { 0x1E00, 0x1E01, 0x0000, 0x0000 },
- { 0x1041A, 0x10442, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_031[] = {
- { 0x011E, 0x011F, 0x0000, 0x0000 },
- { 0x041B, 0x043B, 0x0000, 0x0000 },
- { 0x1041B, 0x10443, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_032[] = {
- { 0x0222, 0x0223, 0x0000, 0x0000 },
- { 0x0424, 0x0444, 0x0000, 0x0000 },
- { 0x1E3E, 0x1E3F, 0x0000, 0x0000 },
- { 0x1F3F, 0x1F37, 0x0000, 0x0000 },
- { 0x2C0C, 0x2C3C, 0x0000, 0x0000 },
- { 0x10424, 0x1044C, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_033[] = {
- { 0x0120, 0x0121, 0x0000, 0x0000 },
- { 0x0425, 0x0445, 0x0000, 0x0000 },
- { 0x1F3E, 0x1F36, 0x0000, 0x0000 },
- { 0x2C0D, 0x2C3D, 0x0000, 0x0000 },
- { 0x10425, 0x1044D, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_034[] = {
- { 0x0220, 0x019E, 0x0000, 0x0000 },
- { 0x0426, 0x0446, 0x0000, 0x0000 },
- { 0x1E3C, 0x1E3D, 0x0000, 0x0000 },
- { 0x1F3D, 0x1F35, 0x0000, 0x0000 },
- { 0x2C0E, 0x2C3E, 0x0000, 0x0000 },
- { 0x10426, 0x1044E, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_035[] = {
- { 0x0122, 0x0123, 0x0000, 0x0000 },
- { 0x0427, 0x0447, 0x0000, 0x0000 },
- { 0x1F3C, 0x1F34, 0x0000, 0x0000 },
- { 0x2C0F, 0x2C3F, 0x0000, 0x0000 },
- { 0x10427, 0x1044F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_036[] = {
- { 0x0226, 0x0227, 0x0000, 0x0000 },
- { 0x0420, 0x0440, 0x0000, 0x0000 },
- { 0x1E3A, 0x1E3B, 0x0000, 0x0000 },
- { 0x1F3B, 0x1F33, 0x0000, 0x0000 },
- { 0x2C08, 0x2C38, 0x0000, 0x0000 },
- { 0x10420, 0x10448, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_037[] = {
- { 0x0124, 0x0125, 0x0000, 0x0000 },
- { 0x0421, 0x0441, 0x0000, 0x0000 },
- { 0x1F3A, 0x1F32, 0x0000, 0x0000 },
- { 0x2C09, 0x2C39, 0x0000, 0x0000 },
- { 0x10421, 0x10449, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_038[] = {
- { 0x0224, 0x0225, 0x0000, 0x0000 },
- { 0x0422, 0x0442, 0x0000, 0x0000 },
- { 0x1E38, 0x1E39, 0x0000, 0x0000 },
- { 0x1F39, 0x1F31, 0x0000, 0x0000 },
- { 0x2C0A, 0x2C3A, 0x0000, 0x0000 },
- { 0x10422, 0x1044A, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_039[] = {
- { 0x0126, 0x0127, 0x0000, 0x0000 },
- { 0x0423, 0x0443, 0x0000, 0x0000 },
- { 0x1F38, 0x1F30, 0x0000, 0x0000 },
- { 0x2C0B, 0x2C3B, 0x0000, 0x0000 },
- { 0x10423, 0x1044B, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_040[] = {
- { 0x022A, 0x022B, 0x0000, 0x0000 },
- { 0x042C, 0x044C, 0x0000, 0x0000 },
- { 0x1E36, 0x1E37, 0x0000, 0x0000 },
- { 0x2C04, 0x2C34, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_041[] = {
- { 0x0128, 0x0129, 0x0000, 0x0000 },
- { 0x042D, 0x044D, 0x0000, 0x0000 },
- { 0x2C05, 0x2C35, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_042[] = {
- { 0x0228, 0x0229, 0x0000, 0x0000 },
- { 0x042E, 0x044E, 0x0000, 0x0000 },
- { 0x1E34, 0x1E35, 0x0000, 0x0000 },
- { 0x2C06, 0x2C36, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_043[] = {
- { 0x012A, 0x012B, 0x0000, 0x0000 },
- { 0x042F, 0x044F, 0x0000, 0x0000 },
- { 0x2C07, 0x2C37, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_044[] = {
- { 0x022E, 0x022F, 0x0000, 0x0000 },
- { 0x0428, 0x0448, 0x0000, 0x0000 },
- { 0x1E32, 0x1E33, 0x0000, 0x0000 },
- { 0x2C00, 0x2C30, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_045[] = {
- { 0x012C, 0x012D, 0x0000, 0x0000 },
- { 0x0429, 0x0449, 0x0000, 0x0000 },
- { 0x2C01, 0x2C31, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_046[] = {
- { 0x022C, 0x022D, 0x0000, 0x0000 },
- { 0x042A, 0x044A, 0x0000, 0x0000 },
- { 0x1E30, 0x1E31, 0x0000, 0x0000 },
- { 0x2C02, 0x2C32, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_047[] = {
- { 0x012E, 0x012F, 0x0000, 0x0000 },
- { 0x042B, 0x044B, 0x0000, 0x0000 },
- { 0x2C03, 0x2C33, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_048[] = {
- { 0x0232, 0x0233, 0x0000, 0x0000 },
- { 0x0535, 0x0565, 0x0000, 0x0000 },
- { 0x1E2E, 0x1E2F, 0x0000, 0x0000 },
- { 0x1F2F, 0x1F27, 0x0000, 0x0000 },
- { 0x2C1C, 0x2C4C, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_049[] = {
- { 0x0130, 0x0069, 0x0307, 0x0000 },
- { 0x0534, 0x0564, 0x0000, 0x0000 },
- { 0x1F2E, 0x1F26, 0x0000, 0x0000 },
- { 0x2C1D, 0x2C4D, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_050[] = {
- { 0x0230, 0x0231, 0x0000, 0x0000 },
- { 0x0537, 0x0567, 0x0000, 0x0000 },
- { 0x1E2C, 0x1E2D, 0x0000, 0x0000 },
- { 0x1F2D, 0x1F25, 0x0000, 0x0000 },
- { 0x2C1E, 0x2C4E, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_051[] = {
- { 0x0132, 0x0133, 0x0000, 0x0000 },
- { 0x0536, 0x0566, 0x0000, 0x0000 },
- { 0x1F2C, 0x1F24, 0x0000, 0x0000 },
- { 0x2C1F, 0x2C4F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_052[] = {
- { 0x0531, 0x0561, 0x0000, 0x0000 },
- { 0x1E2A, 0x1E2B, 0x0000, 0x0000 },
- { 0x1F2B, 0x1F23, 0x0000, 0x0000 },
- { 0x2C18, 0x2C48, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_053[] = {
- { 0x0134, 0x0135, 0x0000, 0x0000 },
- { 0x1F2A, 0x1F22, 0x0000, 0x0000 },
- { 0x2C19, 0x2C49, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_054[] = {
- { 0x0533, 0x0563, 0x0000, 0x0000 },
- { 0x1E28, 0x1E29, 0x0000, 0x0000 },
- { 0x1F29, 0x1F21, 0x0000, 0x0000 },
- { 0x2C1A, 0x2C4A, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_055[] = {
- { 0x0136, 0x0137, 0x0000, 0x0000 },
- { 0x0532, 0x0562, 0x0000, 0x0000 },
- { 0x1F28, 0x1F20, 0x0000, 0x0000 },
- { 0x2C1B, 0x2C4B, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_056[] = {
- { 0x0139, 0x013A, 0x0000, 0x0000 },
- { 0x053D, 0x056D, 0x0000, 0x0000 },
- { 0x1E26, 0x1E27, 0x0000, 0x0000 },
- { 0x2C14, 0x2C44, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_057[] = {
- { 0x023B, 0x023C, 0x0000, 0x0000 },
- { 0x053C, 0x056C, 0x0000, 0x0000 },
- { 0x2C15, 0x2C45, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_058[] = {
- { 0x013B, 0x013C, 0x0000, 0x0000 },
- { 0x053F, 0x056F, 0x0000, 0x0000 },
- { 0x1E24, 0x1E25, 0x0000, 0x0000 },
- { 0x2C16, 0x2C46, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_059[] = {
- { 0x053E, 0x056E, 0x0000, 0x0000 },
- { 0x2C17, 0x2C47, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_060[] = {
- { 0x013D, 0x013E, 0x0000, 0x0000 },
- { 0x0539, 0x0569, 0x0000, 0x0000 },
- { 0x1E22, 0x1E23, 0x0000, 0x0000 },
- { 0x2C10, 0x2C40, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_061[] = {
- { 0x0538, 0x0568, 0x0000, 0x0000 },
- { 0x2C11, 0x2C41, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_062[] = {
- { 0x013F, 0x0140, 0x0000, 0x0000 },
- { 0x053B, 0x056B, 0x0000, 0x0000 },
- { 0x1E20, 0x1E21, 0x0000, 0x0000 },
- { 0x2C12, 0x2C42, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_063[] = {
- { 0x023D, 0x019A, 0x0000, 0x0000 },
- { 0x053A, 0x056A, 0x0000, 0x0000 },
- { 0x2C13, 0x2C43, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_064[] = {
- { 0x0141, 0x0142, 0x0000, 0x0000 },
- { 0x0545, 0x0575, 0x0000, 0x0000 },
- { 0x1E5E, 0x1E5F, 0x0000, 0x0000 },
- { 0x1F5F, 0x1F57, 0x0000, 0x0000 },
- { 0x2161, 0x2171, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_065[] = {
- { 0x0041, 0x0061, 0x0000, 0x0000 },
- { 0x0544, 0x0574, 0x0000, 0x0000 },
- { 0x2160, 0x2170, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_066[] = {
- { 0x0042, 0x0062, 0x0000, 0x0000 },
- { 0x0143, 0x0144, 0x0000, 0x0000 },
- { 0x0547, 0x0577, 0x0000, 0x0000 },
- { 0x1E5C, 0x1E5D, 0x0000, 0x0000 },
- { 0x1F5D, 0x1F55, 0x0000, 0x0000 },
- { 0x2163, 0x2173, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_067[] = {
- { 0x0043, 0x0063, 0x0000, 0x0000 },
- { 0x0241, 0x0294, 0x0000, 0x0000 },
- { 0x0546, 0x0576, 0x0000, 0x0000 },
- { 0x2162, 0x2172, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_068[] = {
- { 0x0044, 0x0064, 0x0000, 0x0000 },
- { 0x0145, 0x0146, 0x0000, 0x0000 },
- { 0x0541, 0x0571, 0x0000, 0x0000 },
- { 0x1E5A, 0x1E5B, 0x0000, 0x0000 },
- { 0x1F5B, 0x1F53, 0x0000, 0x0000 },
- { 0x2165, 0x2175, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_069[] = {
- { 0x0045, 0x0065, 0x0000, 0x0000 },
- { 0x0540, 0x0570, 0x0000, 0x0000 },
- { 0x2164, 0x2174, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_070[] = {
- { 0x0046, 0x0066, 0x0000, 0x0000 },
- { 0x0147, 0x0148, 0x0000, 0x0000 },
- { 0x0345, 0x03B9, 0x0000, 0x0000 },
- { 0x0543, 0x0573, 0x0000, 0x0000 },
- { 0x1E58, 0x1E59, 0x0000, 0x0000 },
- { 0x1F59, 0x1F51, 0x0000, 0x0000 },
- { 0x2167, 0x2177, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_071[] = {
- { 0x0047, 0x0067, 0x0000, 0x0000 },
- { 0x0542, 0x0572, 0x0000, 0x0000 },
- { 0x2166, 0x2176, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_072[] = {
- { 0x0048, 0x0068, 0x0000, 0x0000 },
- { 0x0149, 0x02BC, 0x006E, 0x0000 },
- { 0x054D, 0x057D, 0x0000, 0x0000 },
- { 0x1E56, 0x1E57, 0x0000, 0x0000 },
- { 0x2169, 0x2179, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_073[] = {
- { 0x0049, 0x0069, 0x0000, 0x0000 },
- { 0x054C, 0x057C, 0x0000, 0x0000 },
- { 0x1F56, 0x03C5, 0x0313, 0x0342 },
- { 0x2168, 0x2178, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_074[] = {
- { 0x004A, 0x006A, 0x0000, 0x0000 },
- { 0x054F, 0x057F, 0x0000, 0x0000 },
- { 0x1E54, 0x1E55, 0x0000, 0x0000 },
- { 0x216B, 0x217B, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_075[] = {
- { 0x004B, 0x006B, 0x0000, 0x0000 },
- { 0x014A, 0x014B, 0x0000, 0x0000 },
- { 0x054E, 0x057E, 0x0000, 0x0000 },
- { 0x1F54, 0x03C5, 0x0313, 0x0301 },
- { 0x216A, 0x217A, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_076[] = {
- { 0x004C, 0x006C, 0x0000, 0x0000 },
- { 0x0549, 0x0579, 0x0000, 0x0000 },
- { 0x1E52, 0x1E53, 0x0000, 0x0000 },
- { 0x216D, 0x217D, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_077[] = {
- { 0x004D, 0x006D, 0x0000, 0x0000 },
- { 0x014C, 0x014D, 0x0000, 0x0000 },
- { 0x0548, 0x0578, 0x0000, 0x0000 },
- { 0x1F52, 0x03C5, 0x0313, 0x0300 },
- { 0x216C, 0x217C, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_078[] = {
- { 0x004E, 0x006E, 0x0000, 0x0000 },
- { 0x054B, 0x057B, 0x0000, 0x0000 },
- { 0x1E50, 0x1E51, 0x0000, 0x0000 },
- { 0x216F, 0x217F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_079[] = {
- { 0x004F, 0x006F, 0x0000, 0x0000 },
- { 0x014E, 0x014F, 0x0000, 0x0000 },
- { 0x054A, 0x057A, 0x0000, 0x0000 },
- { 0x1F50, 0x03C5, 0x0313, 0x0000 },
- { 0x216E, 0x217E, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_080[] = {
- { 0x0050, 0x0070, 0x0000, 0x0000 },
- { 0x0555, 0x0585, 0x0000, 0x0000 },
- { 0x1E4E, 0x1E4F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_081[] = {
- { 0x0051, 0x0071, 0x0000, 0x0000 },
- { 0x0150, 0x0151, 0x0000, 0x0000 },
- { 0x0554, 0x0584, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_082[] = {
- { 0x0052, 0x0072, 0x0000, 0x0000 },
- { 0x1E4C, 0x1E4D, 0x0000, 0x0000 },
- { 0x1F4D, 0x1F45, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_083[] = {
- { 0x0053, 0x0073, 0x0000, 0x0000 },
- { 0x0152, 0x0153, 0x0000, 0x0000 },
- { 0x0556, 0x0586, 0x0000, 0x0000 },
- { 0x1F4C, 0x1F44, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_084[] = {
- { 0x0054, 0x0074, 0x0000, 0x0000 },
- { 0x0551, 0x0581, 0x0000, 0x0000 },
- { 0x1E4A, 0x1E4B, 0x0000, 0x0000 },
- { 0x1F4B, 0x1F43, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_085[] = {
- { 0x0055, 0x0075, 0x0000, 0x0000 },
- { 0x0154, 0x0155, 0x0000, 0x0000 },
- { 0x0550, 0x0580, 0x0000, 0x0000 },
- { 0x1F4A, 0x1F42, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_086[] = {
- { 0x0056, 0x0076, 0x0000, 0x0000 },
- { 0x0553, 0x0583, 0x0000, 0x0000 },
- { 0x1E48, 0x1E49, 0x0000, 0x0000 },
- { 0x1F49, 0x1F41, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_087[] = {
- { 0x0057, 0x0077, 0x0000, 0x0000 },
- { 0x0156, 0x0157, 0x0000, 0x0000 },
- { 0x0552, 0x0582, 0x0000, 0x0000 },
- { 0x1F48, 0x1F40, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_088[] = {
- { 0x0058, 0x0078, 0x0000, 0x0000 },
- { 0x1E46, 0x1E47, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_089[] = {
- { 0x0059, 0x0079, 0x0000, 0x0000 },
- { 0x0158, 0x0159, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_090[] = {
- { 0x005A, 0x007A, 0x0000, 0x0000 },
- { 0x1E44, 0x1E45, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_091[] = {
- { 0x015A, 0x015B, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_092[] = {
- { 0x1E42, 0x1E43, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_093[] = {
- { 0x015C, 0x015D, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_094[] = {
- { 0x1E40, 0x1E41, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_095[] = {
- { 0x015E, 0x015F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_096[] = {
- { 0x0464, 0x0465, 0x0000, 0x0000 },
- { 0x1E7E, 0x1E7F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_097[] = {
- { 0x0160, 0x0161, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_098[] = {
- { 0x0466, 0x0467, 0x0000, 0x0000 },
- { 0x1E7C, 0x1E7D, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_099[] = {
- { 0x0162, 0x0163, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_100[] = {
- { 0x0460, 0x0461, 0x0000, 0x0000 },
- { 0x1E7A, 0x1E7B, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_101[] = {
- { 0x0164, 0x0165, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_102[] = {
- { 0x0462, 0x0463, 0x0000, 0x0000 },
- { 0x1E78, 0x1E79, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_103[] = {
- { 0x0166, 0x0167, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_104[] = {
- { 0x046C, 0x046D, 0x0000, 0x0000 },
- { 0x1E76, 0x1E77, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_105[] = {
- { 0x0168, 0x0169, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_106[] = {
- { 0x046E, 0x046F, 0x0000, 0x0000 },
- { 0x1E74, 0x1E75, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_107[] = {
- { 0x016A, 0x016B, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_108[] = {
- { 0x0468, 0x0469, 0x0000, 0x0000 },
- { 0x1E72, 0x1E73, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_109[] = {
- { 0x016C, 0x016D, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_110[] = {
- { 0x046A, 0x046B, 0x0000, 0x0000 },
- { 0x1E70, 0x1E71, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_111[] = {
- { 0x016E, 0x016F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_112[] = {
- { 0x0474, 0x0475, 0x0000, 0x0000 },
- { 0x1E6E, 0x1E6F, 0x0000, 0x0000 },
- { 0x1F6F, 0x1F67, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_113[] = {
- { 0x0170, 0x0171, 0x0000, 0x0000 },
- { 0x1F6E, 0x1F66, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_114[] = {
- { 0x0476, 0x0477, 0x0000, 0x0000 },
- { 0x1E6C, 0x1E6D, 0x0000, 0x0000 },
- { 0x1F6D, 0x1F65, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_115[] = {
- { 0x0172, 0x0173, 0x0000, 0x0000 },
- { 0x1F6C, 0x1F64, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_116[] = {
- { 0x0470, 0x0471, 0x0000, 0x0000 },
- { 0x1E6A, 0x1E6B, 0x0000, 0x0000 },
- { 0x1F6B, 0x1F63, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_117[] = {
- { 0x0174, 0x0175, 0x0000, 0x0000 },
- { 0x1F6A, 0x1F62, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_118[] = {
- { 0x0472, 0x0473, 0x0000, 0x0000 },
- { 0x1E68, 0x1E69, 0x0000, 0x0000 },
- { 0x1F69, 0x1F61, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_119[] = {
- { 0x0176, 0x0177, 0x0000, 0x0000 },
- { 0x1F68, 0x1F60, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_120[] = {
- { 0x0179, 0x017A, 0x0000, 0x0000 },
- { 0x047C, 0x047D, 0x0000, 0x0000 },
- { 0x1E66, 0x1E67, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_121[] = {
- { 0x0178, 0x00FF, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_122[] = {
- { 0x017B, 0x017C, 0x0000, 0x0000 },
- { 0x047E, 0x047F, 0x0000, 0x0000 },
- { 0x1E64, 0x1E65, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_124[] = {
- { 0x017D, 0x017E, 0x0000, 0x0000 },
- { 0x0478, 0x0479, 0x0000, 0x0000 },
- { 0x1E62, 0x1E63, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_126[] = {
- { 0x017F, 0x0073, 0x0000, 0x0000 },
- { 0x047A, 0x047B, 0x0000, 0x0000 },
- { 0x1E60, 0x1E61, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_128[] = {
- { 0x0181, 0x0253, 0x0000, 0x0000 },
- { 0x1F9F, 0x1F27, 0x03B9, 0x0000 },
- { 0x2CAC, 0x2CAD, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_129[] = {
- { 0x1F9E, 0x1F26, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_130[] = {
- { 0x0587, 0x0565, 0x0582, 0x0000 },
- { 0x1F9D, 0x1F25, 0x03B9, 0x0000 },
- { 0x2CAE, 0x2CAF, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_131[] = {
- { 0x0182, 0x0183, 0x0000, 0x0000 },
- { 0x1F9C, 0x1F24, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_132[] = {
- { 0x0480, 0x0481, 0x0000, 0x0000 },
- { 0x1E9A, 0x0061, 0x02BE, 0x0000 },
- { 0x1F9B, 0x1F23, 0x03B9, 0x0000 },
- { 0x2CA8, 0x2CA9, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_133[] = {
- { 0x0184, 0x0185, 0x0000, 0x0000 },
- { 0x0386, 0x03AC, 0x0000, 0x0000 },
- { 0x1E9B, 0x1E61, 0x0000, 0x0000 },
- { 0x1F9A, 0x1F22, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_134[] = {
- { 0x0187, 0x0188, 0x0000, 0x0000 },
- { 0x1E98, 0x0077, 0x030A, 0x0000 },
- { 0x1F99, 0x1F21, 0x03B9, 0x0000 },
- { 0x2CAA, 0x2CAB, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_135[] = {
- { 0x0186, 0x0254, 0x0000, 0x0000 },
- { 0x1E99, 0x0079, 0x030A, 0x0000 },
- { 0x1F98, 0x1F20, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_136[] = {
- { 0x0189, 0x0256, 0x0000, 0x0000 },
- { 0x048C, 0x048D, 0x0000, 0x0000 },
- { 0x1E96, 0x0068, 0x0331, 0x0000 },
- { 0x1F97, 0x1F27, 0x03B9, 0x0000 },
- { 0x2CA4, 0x2CA5, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_137[] = {
- { 0x038A, 0x03AF, 0x0000, 0x0000 },
- { 0x1E97, 0x0074, 0x0308, 0x0000 },
- { 0x1F96, 0x1F26, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_138[] = {
- { 0x018B, 0x018C, 0x0000, 0x0000 },
- { 0x0389, 0x03AE, 0x0000, 0x0000 },
- { 0x048E, 0x048F, 0x0000, 0x0000 },
- { 0x1E94, 0x1E95, 0x0000, 0x0000 },
- { 0x1F95, 0x1F25, 0x03B9, 0x0000 },
- { 0x2CA6, 0x2CA7, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_139[] = {
- { 0x018A, 0x0257, 0x0000, 0x0000 },
- { 0x0388, 0x03AD, 0x0000, 0x0000 },
- { 0x1F94, 0x1F24, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_140[] = {
- { 0x038F, 0x03CE, 0x0000, 0x0000 },
- { 0x1E92, 0x1E93, 0x0000, 0x0000 },
- { 0x1F93, 0x1F23, 0x03B9, 0x0000 },
- { 0x2CA0, 0x2CA1, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_141[] = {
- { 0x038E, 0x03CD, 0x0000, 0x0000 },
- { 0x1F92, 0x1F22, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_142[] = {
- { 0x018F, 0x0259, 0x0000, 0x0000 },
- { 0x048A, 0x048B, 0x0000, 0x0000 },
- { 0x1E90, 0x1E91, 0x0000, 0x0000 },
- { 0x1F91, 0x1F21, 0x03B9, 0x0000 },
- { 0x2CA2, 0x2CA3, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_143[] = {
- { 0x018E, 0x01DD, 0x0000, 0x0000 },
- { 0x038C, 0x03CC, 0x0000, 0x0000 },
- { 0x1F90, 0x1F20, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_144[] = {
- { 0x0191, 0x0192, 0x0000, 0x0000 },
- { 0x0393, 0x03B3, 0x0000, 0x0000 },
- { 0x0494, 0x0495, 0x0000, 0x0000 },
- { 0x1E8E, 0x1E8F, 0x0000, 0x0000 },
- { 0x1F8F, 0x1F07, 0x03B9, 0x0000 },
- { 0x2CBC, 0x2CBD, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_145[] = {
- { 0x0190, 0x025B, 0x0000, 0x0000 },
- { 0x0392, 0x03B2, 0x0000, 0x0000 },
- { 0x1F8E, 0x1F06, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_146[] = {
- { 0x0193, 0x0260, 0x0000, 0x0000 },
- { 0x0391, 0x03B1, 0x0000, 0x0000 },
- { 0x0496, 0x0497, 0x0000, 0x0000 },
- { 0x1E8C, 0x1E8D, 0x0000, 0x0000 },
- { 0x1F8D, 0x1F05, 0x03B9, 0x0000 },
- { 0x24B6, 0x24D0, 0x0000, 0x0000 },
- { 0x2CBE, 0x2CBF, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_147[] = {
- { 0x0390, 0x03B9, 0x0308, 0x0301 },
- { 0x1F8C, 0x1F04, 0x03B9, 0x0000 },
- { 0x24B7, 0x24D1, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_148[] = {
- { 0x0397, 0x03B7, 0x0000, 0x0000 },
- { 0x0490, 0x0491, 0x0000, 0x0000 },
- { 0x1E8A, 0x1E8B, 0x0000, 0x0000 },
- { 0x1F8B, 0x1F03, 0x03B9, 0x0000 },
- { 0x2CB8, 0x2CB9, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_149[] = {
- { 0x0194, 0x0263, 0x0000, 0x0000 },
- { 0x0396, 0x03B6, 0x0000, 0x0000 },
- { 0x1F8A, 0x1F02, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_150[] = {
- { 0x0197, 0x0268, 0x0000, 0x0000 },
- { 0x0395, 0x03B5, 0x0000, 0x0000 },
- { 0x0492, 0x0493, 0x0000, 0x0000 },
- { 0x1E88, 0x1E89, 0x0000, 0x0000 },
- { 0x1F89, 0x1F01, 0x03B9, 0x0000 },
- { 0x2CBA, 0x2CBB, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_151[] = {
- { 0x0196, 0x0269, 0x0000, 0x0000 },
- { 0x0394, 0x03B4, 0x0000, 0x0000 },
- { 0x1F88, 0x1F00, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_152[] = {
- { 0x039B, 0x03BB, 0x0000, 0x0000 },
- { 0x049C, 0x049D, 0x0000, 0x0000 },
- { 0x1E86, 0x1E87, 0x0000, 0x0000 },
- { 0x1F87, 0x1F07, 0x03B9, 0x0000 },
- { 0x24BC, 0x24D6, 0x0000, 0x0000 },
- { 0x2CB4, 0x2CB5, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_153[] = {
- { 0x0198, 0x0199, 0x0000, 0x0000 },
- { 0x039A, 0x03BA, 0x0000, 0x0000 },
- { 0x1F86, 0x1F06, 0x03B9, 0x0000 },
- { 0x24BD, 0x24D7, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_154[] = {
- { 0x0399, 0x03B9, 0x0000, 0x0000 },
- { 0x049E, 0x049F, 0x0000, 0x0000 },
- { 0x1E84, 0x1E85, 0x0000, 0x0000 },
- { 0x1F85, 0x1F05, 0x03B9, 0x0000 },
- { 0x24BE, 0x24D8, 0x0000, 0x0000 },
- { 0x2CB6, 0x2CB7, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_155[] = {
- { 0x0398, 0x03B8, 0x0000, 0x0000 },
- { 0x1F84, 0x1F04, 0x03B9, 0x0000 },
- { 0x24BF, 0x24D9, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_156[] = {
- { 0x019D, 0x0272, 0x0000, 0x0000 },
- { 0x039F, 0x03BF, 0x0000, 0x0000 },
- { 0x0498, 0x0499, 0x0000, 0x0000 },
- { 0x1E82, 0x1E83, 0x0000, 0x0000 },
- { 0x1F83, 0x1F03, 0x03B9, 0x0000 },
- { 0x24B8, 0x24D2, 0x0000, 0x0000 },
- { 0x2CB0, 0x2CB1, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_157[] = {
- { 0x019C, 0x026F, 0x0000, 0x0000 },
- { 0x039E, 0x03BE, 0x0000, 0x0000 },
- { 0x1F82, 0x1F02, 0x03B9, 0x0000 },
- { 0x24B9, 0x24D3, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_158[] = {
- { 0x019F, 0x0275, 0x0000, 0x0000 },
- { 0x039D, 0x03BD, 0x0000, 0x0000 },
- { 0x049A, 0x049B, 0x0000, 0x0000 },
- { 0x1E80, 0x1E81, 0x0000, 0x0000 },
- { 0x1F81, 0x1F01, 0x03B9, 0x0000 },
- { 0x24BA, 0x24D4, 0x0000, 0x0000 },
- { 0x2CB2, 0x2CB3, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_159[] = {
- { 0x039C, 0x03BC, 0x0000, 0x0000 },
- { 0x1F80, 0x1F00, 0x03B9, 0x0000 },
- { 0x24BB, 0x24D5, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_160[] = {
- { 0x03A3, 0x03C3, 0x0000, 0x0000 },
- { 0x04A4, 0x04A5, 0x0000, 0x0000 },
- { 0x10B0, 0x2D10, 0x0000, 0x0000 },
- { 0x1EBE, 0x1EBF, 0x0000, 0x0000 },
- { 0x2C8C, 0x2C8D, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_161[] = {
- { 0x01A0, 0x01A1, 0x0000, 0x0000 },
- { 0x10B1, 0x2D11, 0x0000, 0x0000 },
- { 0x1FBE, 0x03B9, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_162[] = {
- { 0x03A1, 0x03C1, 0x0000, 0x0000 },
- { 0x04A6, 0x04A7, 0x0000, 0x0000 },
- { 0x10B2, 0x2D12, 0x0000, 0x0000 },
- { 0x1EBC, 0x1EBD, 0x0000, 0x0000 },
- { 0x2C8E, 0x2C8F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_163[] = {
- { 0x01A2, 0x01A3, 0x0000, 0x0000 },
- { 0x03A0, 0x03C0, 0x0000, 0x0000 },
- { 0x10B3, 0x2D13, 0x0000, 0x0000 },
- { 0x1FBC, 0x03B1, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_164[] = {
- { 0x03A7, 0x03C7, 0x0000, 0x0000 },
- { 0x04A0, 0x04A1, 0x0000, 0x0000 },
- { 0x10B4, 0x2D14, 0x0000, 0x0000 },
- { 0x1EBA, 0x1EBB, 0x0000, 0x0000 },
- { 0x1FBB, 0x1F71, 0x0000, 0x0000 },
- { 0x2C88, 0x2C89, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_165[] = {
- { 0x01A4, 0x01A5, 0x0000, 0x0000 },
- { 0x03A6, 0x03C6, 0x0000, 0x0000 },
- { 0x10B5, 0x2D15, 0x0000, 0x0000 },
- { 0x1FBA, 0x1F70, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_166[] = {
- { 0x01A7, 0x01A8, 0x0000, 0x0000 },
- { 0x03A5, 0x03C5, 0x0000, 0x0000 },
- { 0x04A2, 0x04A3, 0x0000, 0x0000 },
- { 0x10B6, 0x2D16, 0x0000, 0x0000 },
- { 0x1EB8, 0x1EB9, 0x0000, 0x0000 },
- { 0x1FB9, 0x1FB1, 0x0000, 0x0000 },
- { 0x2C8A, 0x2C8B, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_167[] = {
- { 0x01A6, 0x0280, 0x0000, 0x0000 },
- { 0x03A4, 0x03C4, 0x0000, 0x0000 },
- { 0x10B7, 0x2D17, 0x0000, 0x0000 },
- { 0x1FB8, 0x1FB0, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_168[] = {
- { 0x01A9, 0x0283, 0x0000, 0x0000 },
- { 0x03AB, 0x03CB, 0x0000, 0x0000 },
- { 0x04AC, 0x04AD, 0x0000, 0x0000 },
- { 0x10B8, 0x2D18, 0x0000, 0x0000 },
- { 0x1EB6, 0x1EB7, 0x0000, 0x0000 },
- { 0x1FB7, 0x03B1, 0x0342, 0x03B9 },
- { 0x2C84, 0x2C85, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_169[] = {
- { 0x03AA, 0x03CA, 0x0000, 0x0000 },
- { 0x10B9, 0x2D19, 0x0000, 0x0000 },
- { 0x1FB6, 0x03B1, 0x0342, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_170[] = {
- { 0x03A9, 0x03C9, 0x0000, 0x0000 },
- { 0x04AE, 0x04AF, 0x0000, 0x0000 },
- { 0x10BA, 0x2D1A, 0x0000, 0x0000 },
- { 0x1EB4, 0x1EB5, 0x0000, 0x0000 },
- { 0x2C86, 0x2C87, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_171[] = {
- { 0x03A8, 0x03C8, 0x0000, 0x0000 },
- { 0x10BB, 0x2D1B, 0x0000, 0x0000 },
- { 0x1FB4, 0x03AC, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_172[] = {
- { 0x04A8, 0x04A9, 0x0000, 0x0000 },
- { 0x10BC, 0x2D1C, 0x0000, 0x0000 },
- { 0x1EB2, 0x1EB3, 0x0000, 0x0000 },
- { 0x1FB3, 0x03B1, 0x03B9, 0x0000 },
- { 0x2C80, 0x2C81, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_173[] = {
- { 0x01AC, 0x01AD, 0x0000, 0x0000 },
- { 0x10BD, 0x2D1D, 0x0000, 0x0000 },
- { 0x1FB2, 0x1F70, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_174[] = {
- { 0x01AF, 0x01B0, 0x0000, 0x0000 },
- { 0x04AA, 0x04AB, 0x0000, 0x0000 },
- { 0x10BE, 0x2D1E, 0x0000, 0x0000 },
- { 0x1EB0, 0x1EB1, 0x0000, 0x0000 },
- { 0x2C82, 0x2C83, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_175[] = {
- { 0x01AE, 0x0288, 0x0000, 0x0000 },
- { 0x10BF, 0x2D1F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_176[] = {
- { 0x01B1, 0x028A, 0x0000, 0x0000 },
- { 0x04B4, 0x04B5, 0x0000, 0x0000 },
- { 0x10A0, 0x2D00, 0x0000, 0x0000 },
- { 0x1EAE, 0x1EAF, 0x0000, 0x0000 },
- { 0x1FAF, 0x1F67, 0x03B9, 0x0000 },
- { 0x2C9C, 0x2C9D, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_177[] = {
- { 0x10A1, 0x2D01, 0x0000, 0x0000 },
- { 0x1FAE, 0x1F66, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_178[] = {
- { 0x01B3, 0x01B4, 0x0000, 0x0000 },
- { 0x04B6, 0x04B7, 0x0000, 0x0000 },
- { 0x10A2, 0x2D02, 0x0000, 0x0000 },
- { 0x1EAC, 0x1EAD, 0x0000, 0x0000 },
- { 0x1FAD, 0x1F65, 0x03B9, 0x0000 },
- { 0x2C9E, 0x2C9F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_179[] = {
- { 0x01B2, 0x028B, 0x0000, 0x0000 },
- { 0x03B0, 0x03C5, 0x0308, 0x0301 },
- { 0x10A3, 0x2D03, 0x0000, 0x0000 },
- { 0x1FAC, 0x1F64, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_180[] = {
- { 0x01B5, 0x01B6, 0x0000, 0x0000 },
- { 0x04B0, 0x04B1, 0x0000, 0x0000 },
- { 0x10A4, 0x2D04, 0x0000, 0x0000 },
- { 0x1EAA, 0x1EAB, 0x0000, 0x0000 },
- { 0x1FAB, 0x1F63, 0x03B9, 0x0000 },
- { 0x2C98, 0x2C99, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_181[] = {
- { 0x00B5, 0x03BC, 0x0000, 0x0000 },
- { 0x10A5, 0x2D05, 0x0000, 0x0000 },
- { 0x1FAA, 0x1F62, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_182[] = {
- { 0x01B7, 0x0292, 0x0000, 0x0000 },
- { 0x04B2, 0x04B3, 0x0000, 0x0000 },
- { 0x10A6, 0x2D06, 0x0000, 0x0000 },
- { 0x1EA8, 0x1EA9, 0x0000, 0x0000 },
- { 0x1FA9, 0x1F61, 0x03B9, 0x0000 },
- { 0x2C9A, 0x2C9B, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_183[] = {
- { 0x10A7, 0x2D07, 0x0000, 0x0000 },
- { 0x1FA8, 0x1F60, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_184[] = {
- { 0x04BC, 0x04BD, 0x0000, 0x0000 },
- { 0x10A8, 0x2D08, 0x0000, 0x0000 },
- { 0x1EA6, 0x1EA7, 0x0000, 0x0000 },
- { 0x1FA7, 0x1F67, 0x03B9, 0x0000 },
- { 0x2C94, 0x2C95, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_185[] = {
- { 0x01B8, 0x01B9, 0x0000, 0x0000 },
- { 0x10A9, 0x2D09, 0x0000, 0x0000 },
- { 0x1FA6, 0x1F66, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_186[] = {
- { 0x04BE, 0x04BF, 0x0000, 0x0000 },
- { 0x10AA, 0x2D0A, 0x0000, 0x0000 },
- { 0x1EA4, 0x1EA5, 0x0000, 0x0000 },
- { 0x1FA5, 0x1F65, 0x03B9, 0x0000 },
- { 0x2C96, 0x2C97, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_187[] = {
- { 0x10AB, 0x2D0B, 0x0000, 0x0000 },
- { 0x1FA4, 0x1F64, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_188[] = {
- { 0x04B8, 0x04B9, 0x0000, 0x0000 },
- { 0x10AC, 0x2D0C, 0x0000, 0x0000 },
- { 0x1EA2, 0x1EA3, 0x0000, 0x0000 },
- { 0x1FA3, 0x1F63, 0x03B9, 0x0000 },
- { 0x2C90, 0x2C91, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_189[] = {
- { 0x01BC, 0x01BD, 0x0000, 0x0000 },
- { 0x10AD, 0x2D0D, 0x0000, 0x0000 },
- { 0x1FA2, 0x1F62, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_190[] = {
- { 0x04BA, 0x04BB, 0x0000, 0x0000 },
- { 0x10AE, 0x2D0E, 0x0000, 0x0000 },
- { 0x1EA0, 0x1EA1, 0x0000, 0x0000 },
- { 0x1FA1, 0x1F61, 0x03B9, 0x0000 },
- { 0x2C92, 0x2C93, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_191[] = {
- { 0x10AF, 0x2D0F, 0x0000, 0x0000 },
- { 0x1FA0, 0x1F60, 0x03B9, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_192[] = {
- { 0x00C0, 0x00E0, 0x0000, 0x0000 },
- { 0x1EDE, 0x1EDF, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_193[] = {
- { 0x00C1, 0x00E1, 0x0000, 0x0000 },
- { 0x03C2, 0x03C3, 0x0000, 0x0000 },
- { 0x04C5, 0x04C6, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_194[] = {
- { 0x00C2, 0x00E2, 0x0000, 0x0000 },
- { 0x1EDC, 0x1EDD, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_195[] = {
- { 0x00C3, 0x00E3, 0x0000, 0x0000 },
- { 0x04C7, 0x04C8, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_196[] = {
- { 0x00C4, 0x00E4, 0x0000, 0x0000 },
- { 0x01C5, 0x01C6, 0x0000, 0x0000 },
- { 0x1EDA, 0x1EDB, 0x0000, 0x0000 },
- { 0x1FDB, 0x1F77, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_197[] = {
- { 0x00C5, 0x00E5, 0x0000, 0x0000 },
- { 0x01C4, 0x01C6, 0x0000, 0x0000 },
- { 0x04C1, 0x04C2, 0x0000, 0x0000 },
- { 0x1FDA, 0x1F76, 0x0000, 0x0000 },
- { 0xFF3A, 0xFF5A, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_198[] = {
- { 0x00C6, 0x00E6, 0x0000, 0x0000 },
- { 0x01C7, 0x01C9, 0x0000, 0x0000 },
- { 0x1ED8, 0x1ED9, 0x0000, 0x0000 },
- { 0x1FD9, 0x1FD1, 0x0000, 0x0000 },
- { 0xFF39, 0xFF59, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_199[] = {
- { 0x00C7, 0x00E7, 0x0000, 0x0000 },
- { 0x04C3, 0x04C4, 0x0000, 0x0000 },
- { 0x1FD8, 0x1FD0, 0x0000, 0x0000 },
- { 0xFF38, 0xFF58, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_200[] = {
- { 0x00C8, 0x00E8, 0x0000, 0x0000 },
- { 0x1ED6, 0x1ED7, 0x0000, 0x0000 },
- { 0x1FD7, 0x03B9, 0x0308, 0x0342 },
- { 0xFF37, 0xFF57, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_201[] = {
- { 0x00C9, 0x00E9, 0x0000, 0x0000 },
- { 0x01C8, 0x01C9, 0x0000, 0x0000 },
- { 0x04CD, 0x04CE, 0x0000, 0x0000 },
- { 0x1FD6, 0x03B9, 0x0342, 0x0000 },
- { 0xFF36, 0xFF56, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_202[] = {
- { 0x00CA, 0x00EA, 0x0000, 0x0000 },
- { 0x01CB, 0x01CC, 0x0000, 0x0000 },
- { 0x1ED4, 0x1ED5, 0x0000, 0x0000 },
- { 0xFF35, 0xFF55, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_203[] = {
- { 0x00CB, 0x00EB, 0x0000, 0x0000 },
- { 0x01CA, 0x01CC, 0x0000, 0x0000 },
- { 0xFF34, 0xFF54, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_204[] = {
- { 0x00CC, 0x00EC, 0x0000, 0x0000 },
- { 0x01CD, 0x01CE, 0x0000, 0x0000 },
- { 0x1ED2, 0x1ED3, 0x0000, 0x0000 },
- { 0x1FD3, 0x03B9, 0x0308, 0x0301 },
- { 0x2CE0, 0x2CE1, 0x0000, 0x0000 },
- { 0xFF33, 0xFF53, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_205[] = {
- { 0x00CD, 0x00ED, 0x0000, 0x0000 },
- { 0x04C9, 0x04CA, 0x0000, 0x0000 },
- { 0x1FD2, 0x03B9, 0x0308, 0x0300 },
- { 0xFF32, 0xFF52, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_206[] = {
- { 0x00CE, 0x00EE, 0x0000, 0x0000 },
- { 0x01CF, 0x01D0, 0x0000, 0x0000 },
- { 0x1ED0, 0x1ED1, 0x0000, 0x0000 },
- { 0x2CE2, 0x2CE3, 0x0000, 0x0000 },
- { 0xFF31, 0xFF51, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_207[] = {
- { 0x00CF, 0x00EF, 0x0000, 0x0000 },
- { 0x04CB, 0x04CC, 0x0000, 0x0000 },
- { 0xFF30, 0xFF50, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_208[] = {
- { 0x00D0, 0x00F0, 0x0000, 0x0000 },
- { 0x01D1, 0x01D2, 0x0000, 0x0000 },
- { 0x04D4, 0x04D5, 0x0000, 0x0000 },
- { 0x10C0, 0x2D20, 0x0000, 0x0000 },
- { 0x1ECE, 0x1ECF, 0x0000, 0x0000 },
- { 0xFF2F, 0xFF4F, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_209[] = {
- { 0x00D1, 0x00F1, 0x0000, 0x0000 },
- { 0x10C1, 0x2D21, 0x0000, 0x0000 },
- { 0xFF2E, 0xFF4E, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_210[] = {
- { 0x00D2, 0x00F2, 0x0000, 0x0000 },
- { 0x01D3, 0x01D4, 0x0000, 0x0000 },
- { 0x03D1, 0x03B8, 0x0000, 0x0000 },
- { 0x04D6, 0x04D7, 0x0000, 0x0000 },
- { 0x10C2, 0x2D22, 0x0000, 0x0000 },
- { 0x1ECC, 0x1ECD, 0x0000, 0x0000 },
- { 0xFF2D, 0xFF4D, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_211[] = {
- { 0x00D3, 0x00F3, 0x0000, 0x0000 },
- { 0x03D0, 0x03B2, 0x0000, 0x0000 },
- { 0x10C3, 0x2D23, 0x0000, 0x0000 },
- { 0x1FCC, 0x03B7, 0x03B9, 0x0000 },
- { 0xFF2C, 0xFF4C, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_212[] = {
- { 0x00D4, 0x00F4, 0x0000, 0x0000 },
- { 0x01D5, 0x01D6, 0x0000, 0x0000 },
- { 0x04D0, 0x04D1, 0x0000, 0x0000 },
- { 0x10C4, 0x2D24, 0x0000, 0x0000 },
- { 0x1ECA, 0x1ECB, 0x0000, 0x0000 },
- { 0x1FCB, 0x1F75, 0x0000, 0x0000 },
- { 0xFF2B, 0xFF4B, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_213[] = {
- { 0x00D5, 0x00F5, 0x0000, 0x0000 },
- { 0x03D6, 0x03C0, 0x0000, 0x0000 },
- { 0x10C5, 0x2D25, 0x0000, 0x0000 },
- { 0x1FCA, 0x1F74, 0x0000, 0x0000 },
- { 0xFF2A, 0xFF4A, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_214[] = {
- { 0x00D6, 0x00F6, 0x0000, 0x0000 },
- { 0x01D7, 0x01D8, 0x0000, 0x0000 },
- { 0x03D5, 0x03C6, 0x0000, 0x0000 },
- { 0x04D2, 0x04D3, 0x0000, 0x0000 },
- { 0x1EC8, 0x1EC9, 0x0000, 0x0000 },
- { 0x1FC9, 0x1F73, 0x0000, 0x0000 },
- { 0xFF29, 0xFF49, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_215[] = {
- { 0x1FC8, 0x1F72, 0x0000, 0x0000 },
- { 0xFF28, 0xFF48, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_216[] = {
- { 0x00D8, 0x00F8, 0x0000, 0x0000 },
- { 0x01D9, 0x01DA, 0x0000, 0x0000 },
- { 0x04DC, 0x04DD, 0x0000, 0x0000 },
- { 0x1EC6, 0x1EC7, 0x0000, 0x0000 },
- { 0x1FC7, 0x03B7, 0x0342, 0x03B9 },
- { 0xFF27, 0xFF47, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_217[] = {
- { 0x00D9, 0x00F9, 0x0000, 0x0000 },
- { 0x03DA, 0x03DB, 0x0000, 0x0000 },
- { 0x1FC6, 0x03B7, 0x0342, 0x0000 },
- { 0xFF26, 0xFF46, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_218[] = {
- { 0x00DA, 0x00FA, 0x0000, 0x0000 },
- { 0x01DB, 0x01DC, 0x0000, 0x0000 },
- { 0x04DE, 0x04DF, 0x0000, 0x0000 },
- { 0x1EC4, 0x1EC5, 0x0000, 0x0000 },
- { 0xFF25, 0xFF45, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_219[] = {
- { 0x00DB, 0x00FB, 0x0000, 0x0000 },
- { 0x03D8, 0x03D9, 0x0000, 0x0000 },
- { 0x1FC4, 0x03AE, 0x03B9, 0x0000 },
- { 0xFF24, 0xFF44, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_220[] = {
- { 0x00DC, 0x00FC, 0x0000, 0x0000 },
- { 0x04D8, 0x04D9, 0x0000, 0x0000 },
- { 0x1EC2, 0x1EC3, 0x0000, 0x0000 },
- { 0x1FC3, 0x03B7, 0x03B9, 0x0000 },
- { 0xFF23, 0xFF43, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_221[] = {
- { 0x00DD, 0x00FD, 0x0000, 0x0000 },
- { 0x03DE, 0x03DF, 0x0000, 0x0000 },
- { 0x1FC2, 0x1F74, 0x03B9, 0x0000 },
- { 0xFF22, 0xFF42, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_222[] = {
- { 0x00DE, 0x00FE, 0x0000, 0x0000 },
- { 0x04DA, 0x04DB, 0x0000, 0x0000 },
- { 0x1EC0, 0x1EC1, 0x0000, 0x0000 },
- { 0xFF21, 0xFF41, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_223[] = {
- { 0x00DF, 0x0073, 0x0073, 0x0000 },
- { 0x01DE, 0x01DF, 0x0000, 0x0000 },
- { 0x03DC, 0x03DD, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_224[] = {
- { 0x04E4, 0x04E5, 0x0000, 0x0000 },
- { 0x24C4, 0x24DE, 0x0000, 0x0000 },
- { 0x2CCC, 0x2CCD, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_225[] = {
- { 0x01E0, 0x01E1, 0x0000, 0x0000 },
- { 0x03E2, 0x03E3, 0x0000, 0x0000 },
- { 0x24C5, 0x24DF, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_226[] = {
- { 0x04E6, 0x04E7, 0x0000, 0x0000 },
- { 0x24C6, 0x24E0, 0x0000, 0x0000 },
- { 0x2CCE, 0x2CCF, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_227[] = {
- { 0x01E2, 0x01E3, 0x0000, 0x0000 },
- { 0x03E0, 0x03E1, 0x0000, 0x0000 },
- { 0x1FFC, 0x03C9, 0x03B9, 0x0000 },
- { 0x24C7, 0x24E1, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_228[] = {
- { 0x04E0, 0x04E1, 0x0000, 0x0000 },
- { 0x1FFB, 0x1F7D, 0x0000, 0x0000 },
- { 0x24C0, 0x24DA, 0x0000, 0x0000 },
- { 0x2CC8, 0x2CC9, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_229[] = {
- { 0x01E4, 0x01E5, 0x0000, 0x0000 },
- { 0x03E6, 0x03E7, 0x0000, 0x0000 },
- { 0x1FFA, 0x1F7C, 0x0000, 0x0000 },
- { 0x24C1, 0x24DB, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_230[] = {
- { 0x04E2, 0x04E3, 0x0000, 0x0000 },
- { 0x1EF8, 0x1EF9, 0x0000, 0x0000 },
- { 0x1FF9, 0x1F79, 0x0000, 0x0000 },
- { 0x24C2, 0x24DC, 0x0000, 0x0000 },
- { 0x2CCA, 0x2CCB, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_231[] = {
- { 0x01E6, 0x01E7, 0x0000, 0x0000 },
- { 0x03E4, 0x03E5, 0x0000, 0x0000 },
- { 0x1FF8, 0x1F78, 0x0000, 0x0000 },
- { 0x24C3, 0x24DD, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_232[] = {
- { 0x04EC, 0x04ED, 0x0000, 0x0000 },
- { 0x1EF6, 0x1EF7, 0x0000, 0x0000 },
- { 0x1FF7, 0x03C9, 0x0342, 0x03B9 },
- { 0x24CC, 0x24E6, 0x0000, 0x0000 },
- { 0x2CC4, 0x2CC5, 0x0000, 0x0000 },
- { 0xFB13, 0x0574, 0x0576, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_233[] = {
- { 0x01E8, 0x01E9, 0x0000, 0x0000 },
- { 0x03EA, 0x03EB, 0x0000, 0x0000 },
- { 0x1FF6, 0x03C9, 0x0342, 0x0000 },
- { 0x24CD, 0x24E7, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_234[] = {
- { 0x04EE, 0x04EF, 0x0000, 0x0000 },
- { 0x1EF4, 0x1EF5, 0x0000, 0x0000 },
- { 0x24CE, 0x24E8, 0x0000, 0x0000 },
- { 0x2CC6, 0x2CC7, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_235[] = {
- { 0x01EA, 0x01EB, 0x0000, 0x0000 },
- { 0x03E8, 0x03E9, 0x0000, 0x0000 },
- { 0x1FF4, 0x03CE, 0x03B9, 0x0000 },
- { 0x24CF, 0x24E9, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_236[] = {
- { 0x04E8, 0x04E9, 0x0000, 0x0000 },
- { 0x1EF2, 0x1EF3, 0x0000, 0x0000 },
- { 0x1FF3, 0x03C9, 0x03B9, 0x0000 },
- { 0x24C8, 0x24E2, 0x0000, 0x0000 },
- { 0x2CC0, 0x2CC1, 0x0000, 0x0000 },
- { 0xFB17, 0x0574, 0x056D, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_237[] = {
- { 0x01EC, 0x01ED, 0x0000, 0x0000 },
- { 0x03EE, 0x03EF, 0x0000, 0x0000 },
- { 0x1FF2, 0x1F7C, 0x03B9, 0x0000 },
- { 0x24C9, 0x24E3, 0x0000, 0x0000 },
- { 0xFB16, 0x057E, 0x0576, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_238[] = {
- { 0x04EA, 0x04EB, 0x0000, 0x0000 },
- { 0x1EF0, 0x1EF1, 0x0000, 0x0000 },
- { 0x24CA, 0x24E4, 0x0000, 0x0000 },
- { 0x2CC2, 0x2CC3, 0x0000, 0x0000 },
- { 0xFB15, 0x0574, 0x056B, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_239[] = {
- { 0x01EE, 0x01EF, 0x0000, 0x0000 },
- { 0x03EC, 0x03ED, 0x0000, 0x0000 },
- { 0x24CB, 0x24E5, 0x0000, 0x0000 },
- { 0xFB14, 0x0574, 0x0565, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_240[] = {
- { 0x01F1, 0x01F3, 0x0000, 0x0000 },
- { 0x04F4, 0x04F5, 0x0000, 0x0000 },
- { 0x1EEE, 0x1EEF, 0x0000, 0x0000 },
- { 0x2CDC, 0x2CDD, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_241[] = {
- { 0x01F0, 0x006A, 0x030C, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_242[] = {
- { 0x03F1, 0x03C1, 0x0000, 0x0000 },
- { 0x04F6, 0x04F7, 0x0000, 0x0000 },
- { 0x1EEC, 0x1EED, 0x0000, 0x0000 },
- { 0x2CDE, 0x2CDF, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_243[] = {
- { 0x01F2, 0x01F3, 0x0000, 0x0000 },
- { 0x03F0, 0x03BA, 0x0000, 0x0000 },
- { 0x1FEC, 0x1FE5, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_244[] = {
- { 0x03F7, 0x03F8, 0x0000, 0x0000 },
- { 0x04F0, 0x04F1, 0x0000, 0x0000 },
- { 0x1EEA, 0x1EEB, 0x0000, 0x0000 },
- { 0x1FEB, 0x1F7B, 0x0000, 0x0000 },
- { 0x2CD8, 0x2CD9, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_245[] = {
- { 0x01F4, 0x01F5, 0x0000, 0x0000 },
- { 0x1FEA, 0x1F7A, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_246[] = {
- { 0x01F7, 0x01BF, 0x0000, 0x0000 },
- { 0x03F5, 0x03B5, 0x0000, 0x0000 },
- { 0x04F2, 0x04F3, 0x0000, 0x0000 },
- { 0x1EE8, 0x1EE9, 0x0000, 0x0000 },
- { 0x1FE9, 0x1FE1, 0x0000, 0x0000 },
- { 0x2CDA, 0x2CDB, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_247[] = {
- { 0x01F6, 0x0195, 0x0000, 0x0000 },
- { 0x03F4, 0x03B8, 0x0000, 0x0000 },
- { 0x1FE8, 0x1FE0, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_248[] = {
- { 0x1EE6, 0x1EE7, 0x0000, 0x0000 },
- { 0x1FE7, 0x03C5, 0x0308, 0x0342 },
- { 0x2CD4, 0x2CD5, 0x0000, 0x0000 },
- { 0xFB03, 0x0066, 0x0066, 0x0069 }
-};
-
-static const CaseFoldMapping case_fold_249[] = {
- { 0x01F8, 0x01F9, 0x0000, 0x0000 },
- { 0x03FA, 0x03FB, 0x0000, 0x0000 },
- { 0x1FE6, 0x03C5, 0x0342, 0x0000 },
- { 0xFB02, 0x0066, 0x006C, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_250[] = {
- { 0x03F9, 0x03F2, 0x0000, 0x0000 },
- { 0x1EE4, 0x1EE5, 0x0000, 0x0000 },
- { 0x2CD6, 0x2CD7, 0x0000, 0x0000 },
- { 0xFB01, 0x0066, 0x0069, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_251[] = {
- { 0x01FA, 0x01FB, 0x0000, 0x0000 },
- { 0x1FE4, 0x03C1, 0x0313, 0x0000 },
- { 0xFB00, 0x0066, 0x0066, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_252[] = {
- { 0x04F8, 0x04F9, 0x0000, 0x0000 },
- { 0x1EE2, 0x1EE3, 0x0000, 0x0000 },
- { 0x1FE3, 0x03C5, 0x0308, 0x0301 },
- { 0x2CD0, 0x2CD1, 0x0000, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_253[] = {
- { 0x01FC, 0x01FD, 0x0000, 0x0000 },
- { 0x1FE2, 0x03C5, 0x0308, 0x0300 },
- { 0xFB06, 0x0073, 0x0074, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_254[] = {
- { 0x1EE0, 0x1EE1, 0x0000, 0x0000 },
- { 0x2CD2, 0x2CD3, 0x0000, 0x0000 },
- { 0xFB05, 0x0073, 0x0074, 0x0000 }
-};
-
-static const CaseFoldMapping case_fold_255[] = {
- { 0x01FE, 0x01FF, 0x0000, 0x0000 },
- { 0xFB04, 0x0066, 0x0066, 0x006C }
-};
-
-
-static const CaseFoldHashBucket case_fold_hash[256] = {
- { __PHYSFS_ARRAYLEN(case_fold_000), case_fold_000 },
- { __PHYSFS_ARRAYLEN(case_fold_001), case_fold_001 },
- { __PHYSFS_ARRAYLEN(case_fold_002), case_fold_002 },
- { __PHYSFS_ARRAYLEN(case_fold_003), case_fold_003 },
- { __PHYSFS_ARRAYLEN(case_fold_004), case_fold_004 },
- { __PHYSFS_ARRAYLEN(case_fold_005), case_fold_005 },
- { __PHYSFS_ARRAYLEN(case_fold_006), case_fold_006 },
- { __PHYSFS_ARRAYLEN(case_fold_007), case_fold_007 },
- { __PHYSFS_ARRAYLEN(case_fold_008), case_fold_008 },
- { __PHYSFS_ARRAYLEN(case_fold_009), case_fold_009 },
- { __PHYSFS_ARRAYLEN(case_fold_010), case_fold_010 },
- { __PHYSFS_ARRAYLEN(case_fold_011), case_fold_011 },
- { __PHYSFS_ARRAYLEN(case_fold_012), case_fold_012 },
- { __PHYSFS_ARRAYLEN(case_fold_013), case_fold_013 },
- { __PHYSFS_ARRAYLEN(case_fold_014), case_fold_014 },
- { __PHYSFS_ARRAYLEN(case_fold_015), case_fold_015 },
- { __PHYSFS_ARRAYLEN(case_fold_016), case_fold_016 },
- { __PHYSFS_ARRAYLEN(case_fold_017), case_fold_017 },
- { __PHYSFS_ARRAYLEN(case_fold_018), case_fold_018 },
- { __PHYSFS_ARRAYLEN(case_fold_019), case_fold_019 },
- { __PHYSFS_ARRAYLEN(case_fold_020), case_fold_020 },
- { __PHYSFS_ARRAYLEN(case_fold_021), case_fold_021 },
- { __PHYSFS_ARRAYLEN(case_fold_022), case_fold_022 },
- { __PHYSFS_ARRAYLEN(case_fold_023), case_fold_023 },
- { __PHYSFS_ARRAYLEN(case_fold_024), case_fold_024 },
- { __PHYSFS_ARRAYLEN(case_fold_025), case_fold_025 },
- { __PHYSFS_ARRAYLEN(case_fold_026), case_fold_026 },
- { __PHYSFS_ARRAYLEN(case_fold_027), case_fold_027 },
- { __PHYSFS_ARRAYLEN(case_fold_028), case_fold_028 },
- { __PHYSFS_ARRAYLEN(case_fold_029), case_fold_029 },
- { __PHYSFS_ARRAYLEN(case_fold_030), case_fold_030 },
- { __PHYSFS_ARRAYLEN(case_fold_031), case_fold_031 },
- { __PHYSFS_ARRAYLEN(case_fold_032), case_fold_032 },
- { __PHYSFS_ARRAYLEN(case_fold_033), case_fold_033 },
- { __PHYSFS_ARRAYLEN(case_fold_034), case_fold_034 },
- { __PHYSFS_ARRAYLEN(case_fold_035), case_fold_035 },
- { __PHYSFS_ARRAYLEN(case_fold_036), case_fold_036 },
- { __PHYSFS_ARRAYLEN(case_fold_037), case_fold_037 },
- { __PHYSFS_ARRAYLEN(case_fold_038), case_fold_038 },
- { __PHYSFS_ARRAYLEN(case_fold_039), case_fold_039 },
- { __PHYSFS_ARRAYLEN(case_fold_040), case_fold_040 },
- { __PHYSFS_ARRAYLEN(case_fold_041), case_fold_041 },
- { __PHYSFS_ARRAYLEN(case_fold_042), case_fold_042 },
- { __PHYSFS_ARRAYLEN(case_fold_043), case_fold_043 },
- { __PHYSFS_ARRAYLEN(case_fold_044), case_fold_044 },
- { __PHYSFS_ARRAYLEN(case_fold_045), case_fold_045 },
- { __PHYSFS_ARRAYLEN(case_fold_046), case_fold_046 },
- { __PHYSFS_ARRAYLEN(case_fold_047), case_fold_047 },
- { __PHYSFS_ARRAYLEN(case_fold_048), case_fold_048 },
- { __PHYSFS_ARRAYLEN(case_fold_049), case_fold_049 },
- { __PHYSFS_ARRAYLEN(case_fold_050), case_fold_050 },
- { __PHYSFS_ARRAYLEN(case_fold_051), case_fold_051 },
- { __PHYSFS_ARRAYLEN(case_fold_052), case_fold_052 },
- { __PHYSFS_ARRAYLEN(case_fold_053), case_fold_053 },
- { __PHYSFS_ARRAYLEN(case_fold_054), case_fold_054 },
- { __PHYSFS_ARRAYLEN(case_fold_055), case_fold_055 },
- { __PHYSFS_ARRAYLEN(case_fold_056), case_fold_056 },
- { __PHYSFS_ARRAYLEN(case_fold_057), case_fold_057 },
- { __PHYSFS_ARRAYLEN(case_fold_058), case_fold_058 },
- { __PHYSFS_ARRAYLEN(case_fold_059), case_fold_059 },
- { __PHYSFS_ARRAYLEN(case_fold_060), case_fold_060 },
- { __PHYSFS_ARRAYLEN(case_fold_061), case_fold_061 },
- { __PHYSFS_ARRAYLEN(case_fold_062), case_fold_062 },
- { __PHYSFS_ARRAYLEN(case_fold_063), case_fold_063 },
- { __PHYSFS_ARRAYLEN(case_fold_064), case_fold_064 },
- { __PHYSFS_ARRAYLEN(case_fold_065), case_fold_065 },
- { __PHYSFS_ARRAYLEN(case_fold_066), case_fold_066 },
- { __PHYSFS_ARRAYLEN(case_fold_067), case_fold_067 },
- { __PHYSFS_ARRAYLEN(case_fold_068), case_fold_068 },
- { __PHYSFS_ARRAYLEN(case_fold_069), case_fold_069 },
- { __PHYSFS_ARRAYLEN(case_fold_070), case_fold_070 },
- { __PHYSFS_ARRAYLEN(case_fold_071), case_fold_071 },
- { __PHYSFS_ARRAYLEN(case_fold_072), case_fold_072 },
- { __PHYSFS_ARRAYLEN(case_fold_073), case_fold_073 },
- { __PHYSFS_ARRAYLEN(case_fold_074), case_fold_074 },
- { __PHYSFS_ARRAYLEN(case_fold_075), case_fold_075 },
- { __PHYSFS_ARRAYLEN(case_fold_076), case_fold_076 },
- { __PHYSFS_ARRAYLEN(case_fold_077), case_fold_077 },
- { __PHYSFS_ARRAYLEN(case_fold_078), case_fold_078 },
- { __PHYSFS_ARRAYLEN(case_fold_079), case_fold_079 },
- { __PHYSFS_ARRAYLEN(case_fold_080), case_fold_080 },
- { __PHYSFS_ARRAYLEN(case_fold_081), case_fold_081 },
- { __PHYSFS_ARRAYLEN(case_fold_082), case_fold_082 },
- { __PHYSFS_ARRAYLEN(case_fold_083), case_fold_083 },
- { __PHYSFS_ARRAYLEN(case_fold_084), case_fold_084 },
- { __PHYSFS_ARRAYLEN(case_fold_085), case_fold_085 },
- { __PHYSFS_ARRAYLEN(case_fold_086), case_fold_086 },
- { __PHYSFS_ARRAYLEN(case_fold_087), case_fold_087 },
- { __PHYSFS_ARRAYLEN(case_fold_088), case_fold_088 },
- { __PHYSFS_ARRAYLEN(case_fold_089), case_fold_089 },
- { __PHYSFS_ARRAYLEN(case_fold_090), case_fold_090 },
- { __PHYSFS_ARRAYLEN(case_fold_091), case_fold_091 },
- { __PHYSFS_ARRAYLEN(case_fold_092), case_fold_092 },
- { __PHYSFS_ARRAYLEN(case_fold_093), case_fold_093 },
- { __PHYSFS_ARRAYLEN(case_fold_094), case_fold_094 },
- { __PHYSFS_ARRAYLEN(case_fold_095), case_fold_095 },
- { __PHYSFS_ARRAYLEN(case_fold_096), case_fold_096 },
- { __PHYSFS_ARRAYLEN(case_fold_097), case_fold_097 },
- { __PHYSFS_ARRAYLEN(case_fold_098), case_fold_098 },
- { __PHYSFS_ARRAYLEN(case_fold_099), case_fold_099 },
- { __PHYSFS_ARRAYLEN(case_fold_100), case_fold_100 },
- { __PHYSFS_ARRAYLEN(case_fold_101), case_fold_101 },
- { __PHYSFS_ARRAYLEN(case_fold_102), case_fold_102 },
- { __PHYSFS_ARRAYLEN(case_fold_103), case_fold_103 },
- { __PHYSFS_ARRAYLEN(case_fold_104), case_fold_104 },
- { __PHYSFS_ARRAYLEN(case_fold_105), case_fold_105 },
- { __PHYSFS_ARRAYLEN(case_fold_106), case_fold_106 },
- { __PHYSFS_ARRAYLEN(case_fold_107), case_fold_107 },
- { __PHYSFS_ARRAYLEN(case_fold_108), case_fold_108 },
- { __PHYSFS_ARRAYLEN(case_fold_109), case_fold_109 },
- { __PHYSFS_ARRAYLEN(case_fold_110), case_fold_110 },
- { __PHYSFS_ARRAYLEN(case_fold_111), case_fold_111 },
- { __PHYSFS_ARRAYLEN(case_fold_112), case_fold_112 },
- { __PHYSFS_ARRAYLEN(case_fold_113), case_fold_113 },
- { __PHYSFS_ARRAYLEN(case_fold_114), case_fold_114 },
- { __PHYSFS_ARRAYLEN(case_fold_115), case_fold_115 },
- { __PHYSFS_ARRAYLEN(case_fold_116), case_fold_116 },
- { __PHYSFS_ARRAYLEN(case_fold_117), case_fold_117 },
- { __PHYSFS_ARRAYLEN(case_fold_118), case_fold_118 },
- { __PHYSFS_ARRAYLEN(case_fold_119), case_fold_119 },
- { __PHYSFS_ARRAYLEN(case_fold_120), case_fold_120 },
- { __PHYSFS_ARRAYLEN(case_fold_121), case_fold_121 },
- { __PHYSFS_ARRAYLEN(case_fold_122), case_fold_122 },
- { 0, NULL },
- { __PHYSFS_ARRAYLEN(case_fold_124), case_fold_124 },
- { 0, NULL },
- { __PHYSFS_ARRAYLEN(case_fold_126), case_fold_126 },
- { 0, NULL },
- { __PHYSFS_ARRAYLEN(case_fold_128), case_fold_128 },
- { __PHYSFS_ARRAYLEN(case_fold_129), case_fold_129 },
- { __PHYSFS_ARRAYLEN(case_fold_130), case_fold_130 },
- { __PHYSFS_ARRAYLEN(case_fold_131), case_fold_131 },
- { __PHYSFS_ARRAYLEN(case_fold_132), case_fold_132 },
- { __PHYSFS_ARRAYLEN(case_fold_133), case_fold_133 },
- { __PHYSFS_ARRAYLEN(case_fold_134), case_fold_134 },
- { __PHYSFS_ARRAYLEN(case_fold_135), case_fold_135 },
- { __PHYSFS_ARRAYLEN(case_fold_136), case_fold_136 },
- { __PHYSFS_ARRAYLEN(case_fold_137), case_fold_137 },
- { __PHYSFS_ARRAYLEN(case_fold_138), case_fold_138 },
- { __PHYSFS_ARRAYLEN(case_fold_139), case_fold_139 },
- { __PHYSFS_ARRAYLEN(case_fold_140), case_fold_140 },
- { __PHYSFS_ARRAYLEN(case_fold_141), case_fold_141 },
- { __PHYSFS_ARRAYLEN(case_fold_142), case_fold_142 },
- { __PHYSFS_ARRAYLEN(case_fold_143), case_fold_143 },
- { __PHYSFS_ARRAYLEN(case_fold_144), case_fold_144 },
- { __PHYSFS_ARRAYLEN(case_fold_145), case_fold_145 },
- { __PHYSFS_ARRAYLEN(case_fold_146), case_fold_146 },
- { __PHYSFS_ARRAYLEN(case_fold_147), case_fold_147 },
- { __PHYSFS_ARRAYLEN(case_fold_148), case_fold_148 },
- { __PHYSFS_ARRAYLEN(case_fold_149), case_fold_149 },
- { __PHYSFS_ARRAYLEN(case_fold_150), case_fold_150 },
- { __PHYSFS_ARRAYLEN(case_fold_151), case_fold_151 },
- { __PHYSFS_ARRAYLEN(case_fold_152), case_fold_152 },
- { __PHYSFS_ARRAYLEN(case_fold_153), case_fold_153 },
- { __PHYSFS_ARRAYLEN(case_fold_154), case_fold_154 },
- { __PHYSFS_ARRAYLEN(case_fold_155), case_fold_155 },
- { __PHYSFS_ARRAYLEN(case_fold_156), case_fold_156 },
- { __PHYSFS_ARRAYLEN(case_fold_157), case_fold_157 },
- { __PHYSFS_ARRAYLEN(case_fold_158), case_fold_158 },
- { __PHYSFS_ARRAYLEN(case_fold_159), case_fold_159 },
- { __PHYSFS_ARRAYLEN(case_fold_160), case_fold_160 },
- { __PHYSFS_ARRAYLEN(case_fold_161), case_fold_161 },
- { __PHYSFS_ARRAYLEN(case_fold_162), case_fold_162 },
- { __PHYSFS_ARRAYLEN(case_fold_163), case_fold_163 },
- { __PHYSFS_ARRAYLEN(case_fold_164), case_fold_164 },
- { __PHYSFS_ARRAYLEN(case_fold_165), case_fold_165 },
- { __PHYSFS_ARRAYLEN(case_fold_166), case_fold_166 },
- { __PHYSFS_ARRAYLEN(case_fold_167), case_fold_167 },
- { __PHYSFS_ARRAYLEN(case_fold_168), case_fold_168 },
- { __PHYSFS_ARRAYLEN(case_fold_169), case_fold_169 },
- { __PHYSFS_ARRAYLEN(case_fold_170), case_fold_170 },
- { __PHYSFS_ARRAYLEN(case_fold_171), case_fold_171 },
- { __PHYSFS_ARRAYLEN(case_fold_172), case_fold_172 },
- { __PHYSFS_ARRAYLEN(case_fold_173), case_fold_173 },
- { __PHYSFS_ARRAYLEN(case_fold_174), case_fold_174 },
- { __PHYSFS_ARRAYLEN(case_fold_175), case_fold_175 },
- { __PHYSFS_ARRAYLEN(case_fold_176), case_fold_176 },
- { __PHYSFS_ARRAYLEN(case_fold_177), case_fold_177 },
- { __PHYSFS_ARRAYLEN(case_fold_178), case_fold_178 },
- { __PHYSFS_ARRAYLEN(case_fold_179), case_fold_179 },
- { __PHYSFS_ARRAYLEN(case_fold_180), case_fold_180 },
- { __PHYSFS_ARRAYLEN(case_fold_181), case_fold_181 },
- { __PHYSFS_ARRAYLEN(case_fold_182), case_fold_182 },
- { __PHYSFS_ARRAYLEN(case_fold_183), case_fold_183 },
- { __PHYSFS_ARRAYLEN(case_fold_184), case_fold_184 },
- { __PHYSFS_ARRAYLEN(case_fold_185), case_fold_185 },
- { __PHYSFS_ARRAYLEN(case_fold_186), case_fold_186 },
- { __PHYSFS_ARRAYLEN(case_fold_187), case_fold_187 },
- { __PHYSFS_ARRAYLEN(case_fold_188), case_fold_188 },
- { __PHYSFS_ARRAYLEN(case_fold_189), case_fold_189 },
- { __PHYSFS_ARRAYLEN(case_fold_190), case_fold_190 },
- { __PHYSFS_ARRAYLEN(case_fold_191), case_fold_191 },
- { __PHYSFS_ARRAYLEN(case_fold_192), case_fold_192 },
- { __PHYSFS_ARRAYLEN(case_fold_193), case_fold_193 },
- { __PHYSFS_ARRAYLEN(case_fold_194), case_fold_194 },
- { __PHYSFS_ARRAYLEN(case_fold_195), case_fold_195 },
- { __PHYSFS_ARRAYLEN(case_fold_196), case_fold_196 },
- { __PHYSFS_ARRAYLEN(case_fold_197), case_fold_197 },
- { __PHYSFS_ARRAYLEN(case_fold_198), case_fold_198 },
- { __PHYSFS_ARRAYLEN(case_fold_199), case_fold_199 },
- { __PHYSFS_ARRAYLEN(case_fold_200), case_fold_200 },
- { __PHYSFS_ARRAYLEN(case_fold_201), case_fold_201 },
- { __PHYSFS_ARRAYLEN(case_fold_202), case_fold_202 },
- { __PHYSFS_ARRAYLEN(case_fold_203), case_fold_203 },
- { __PHYSFS_ARRAYLEN(case_fold_204), case_fold_204 },
- { __PHYSFS_ARRAYLEN(case_fold_205), case_fold_205 },
- { __PHYSFS_ARRAYLEN(case_fold_206), case_fold_206 },
- { __PHYSFS_ARRAYLEN(case_fold_207), case_fold_207 },
- { __PHYSFS_ARRAYLEN(case_fold_208), case_fold_208 },
- { __PHYSFS_ARRAYLEN(case_fold_209), case_fold_209 },
- { __PHYSFS_ARRAYLEN(case_fold_210), case_fold_210 },
- { __PHYSFS_ARRAYLEN(case_fold_211), case_fold_211 },
- { __PHYSFS_ARRAYLEN(case_fold_212), case_fold_212 },
- { __PHYSFS_ARRAYLEN(case_fold_213), case_fold_213 },
- { __PHYSFS_ARRAYLEN(case_fold_214), case_fold_214 },
- { __PHYSFS_ARRAYLEN(case_fold_215), case_fold_215 },
- { __PHYSFS_ARRAYLEN(case_fold_216), case_fold_216 },
- { __PHYSFS_ARRAYLEN(case_fold_217), case_fold_217 },
- { __PHYSFS_ARRAYLEN(case_fold_218), case_fold_218 },
- { __PHYSFS_ARRAYLEN(case_fold_219), case_fold_219 },
- { __PHYSFS_ARRAYLEN(case_fold_220), case_fold_220 },
- { __PHYSFS_ARRAYLEN(case_fold_221), case_fold_221 },
- { __PHYSFS_ARRAYLEN(case_fold_222), case_fold_222 },
- { __PHYSFS_ARRAYLEN(case_fold_223), case_fold_223 },
- { __PHYSFS_ARRAYLEN(case_fold_224), case_fold_224 },
- { __PHYSFS_ARRAYLEN(case_fold_225), case_fold_225 },
- { __PHYSFS_ARRAYLEN(case_fold_226), case_fold_226 },
- { __PHYSFS_ARRAYLEN(case_fold_227), case_fold_227 },
- { __PHYSFS_ARRAYLEN(case_fold_228), case_fold_228 },
- { __PHYSFS_ARRAYLEN(case_fold_229), case_fold_229 },
- { __PHYSFS_ARRAYLEN(case_fold_230), case_fold_230 },
- { __PHYSFS_ARRAYLEN(case_fold_231), case_fold_231 },
- { __PHYSFS_ARRAYLEN(case_fold_232), case_fold_232 },
- { __PHYSFS_ARRAYLEN(case_fold_233), case_fold_233 },
- { __PHYSFS_ARRAYLEN(case_fold_234), case_fold_234 },
- { __PHYSFS_ARRAYLEN(case_fold_235), case_fold_235 },
- { __PHYSFS_ARRAYLEN(case_fold_236), case_fold_236 },
- { __PHYSFS_ARRAYLEN(case_fold_237), case_fold_237 },
- { __PHYSFS_ARRAYLEN(case_fold_238), case_fold_238 },
- { __PHYSFS_ARRAYLEN(case_fold_239), case_fold_239 },
- { __PHYSFS_ARRAYLEN(case_fold_240), case_fold_240 },
- { __PHYSFS_ARRAYLEN(case_fold_241), case_fold_241 },
- { __PHYSFS_ARRAYLEN(case_fold_242), case_fold_242 },
- { __PHYSFS_ARRAYLEN(case_fold_243), case_fold_243 },
- { __PHYSFS_ARRAYLEN(case_fold_244), case_fold_244 },
- { __PHYSFS_ARRAYLEN(case_fold_245), case_fold_245 },
- { __PHYSFS_ARRAYLEN(case_fold_246), case_fold_246 },
- { __PHYSFS_ARRAYLEN(case_fold_247), case_fold_247 },
- { __PHYSFS_ARRAYLEN(case_fold_248), case_fold_248 },
- { __PHYSFS_ARRAYLEN(case_fold_249), case_fold_249 },
- { __PHYSFS_ARRAYLEN(case_fold_250), case_fold_250 },
- { __PHYSFS_ARRAYLEN(case_fold_251), case_fold_251 },
- { __PHYSFS_ARRAYLEN(case_fold_252), case_fold_252 },
- { __PHYSFS_ARRAYLEN(case_fold_253), case_fold_253 },
- { __PHYSFS_ARRAYLEN(case_fold_254), case_fold_254 },
- { __PHYSFS_ARRAYLEN(case_fold_255), case_fold_255 },
-};
-
diff --git a/Frameworks/physfs.framework/Versions/A/Headers/physfs_internal.h b/Frameworks/physfs.framework/Versions/A/Headers/physfs_internal.h
deleted file mode 100644
index f9da66e1..00000000
--- a/Frameworks/physfs.framework/Versions/A/Headers/physfs_internal.h
+++ /dev/null
@@ -1,1779 +0,0 @@
-/*
- * Internal function/structure declaration. Do NOT include in your
- * application.
- *
- * Please see the file LICENSE.txt in the source's root directory.
- *
- * This file written by Ryan C. Gordon.
- */
-
-#ifndef _INCLUDE_PHYSFS_INTERNAL_H_
-#define _INCLUDE_PHYSFS_INTERNAL_H_
-
-#ifndef __PHYSICSFS_INTERNAL__
-#error Do not include this header from your applications.
-#endif
-
-#include "physfs.h"
-
-#include <stdlib.h> /* make sure NULL is defined... */
-
-#ifdef HAVE_ASSERT_H
-#include <assert.h>
-#elif (!defined assert)
-#define assert(x)
-#endif
-
-/* !!! FIXME: remove this when revamping stack allocation code... */
-#ifdef _MSC_VER
-#include <malloc.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Interface for small allocations. If you need a little scratch space for
- * a throwaway buffer or string, use this. It will make small allocations
- * on the stack if possible, and use allocator.Malloc() if they are too
- * large. This helps reduce malloc pressure.
- * There are some rules, though:
- * NEVER return a pointer from this, as stack-allocated buffers go away
- * when your function returns.
- * NEVER allocate in a loop, as stack-allocated pointers will pile up. Call
- * a function that uses smallAlloc from your loop, so the allocation can
- * free each time.
- * NEVER call smallAlloc with any complex expression (it's a macro that WILL
- * have side effects...it references the argument multiple times). Use a
- * variable or a literal.
- * NEVER free a pointer from this with anything but smallFree. It will not
- * be a valid pointer to the allocator, regardless of where the memory came
- * from.
- * NEVER realloc a pointer from this.
- * NEVER forget to use smallFree: it may not be a pointer from the stack.
- * NEVER forget to check for NULL...allocation can fail here, of course!
- */
-#define __PHYSFS_SMALLALLOCTHRESHOLD 128
-void *__PHYSFS_initSmallAlloc(void *ptr, PHYSFS_uint64 len);
-
-#define __PHYSFS_smallAlloc(bytes) ( \
- __PHYSFS_initSmallAlloc((((bytes) < __PHYSFS_SMALLALLOCTHRESHOLD) ? \
- alloca((size_t)((bytes)+1)) : NULL), (bytes)) \
-)
-
-void __PHYSFS_smallFree(void *ptr);
-
-
-/* Use the allocation hooks. */
-#define malloc(x) Do not use malloc() directly.
-#define realloc(x, y) Do not use realloc() directly.
-#define free(x) Do not use free() directly.
-/* !!! FIXME: add alloca check here. */
-
-/* The LANG section. */
-/* please send questions/translations to Ryan: icculus@icculus.org. */
-
-#if (!defined PHYSFS_LANG)
-# define PHYSFS_LANG PHYSFS_LANG_ENGLISH
-#endif
-
-#define PHYSFS_LANG_ENGLISH 1 /* English by Ryan C. Gordon */
-#define PHYSFS_LANG_RUSSIAN_KOI8_R 2 /* Russian by Ed Sinjiashvili */
-#define PHYSFS_LANG_RUSSIAN_CP1251 3 /* Russian by Ed Sinjiashvili */
-#define PHYSFS_LANG_RUSSIAN_CP866 4 /* Russian by Ed Sinjiashvili */
-#define PHYSFS_LANG_RUSSIAN_ISO_8859_5 5 /* Russian by Ed Sinjiashvili */
-#define PHYSFS_LANG_SPANISH 6 /* Spanish by Pedro J. Pérez */
-#define PHYSFS_LANG_FRENCH 7 /* French by Stéphane Peter */
-#define PHYSFS_LANG_GERMAN 8 /* German by Michael Renner */
-#define PHYSFS_LANG_PORTUGUESE_BR 9 /* pt-br by Danny Angelo Carminati Grein */
-
-#if (PHYSFS_LANG == PHYSFS_LANG_ENGLISH)
- #define DIR_ARCHIVE_DESCRIPTION "Non-archive, direct filesystem I/O"
- #define GRP_ARCHIVE_DESCRIPTION "Build engine Groupfile format"
- #define HOG_ARCHIVE_DESCRIPTION "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION "Descent II Movielib format"
- #define QPAK_ARCHIVE_DESCRIPTION "Quake I/II format"
- #define ZIP_ARCHIVE_DESCRIPTION "PkZip/WinZip/Info-Zip compatible"
- #define WAD_ARCHIVE_DESCRIPTION "DOOM engine format"
- #define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format"
-
- #define ERR_IS_INITIALIZED "Already initialized"
- #define ERR_NOT_INITIALIZED "Not initialized"
- #define ERR_INVALID_ARGUMENT "Invalid argument"
- #define ERR_FILES_STILL_OPEN "Files still open"
- #define ERR_NO_DIR_CREATE "Failed to create directories"
- #define ERR_OUT_OF_MEMORY "Out of memory"
- #define ERR_NOT_IN_SEARCH_PATH "No such entry in search path"
- #define ERR_NOT_SUPPORTED "Operation not supported"
- #define ERR_UNSUPPORTED_ARCHIVE "Archive type unsupported"
- #define ERR_NOT_A_HANDLE "Not a file handle"
- #define ERR_INSECURE_FNAME "Insecure filename"
- #define ERR_SYMLINK_DISALLOWED "Symbolic links are disabled"
- #define ERR_NO_WRITE_DIR "Write directory is not set"
- #define ERR_NO_SUCH_FILE "File not found"
- #define ERR_NO_SUCH_PATH "Path not found"
- #define ERR_NO_SUCH_VOLUME "Volume not found"
- #define ERR_PAST_EOF "Past end of file"
- #define ERR_ARC_IS_READ_ONLY "Archive is read-only"
- #define ERR_IO_ERROR "I/O error"
- #define ERR_CANT_SET_WRITE_DIR "Can't set write directory"
- #define ERR_SYMLINK_LOOP "Infinite symbolic link loop"
- #define ERR_COMPRESSION "(De)compression error"
- #define ERR_NOT_IMPLEMENTED "Not implemented"
- #define ERR_OS_ERROR "Operating system reported error"
- #define ERR_FILE_EXISTS "File already exists"
- #define ERR_NOT_A_FILE "Not a file"
- #define ERR_NOT_A_DIR "Not a directory"
- #define ERR_NOT_AN_ARCHIVE "Not an archive"
- #define ERR_CORRUPTED "Corrupted archive"
- #define ERR_SEEK_OUT_OF_RANGE "Seek out of range"
- #define ERR_BAD_FILENAME "Bad filename"
- #define ERR_PHYSFS_BAD_OS_CALL "(BUG) PhysicsFS made a bad system call"
- #define ERR_ARGV0_IS_NULL "argv0 is NULL"
- #define ERR_NEED_DICT "need dictionary"
- #define ERR_DATA_ERROR "data error"
- #define ERR_MEMORY_ERROR "memory error"
- #define ERR_BUFFER_ERROR "buffer error"
- #define ERR_VERSION_ERROR "version error"
- #define ERR_UNKNOWN_ERROR "unknown error"
- #define ERR_SEARCHPATH_TRUNC "Search path was truncated"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() was truncated"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() had no dir"
- #define ERR_DISK_FULL "Disk is full"
- #define ERR_DIRECTORY_FULL "Directory full"
- #define ERR_MACOS_GENERIC "MacOS reported error (%d)"
- #define ERR_OS2_GENERIC "OS/2 reported error (%d)"
- #define ERR_VOL_LOCKED_HW "Volume is locked through hardware"
- #define ERR_VOL_LOCKED_SW "Volume is locked through software"
- #define ERR_FILE_LOCKED "File is locked"
- #define ERR_FILE_OR_DIR_BUSY "File/directory is busy"
- #define ERR_FILE_ALREADY_OPEN_W "File already open for writing"
- #define ERR_FILE_ALREADY_OPEN_R "File already open for reading"
- #define ERR_INVALID_REFNUM "Invalid reference number"
- #define ERR_GETTING_FILE_POS "Error getting file position"
- #define ERR_VOLUME_OFFLINE "Volume is offline"
- #define ERR_PERMISSION_DENIED "Permission denied"
- #define ERR_VOL_ALREADY_ONLINE "Volume already online"
- #define ERR_NO_SUCH_DRIVE "No such drive"
- #define ERR_NOT_MAC_DISK "Not a Macintosh disk"
- #define ERR_VOL_EXTERNAL_FS "Volume belongs to an external filesystem"
- #define ERR_PROBLEM_RENAME "Problem during rename"
- #define ERR_BAD_MASTER_BLOCK "Bad master directory block"
- #define ERR_CANT_MOVE_FORBIDDEN "Attempt to move forbidden"
- #define ERR_WRONG_VOL_TYPE "Wrong volume type"
- #define ERR_SERVER_VOL_LOST "Server volume has been disconnected"
- #define ERR_FILE_ID_NOT_FOUND "File ID not found"
- #define ERR_FILE_ID_EXISTS "File ID already exists"
- #define ERR_SERVER_NO_RESPOND "Server not responding"
- #define ERR_USER_AUTH_FAILED "User authentication failed"
- #define ERR_PWORD_EXPIRED "Password has expired on server"
- #define ERR_ACCESS_DENIED "Access denied"
- #define ERR_NOT_A_DOS_DISK "Not a DOS disk"
- #define ERR_SHARING_VIOLATION "Sharing violation"
- #define ERR_CANNOT_MAKE "Cannot make"
- #define ERR_DEV_IN_USE "Device already in use"
- #define ERR_OPEN_FAILED "Open failed"
- #define ERR_PIPE_BUSY "Pipe is busy"
- #define ERR_SHARING_BUF_EXCEEDED "Sharing buffer exceeded"
- #define ERR_TOO_MANY_HANDLES "Too many open handles"
- #define ERR_SEEK_ERROR "Seek error"
- #define ERR_DEL_CWD "Trying to delete current working directory"
- #define ERR_WRITE_PROTECT_ERROR "Write protect error"
- #define ERR_WRITE_FAULT "Write fault"
- #define ERR_LOCK_VIOLATION "Lock violation"
- #define ERR_GEN_FAILURE "General failure"
- #define ERR_UNCERTAIN_MEDIA "Uncertain media"
- #define ERR_PROT_VIOLATION "Protection violation"
- #define ERR_BROKEN_PIPE "Broken pipe"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_GERMAN)
- #define DIR_ARCHIVE_DESCRIPTION "Kein Archiv, direkte Ein/Ausgabe in das Dateisystem"
- #define GRP_ARCHIVE_DESCRIPTION "Build engine Groupfile format"
- #define HOG_ARCHIVE_DESCRIPTION "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION "Descent II Movielib format"
- #define QPAK_ARCHIVE_DESCRIPTION "Quake I/II format"
- #define ZIP_ARCHIVE_DESCRIPTION "PkZip/WinZip/Info-Zip kompatibel"
- #define WAD_ARCHIVE_DESCRIPTION "DOOM engine format" /* !!! FIXME: translate this line if needed */
- #define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format" /* !!! FIXME: translate this line if needed */
-
- #define ERR_IS_INITIALIZED "Bereits initialisiert"
- #define ERR_NOT_INITIALIZED "Nicht initialisiert"
- #define ERR_INVALID_ARGUMENT "Ungültiges Argument"
- #define ERR_FILES_STILL_OPEN "Dateien noch immer geöffnet"
- #define ERR_NO_DIR_CREATE "Fehler beim Erzeugen der Verzeichnisse"
- #define ERR_OUT_OF_MEMORY "Kein Speicher mehr frei"
- #define ERR_NOT_IN_SEARCH_PATH "Eintrag nicht im Suchpfad enthalten"
- #define ERR_NOT_SUPPORTED "Befehl nicht unterstützt"
- #define ERR_UNSUPPORTED_ARCHIVE "Archiv-Typ nicht unterstützt"
- #define ERR_NOT_A_HANDLE "Ist kein Dateideskriptor"
- #define ERR_INSECURE_FNAME "Unsicherer Dateiname"
- #define ERR_SYMLINK_DISALLOWED "Symbolische Verweise deaktiviert"
- #define ERR_NO_WRITE_DIR "Schreibverzeichnis ist nicht gesetzt"
- #define ERR_NO_SUCH_FILE "Datei nicht gefunden"
- #define ERR_NO_SUCH_PATH "Pfad nicht gefunden"
- #define ERR_NO_SUCH_VOLUME "Datencontainer nicht gefunden"
- #define ERR_PAST_EOF "Hinter dem Ende der Datei"
- #define ERR_ARC_IS_READ_ONLY "Archiv ist schreibgeschützt"
- #define ERR_IO_ERROR "Ein/Ausgabe Fehler"
- #define ERR_CANT_SET_WRITE_DIR "Kann Schreibverzeichnis nicht setzen"
- #define ERR_SYMLINK_LOOP "Endlosschleife durch symbolische Verweise"
- #define ERR_COMPRESSION "(De)Kompressionsfehler"
- #define ERR_NOT_IMPLEMENTED "Nicht implementiert"
- #define ERR_OS_ERROR "Betriebssystem meldete Fehler"
- #define ERR_FILE_EXISTS "Datei existiert bereits"
- #define ERR_NOT_A_FILE "Ist keine Datei"
- #define ERR_NOT_A_DIR "Ist kein Verzeichnis"
- #define ERR_NOT_AN_ARCHIVE "Ist kein Archiv"
- #define ERR_CORRUPTED "Beschädigtes Archiv"
- #define ERR_SEEK_OUT_OF_RANGE "Suche war ausserhalb der Reichweite"
- #define ERR_BAD_FILENAME "Unzulässiger Dateiname"
- #define ERR_PHYSFS_BAD_OS_CALL "(BUG) PhysicsFS verursachte einen ungültigen Systemaufruf"
- #define ERR_ARGV0_IS_NULL "argv0 ist NULL"
- #define ERR_NEED_DICT "brauche Wörterbuch"
- #define ERR_DATA_ERROR "Datenfehler"
- #define ERR_MEMORY_ERROR "Speicherfehler"
- #define ERR_BUFFER_ERROR "Bufferfehler"
- #define ERR_VERSION_ERROR "Versionskonflikt"
- #define ERR_UNKNOWN_ERROR "Unbekannter Fehler"
- #define ERR_SEARCHPATH_TRUNC "Suchpfad war abgeschnitten"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() war abgeschnitten"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() bekam kein Verzeichnis"
- #define ERR_DISK_FULL "Laufwerk ist voll"
- #define ERR_DIRECTORY_FULL "Verzeichnis ist voll"
- #define ERR_MACOS_GENERIC "MacOS meldete Fehler (%d)"
- #define ERR_OS2_GENERIC "OS/2 meldete Fehler (%d)"
- #define ERR_VOL_LOCKED_HW "Datencontainer ist durch Hardware gesperrt"
- #define ERR_VOL_LOCKED_SW "Datencontainer ist durch Software gesperrt"
- #define ERR_FILE_LOCKED "Datei ist gesperrt"
- #define ERR_FILE_OR_DIR_BUSY "Datei/Verzeichnis ist beschäftigt"
- #define ERR_FILE_ALREADY_OPEN_W "Datei schon im Schreibmodus geöffnet"
- #define ERR_FILE_ALREADY_OPEN_R "Datei schon im Lesemodus geöffnet"
- #define ERR_INVALID_REFNUM "Ungültige Referenznummer"
- #define ERR_GETTING_FILE_POS "Fehler beim Finden der Dateiposition"
- #define ERR_VOLUME_OFFLINE "Datencontainer ist offline"
- #define ERR_PERMISSION_DENIED "Zugriff verweigert"
- #define ERR_VOL_ALREADY_ONLINE "Datencontainer ist bereits online"
- #define ERR_NO_SUCH_DRIVE "Laufwerk nicht vorhanden"
- #define ERR_NOT_MAC_DISK "Ist kein Macintosh Laufwerk"
- #define ERR_VOL_EXTERNAL_FS "Datencontainer liegt auf einem externen Dateisystem"
- #define ERR_PROBLEM_RENAME "Fehler beim Umbenennen"
- #define ERR_BAD_MASTER_BLOCK "Beschädigter Hauptverzeichnisblock"
- #define ERR_CANT_MOVE_FORBIDDEN "Verschieben nicht erlaubt"
- #define ERR_WRONG_VOL_TYPE "Falscher Datencontainer-Typ"
- #define ERR_SERVER_VOL_LOST "Datencontainer am Server wurde getrennt"
- #define ERR_FILE_ID_NOT_FOUND "Dateikennung nicht gefunden"
- #define ERR_FILE_ID_EXISTS "Dateikennung existiert bereits"
- #define ERR_SERVER_NO_RESPOND "Server antwortet nicht"
- #define ERR_USER_AUTH_FAILED "Benutzerauthentifizierung fehlgeschlagen"
- #define ERR_PWORD_EXPIRED "Passwort am Server ist abgelaufen"
- #define ERR_ACCESS_DENIED "Zugriff verweigert"
- #define ERR_NOT_A_DOS_DISK "Ist kein DOS-Laufwerk"
- #define ERR_SHARING_VIOLATION "Zugriffsverletzung"
- #define ERR_CANNOT_MAKE "Kann nicht erzeugen"
- #define ERR_DEV_IN_USE "Gerät wird bereits benutzt"
- #define ERR_OPEN_FAILED "Öffnen fehlgeschlagen"
- #define ERR_PIPE_BUSY "Pipeverbindung ist belegt"
- #define ERR_SHARING_BUF_EXCEEDED "Zugriffsbuffer überschritten"
- #define ERR_TOO_MANY_HANDLES "Zu viele offene Dateien"
- #define ERR_SEEK_ERROR "Fehler beim Suchen"
- #define ERR_DEL_CWD "Aktuelles Arbeitsverzeichnis darf nicht gelöscht werden"
- #define ERR_WRITE_PROTECT_ERROR "Schreibschutzfehler"
- #define ERR_WRITE_FAULT "Schreibfehler"
- #define ERR_LOCK_VIOLATION "Sperrverletzung"
- #define ERR_GEN_FAILURE "Allgemeiner Fehler"
- #define ERR_UNCERTAIN_MEDIA "Unsicheres Medium"
- #define ERR_PROT_VIOLATION "Schutzverletzung"
- #define ERR_BROKEN_PIPE "Pipeverbindung unterbrochen"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_RUSSIAN_KOI8_R)
- #define DIR_ARCHIVE_DESCRIPTION "îÅ ÁÒÈÉ×, ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÙÊ ××ÏÄ/×Ù×ÏÄ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ"
- #define GRP_ARCHIVE_DESCRIPTION "æÏÒÍÁÔ ÇÒÕÐÐÏ×ÏÇÏ ÆÁÊÌÁ Build engine"
- #define HOG_ARCHIVE_DESCRIPTION "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION "Descent II Movielib format"
- #define ZIP_ARCHIVE_DESCRIPTION "PkZip/WinZip/Info-Zip ÓÏ×ÍÅÓÔÉÍÙÊ"
- #define WAD_ARCHIVE_DESCRIPTION "DOOM engine format" /* !!! FIXME: translate this line if needed */
- #define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format" /* !!! FIXME: translate this line if needed */
-
- #define ERR_IS_INITIALIZED "õÖÅ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎ"
- #define ERR_NOT_INITIALIZED "îÅ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎ"
- #define ERR_INVALID_ARGUMENT "îÅ×ÅÒÎÙÊ ÁÒÇÕÍÅÎÔ"
- #define ERR_FILES_STILL_OPEN "æÁÊÌÙ ÅÝÅ ÏÔËÒÙÔÙ"
- #define ERR_NO_DIR_CREATE "îÅ ÍÏÇÕ ÓÏÚÄÁÔØ ËÁÔÁÌÏÇÉ"
- #define ERR_OUT_OF_MEMORY "ëÏÎÞÉÌÁÓØ ÐÁÍÑÔØ"
- #define ERR_NOT_IN_SEARCH_PATH "îÅÔ ÔÁËÏÇÏ ÜÌÅÍÅÎÔÁ × ÐÕÔÉ ÐÏÉÓËÁ"
- #define ERR_NOT_SUPPORTED "ïÐÅÒÁÃÉÑ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
- #define ERR_UNSUPPORTED_ARCHIVE "áÒÈÉ×Ù ÔÁËÏÇÏ ÔÉÐÁ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ"
- #define ERR_NOT_A_HANDLE "îÅ ÆÁÊÌÏ×ÙÊ ÄÅÓËÒÉÐÔÏÒ"
- #define ERR_INSECURE_FNAME "îÅÂÅÚÏÐÁÓÎÏÅ ÉÍÑ ÆÁÊÌÁ"
- #define ERR_SYMLINK_DISALLOWED "óÉÍ×ÏÌØÎÙÅ ÓÓÙÌËÉ ÏÔËÌÀÞÅÎÙ"
- #define ERR_NO_WRITE_DIR "ëÁÔÁÌÏÇ ÄÌÑ ÚÁÐÉÓÉ ÎÅ ÕÓÔÁÎÏ×ÌÅÎ"
- #define ERR_NO_SUCH_FILE "æÁÊÌ ÎÅ ÎÁÊÄÅÎ"
- #define ERR_NO_SUCH_PATH "ðÕÔØ ÎÅ ÎÁÊÄÅÎ"
- #define ERR_NO_SUCH_VOLUME "ôÏÍ ÎÅ ÎÁÊÄÅÎ"
- #define ERR_PAST_EOF "úÁ ËÏÎÃÏÍ ÆÁÊÌÁ"
- #define ERR_ARC_IS_READ_ONLY "áÒÈÉ× ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ"
- #define ERR_IO_ERROR "ïÛÉÂËÁ ××ÏÄÁ/×Ù×ÏÄÁ"
- #define ERR_CANT_SET_WRITE_DIR "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ËÁÔÁÌÏÇ ÄÌÑ ÚÁÐÉÓÉ"
- #define ERR_SYMLINK_LOOP "âÅÓËÏÎÅÞÎÙÊ ÃÉËÌ ÓÉÍ×ÏÌØÎÏÊ ÓÓÙÌËÉ"
- #define ERR_COMPRESSION "ïÛÉÂËÁ (òÁÓ)ÐÁËÏ×ËÉ"
- #define ERR_NOT_IMPLEMENTED "îÅ ÒÅÁÌÉÚÏ×ÁÎÏ"
- #define ERR_OS_ERROR "ïÐÅÒÁÃÉÏÎÎÁÑ ÓÉÓÔÅÍÁ ÓÏÏÂÝÉÌÁ ÏÛÉÂËÕ"
- #define ERR_FILE_EXISTS "æÁÊÌ ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
- #define ERR_NOT_A_FILE "îÅ ÆÁÊÌ"
- #define ERR_NOT_A_DIR "îÅ ËÁÔÁÌÏÇ"
- #define ERR_NOT_AN_ARCHIVE "îÅ ÁÒÈÉ×"
- #define ERR_CORRUPTED "ðÏ×ÒÅÖÄÅÎÎÙÊ ÁÒÈÉ×"
- #define ERR_SEEK_OUT_OF_RANGE "ðÏÚÉÃÉÏÎÉÒÏ×ÁÎÉÅ ÚÁ ÐÒÅÄÅÌÙ"
- #define ERR_BAD_FILENAME "îÅ×ÅÒÎÏÅ ÉÍÑ ÆÁÊÌÁ"
- #define ERR_PHYSFS_BAD_OS_CALL "(BUG) PhysicsFS ×ÙÐÏÌÎÉÌÁ ÎÅ×ÅÒÎÙÊ ÓÉÓÔÅÍÎÙÊ ×ÙÚÏ×"
- #define ERR_ARGV0_IS_NULL "argv0 is NULL"
- #define ERR_NEED_DICT "ÎÕÖÅÎ ÓÌÏ×ÁÒØ"
- #define ERR_DATA_ERROR "ÏÛÉÂËÁ ÄÁÎÎÙÈ"
- #define ERR_MEMORY_ERROR "ÏÛÉÂËÁ ÐÁÍÑÔÉ"
- #define ERR_BUFFER_ERROR "ÏÛÉÂËÁ ÂÕÆÅÒÁ"
- #define ERR_VERSION_ERROR "ÏÛÉÂËÁ ×ÅÒÓÉÉ"
- #define ERR_UNKNOWN_ERROR "ÎÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ"
- #define ERR_SEARCHPATH_TRUNC "ðÕÔØ ÐÏÉÓËÁ ÏÂÒÅÚÁÎ"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() ÏÂÒÅÚÁÎ"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() ÎÅ ÐÏÌÕÞÉÌ ËÁÔÁÌÏÇ"
- #define ERR_DISK_FULL "äÉÓË ÐÏÌÏÎ"
- #define ERR_DIRECTORY_FULL "ëÁÔÁÌÏÇ ÐÏÌÏÎ"
- #define ERR_MACOS_GENERIC "MacOS ÓÏÏÂÝÉÌÁ ÏÛÉÂËÕ (%d)"
- #define ERR_OS2_GENERIC "OS/2 ÓÏÏÂÝÉÌÁ ÏÛÉÂËÕ (%d)"
- #define ERR_VOL_LOCKED_HW "ôÏÍ ÂÌÏËÉÒÏ×ÁÎ ÁÐÐÁÒÁÔÎÏ"
- #define ERR_VOL_LOCKED_SW "ôÏÍ ÂÌÏËÉÒÏ×ÁÎ ÐÒÏÇÒÁÍÍÎÏ"
- #define ERR_FILE_LOCKED "æÁÊÌ ÚÁÂÌÏËÉÒÏ×ÁÎ"
- #define ERR_FILE_OR_DIR_BUSY "æÁÊÌ/ËÁÔÁÌÏÇ ÚÁÎÑÔ"
- #define ERR_FILE_ALREADY_OPEN_W "æÁÊÌ ÕÖÅ ÏÔËÒÙÔ ÎÁ ÚÁÐÉÓØ"
- #define ERR_FILE_ALREADY_OPEN_R "æÁÊÌ ÕÖÅ ÏÔËÒÙÔ ÎÁ ÞÔÅÎÉÅ"
- #define ERR_INVALID_REFNUM "îÅ×ÅÒÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÓÓÙÌÏË"
- #define ERR_GETTING_FILE_POS "ïÛÉÂËÁ ÐÒÉ ÐÏÌÕÞÅÎÉÉ ÐÏÚÉÃÉÉ ÆÁÊÌÁ"
- #define ERR_VOLUME_OFFLINE "ôÏÍ ÏÔÓÏÅÄÉÎÅÎ"
- #define ERR_PERMISSION_DENIED "ïÔËÁÚÁÎÏ × ÒÁÚÒÅÛÅÎÉÉ"
- #define ERR_VOL_ALREADY_ONLINE "ôÏÍ ÕÖÅ ÐÏÄÓÏÅÄÉÎÅÎ"
- #define ERR_NO_SUCH_DRIVE "îÅÔ ÔÁËÏÇÏ ÄÉÓËÁ"
- #define ERR_NOT_MAC_DISK "îÅ ÄÉÓË Macintosh"
- #define ERR_VOL_EXTERNAL_FS "ôÏÍ ÐÒÉÎÁÄÌÅÖÉÔ ×ÎÅÛÎÅÊ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÅ"
- #define ERR_PROBLEM_RENAME "ðÒÏÂÌÅÍÁ ÐÒÉ ÐÅÒÅÉÍÅÎÏ×ÁÎÉÉ"
- #define ERR_BAD_MASTER_BLOCK "ðÌÏÈÏÊ ÇÌÁ×ÎÙÊ ÂÌÏË ËÁÔÁÌÏÇÁ"
- #define ERR_CANT_MOVE_FORBIDDEN "ðÏÐÙÔËÁ ÐÅÒÅÍÅÓÔÉÔØ ÚÁÐÒÅÝÅÎÁ"
- #define ERR_WRONG_VOL_TYPE "îÅ×ÅÒÎÙÊ ÔÉÐ ÔÏÍÁ"
- #define ERR_SERVER_VOL_LOST "óÅÒ×ÅÒÎÙÊ ÔÏÍ ÂÙÌ ÏÔÓÏÅÄÉÎÅÎ"
- #define ERR_FILE_ID_NOT_FOUND "éÄÅÎÔÉÆÉËÁÔÏÒ ÆÁÊÌÁ ÎÅ ÎÁÊÄÅÎ"
- #define ERR_FILE_ID_EXISTS "éÄÅÎÔÉÆÉËÁÔÏÒ ÆÁÊÌÁ ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
- #define ERR_SERVER_NO_RESPOND "óÅÒ×ÅÒ ÎÅ ÏÔ×ÅÞÁÅÔ"
- #define ERR_USER_AUTH_FAILED "éÄÅÎÔÉÆÉËÁÃÉÑ ÐÏÌØÚÏ×ÁÔÅÌÑ ÎÅ ÕÄÁÌÁÓØ"
- #define ERR_PWORD_EXPIRED "ðÁÒÏÌØ ÎÁ ÓÅÒ×ÅÒÅ ÕÓÔÁÒÅÌ"
- #define ERR_ACCESS_DENIED "ïÔËÁÚÁÎÏ × ÄÏÓÔÕÐÅ"
- #define ERR_NOT_A_DOS_DISK "îÅ ÄÉÓË DOS"
- #define ERR_SHARING_VIOLATION "îÁÒÕÛÅÎÉÅ ÓÏ×ÍÅÓÔÎÏÇÏ ÄÏÓÔÕÐÁ"
- #define ERR_CANNOT_MAKE "îÅ ÍÏÇÕ ÓÏÂÒÁÔØ"
- #define ERR_DEV_IN_USE "õÓÔÒÏÊÓÔ×Ï ÕÖÅ ÉÓÐÏÌØÚÕÅÔÓÑ"
- #define ERR_OPEN_FAILED "ïÔËÒÙÔÉÅ ÎÅ ÕÄÁÌÏÓØ"
- #define ERR_PIPE_BUSY "ëÏÎ×ÅÊÅÒ ÚÁÎÑÔ"
- #define ERR_SHARING_BUF_EXCEEDED "òÁÚÄÅÌÑÅÍÙÊ ÂÕÆÅÒ ÐÅÒÅÐÏÌÎÅÎ"
- #define ERR_TOO_MANY_HANDLES "óÌÉÛËÏÍ ÍÎÏÇÏ ÏÔËÒÙÔÙÈ ÄÅÓËÒÉÐÔÏÒÏ×"
- #define ERR_SEEK_ERROR "ïÛÉÂËÁ ÐÏÚÉÃÉÏÎÉÒÏ×ÁÎÉÑ"
- #define ERR_DEL_CWD "ðÏÐÙÔËÁ ÕÄÁÌÉÔØ ÔÅËÕÝÉÊ ÒÁÂÏÞÉÊ ËÁÔÁÌÏÇ"
- #define ERR_WRITE_PROTECT_ERROR "ïÛÉÂËÁ ÚÁÝÉÔÙ ÚÁÐÉÓÉ"
- #define ERR_WRITE_FAULT "ïÛÉÂËÁ ÚÁÐÉÓÉ"
- #define ERR_LOCK_VIOLATION "îÁÒÕÛÅÎÉÅ ÂÌÏËÉÒÏ×ËÉ"
- #define ERR_GEN_FAILURE "ïÂÝÉÊ ÓÂÏÊ"
- #define ERR_UNCERTAIN_MEDIA "îÅÏÐÒÅÄÅÌÅÎÎÙÊ ÎÏÓÉÔÅÌØ"
- #define ERR_PROT_VIOLATION "îÁÒÕÛÅÎÉÅ ÚÁÝÉÔÙ"
- #define ERR_BROKEN_PIPE "óÌÏÍÁÎÎÙÊ ËÏÎ×ÅÊÅÒ"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_RUSSIAN_CP1251)
- #define DIR_ARCHIVE_DESCRIPTION "Íå àðõèâ, íåïîñðåäñòâåííûé ââîä/âûâîä ôàéëîâîé ñèñòåìû"
- #define GRP_ARCHIVE_DESCRIPTION "Ôîðìàò ãðóïïîâîãî ôàéëà Build engine"
- #define HOG_ARCHIVE_DESCRIPTION "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION "Descent II Movielib format"
- #define ZIP_ARCHIVE_DESCRIPTION "PkZip/WinZip/Info-Zip ñîâìåñòèìûé"
- #define WAD_ARCHIVE_DESCRIPTION "DOOM engine format" /* !!! FIXME: translate this line if needed */
- #define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format" /* !!! FIXME: translate this line if needed */
-
- #define ERR_IS_INITIALIZED "Óæå èíèöèàëèçèðîâàí"
- #define ERR_NOT_INITIALIZED "Íå èíèöèàëèçèðîâàí"
- #define ERR_INVALID_ARGUMENT "Íåâåðíûé àðãóìåíò"
- #define ERR_FILES_STILL_OPEN "Ôàéëû åùå îòêðûòû"
- #define ERR_NO_DIR_CREATE "Íå ìîãó ñîçäàòü êàòàëîãè"
- #define ERR_OUT_OF_MEMORY "Êîí÷èëàñü ïàìÿòü"
- #define ERR_NOT_IN_SEARCH_PATH "Íåò òàêîãî ýëåìåíòà â ïóòè ïîèñêà"
- #define ERR_NOT_SUPPORTED "Îïåðàöèÿ íå ïîääåðæèâàåòñÿ"
- #define ERR_UNSUPPORTED_ARCHIVE "Àðõèâû òàêîãî òèïà íå ïîääåðæèâàþòñÿ"
- #define ERR_NOT_A_HANDLE "Íå ôàéëîâûé äåñêðèïòîð"
- #define ERR_INSECURE_FNAME "Íåáåçîïàñíîå èìÿ ôàéëà"
- #define ERR_SYMLINK_DISALLOWED "Ñèìâîëüíûå ññûëêè îòêëþ÷åíû"
- #define ERR_NO_WRITE_DIR "Êàòàëîã äëÿ çàïèñè íå óñòàíîâëåí"
- #define ERR_NO_SUCH_FILE "Ôàéë íå íàéäåí"
- #define ERR_NO_SUCH_PATH "Ïóòü íå íàéäåí"
- #define ERR_NO_SUCH_VOLUME "Òîì íå íàéäåí"
- #define ERR_PAST_EOF "Çà êîíöîì ôàéëà"
- #define ERR_ARC_IS_READ_ONLY "Àðõèâ òîëüêî äëÿ ÷òåíèÿ"
- #define ERR_IO_ERROR "Îøèáêà ââîäà/âûâîäà"
- #define ERR_CANT_SET_WRITE_DIR "Íå ìîãó óñòàíîâèòü êàòàëîã äëÿ çàïèñè"
- #define ERR_SYMLINK_LOOP "Áåñêîíå÷íûé öèêë ñèìâîëüíîé ññûëêè"
- #define ERR_COMPRESSION "Îøèáêà (Ðàñ)ïàêîâêè"
- #define ERR_NOT_IMPLEMENTED "Íå ðåàëèçîâàíî"
- #define ERR_OS_ERROR "Îïåðàöèîííàÿ ñèñòåìà ñîîáùèëà îøèáêó"
- #define ERR_FILE_EXISTS "Ôàéë óæå ñóùåñòâóåò"
- #define ERR_NOT_A_FILE "Íå ôàéë"
- #define ERR_NOT_A_DIR "Íå êàòàëîã"
- #define ERR_NOT_AN_ARCHIVE "Íå àðõèâ"
- #define ERR_CORRUPTED "Ïîâðåæäåííûé àðõèâ"
- #define ERR_SEEK_OUT_OF_RANGE "Ïîçèöèîíèðîâàíèå çà ïðåäåëû"
- #define ERR_BAD_FILENAME "Íåâåðíîå èìÿ ôàéëà"
- #define ERR_PHYSFS_BAD_OS_CALL "(BUG) PhysicsFS âûïîëíèëà íåâåðíûé ñèñòåìíûé âûçîâ"
- #define ERR_ARGV0_IS_NULL "argv0 is NULL"
- #define ERR_NEED_DICT "íóæåí ñëîâàðü"
- #define ERR_DATA_ERROR "îøèáêà äàííûõ"
- #define ERR_MEMORY_ERROR "îøèáêà ïàìÿòè"
- #define ERR_BUFFER_ERROR "îøèáêà áóôåðà"
- #define ERR_VERSION_ERROR "îøèáêà âåðñèè"
- #define ERR_UNKNOWN_ERROR "íåèçâåñòíàÿ îøèáêà"
- #define ERR_SEARCHPATH_TRUNC "Ïóòü ïîèñêà îáðåçàí"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() îáðåçàí"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() íå ïîëó÷èë êàòàëîã"
- #define ERR_DISK_FULL "Äèñê ïîëîí"
- #define ERR_DIRECTORY_FULL "Êàòàëîã ïîëîí"
- #define ERR_MACOS_GENERIC "MacOS ñîîáùèëà îøèáêó (%d)"
- #define ERR_OS2_GENERIC "OS/2 ñîîáùèëà îøèáêó (%d)"
- #define ERR_VOL_LOCKED_HW "Òîì áëîêèðîâàí àïïàðàòíî"
- #define ERR_VOL_LOCKED_SW "Òîì áëîêèðîâàí ïðîãðàììíî"
- #define ERR_FILE_LOCKED "Ôàéë çàáëîêèðîâàí"
- #define ERR_FILE_OR_DIR_BUSY "Ôàéë/êàòàëîã çàíÿò"
- #define ERR_FILE_ALREADY_OPEN_W "Ôàéë óæå îòêðûò íà çàïèñü"
- #define ERR_FILE_ALREADY_OPEN_R "Ôàéë óæå îòêðûò íà ÷òåíèå"
- #define ERR_INVALID_REFNUM "Íåâåðíîå êîëè÷åñòâî ññûëîê"
- #define ERR_GETTING_FILE_POS "Îøèáêà ïðè ïîëó÷åíèè ïîçèöèè ôàéëà"
- #define ERR_VOLUME_OFFLINE "Òîì îòñîåäèíåí"
- #define ERR_PERMISSION_DENIED "Îòêàçàíî â ðàçðåøåíèè"
- #define ERR_VOL_ALREADY_ONLINE "Òîì óæå ïîäñîåäèíåí"
- #define ERR_NO_SUCH_DRIVE "Íåò òàêîãî äèñêà"
- #define ERR_NOT_MAC_DISK "Íå äèñê Macintosh"
- #define ERR_VOL_EXTERNAL_FS "Òîì ïðèíàäëåæèò âíåøíåé ôàéëîâîé ñèñòåìå"
- #define ERR_PROBLEM_RENAME "Ïðîáëåìà ïðè ïåðåèìåíîâàíèè"
- #define ERR_BAD_MASTER_BLOCK "Ïëîõîé ãëàâíûé áëîê êàòàëîãà"
- #define ERR_CANT_MOVE_FORBIDDEN "Ïîïûòêà ïåðåìåñòèòü çàïðåùåíà"
- #define ERR_WRONG_VOL_TYPE "Íåâåðíûé òèï òîìà"
- #define ERR_SERVER_VOL_LOST "Ñåðâåðíûé òîì áûë îòñîåäèíåí"
- #define ERR_FILE_ID_NOT_FOUND "Èäåíòèôèêàòîð ôàéëà íå íàéäåí"
- #define ERR_FILE_ID_EXISTS "Èäåíòèôèêàòîð ôàéëà óæå ñóùåñòâóåò"
- #define ERR_SERVER_NO_RESPOND "Ñåðâåð íå îòâå÷àåò"
- #define ERR_USER_AUTH_FAILED "Èäåíòèôèêàöèÿ ïîëüçîâàòåëÿ íå óäàëàñü"
- #define ERR_PWORD_EXPIRED "Ïàðîëü íà ñåðâåðå óñòàðåë"
- #define ERR_ACCESS_DENIED "Îòêàçàíî â äîñòóïå"
- #define ERR_NOT_A_DOS_DISK "Íå äèñê DOS"
- #define ERR_SHARING_VIOLATION "Íàðóøåíèå ñîâìåñòíîãî äîñòóïà"
- #define ERR_CANNOT_MAKE "Íå ìîãó ñîáðàòü"
- #define ERR_DEV_IN_USE "Óñòðîéñòâî óæå èñïîëüçóåòñÿ"
- #define ERR_OPEN_FAILED "Îòêðûòèå íå óäàëîñü"
- #define ERR_PIPE_BUSY "Êîíâåéåð çàíÿò"
- #define ERR_SHARING_BUF_EXCEEDED "Ðàçäåëÿåìûé áóôåð ïåðåïîëíåí"
- #define ERR_TOO_MANY_HANDLES "Ñëèøêîì ìíîãî îòêðûòûõ äåñêðèïòîðîâ"
- #define ERR_SEEK_ERROR "Îøèáêà ïîçèöèîíèðîâàíèÿ"
- #define ERR_DEL_CWD "Ïîïûòêà óäàëèòü òåêóùèé ðàáî÷èé êàòàëîã"
- #define ERR_WRITE_PROTECT_ERROR "Îøèáêà çàùèòû çàïèñè"
- #define ERR_WRITE_FAULT "Îøèáêà çàïèñè"
- #define ERR_LOCK_VIOLATION "Íàðóøåíèå áëîêèðîâêè"
- #define ERR_GEN_FAILURE "Îáùèé ñáîé"
- #define ERR_UNCERTAIN_MEDIA "Íåîïðåäåëåííûé íîñèòåëü"
- #define ERR_PROT_VIOLATION "Íàðóøåíèå çàùèòû"
- #define ERR_BROKEN_PIPE "Ñëîìàííûé êîíâåéåð"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_RUSSIAN_CP866)
- #define DIR_ARCHIVE_DESCRIPTION "¥  à娢, ­¥¯®á।á⢥­­ë© ¢¢®¤/¢ë¢®¤ ä ©«®¢®© á¨á⥬ë"
- #define GRP_ARCHIVE_DESCRIPTION "”®à¬ â £à㯯®¢®£® ä ©«  Build engine"
- #define HOG_ARCHIVE_DESCRIPTION "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION "Descent II Movielib format"
- #define ZIP_ARCHIVE_DESCRIPTION "PkZip/WinZip/Info-Zip ᮢ¬¥á⨬ë©"
- #define WAD_ARCHIVE_DESCRIPTION "DOOM engine format" /* !!! FIXME: translate this line if needed */
- #define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format" /* !!! FIXME: translate this line if needed */
-
- #define ERR_IS_INITIALIZED "“¦¥ ¨­¨æ¨ «¨§¨à®¢ ­"
- #define ERR_NOT_INITIALIZED "¥ ¨­¨æ¨ «¨§¨à®¢ ­"
- #define ERR_INVALID_ARGUMENT "¥¢¥à­ë©  à£ã¬¥­â"
- #define ERR_FILES_STILL_OPEN "” ©«ë ¥é¥ ®âªàëâë"
- #define ERR_NO_DIR_CREATE "¥ ¬®£ã ᮧ¤ âì ª â «®£¨"
- #define ERR_OUT_OF_MEMORY "Š®­ç¨« áì ¯ ¬ïâì"
- #define ERR_NOT_IN_SEARCH_PATH "¥â â ª®£® í«¥¬¥­â  ¢ ¯ã⨠¯®¨áª "
- #define ERR_NOT_SUPPORTED "Ž¯¥à æ¨ï ­¥ ¯®¤¤¥à¦¨¢ ¥âáï"
- #define ERR_UNSUPPORTED_ARCHIVE "€à娢ë â ª®£® ⨯  ­¥ ¯®¤¤¥à¦¨¢ îâáï"
- #define ERR_NOT_A_HANDLE "¥ ä ©«®¢ë© ¤¥áªà¨¯â®à"
- #define ERR_INSECURE_FNAME "¥¡¥§®¯ á­®¥ ¨¬ï ä ©« "
- #define ERR_SYMLINK_DISALLOWED "‘¨¬¢®«ì­ë¥ áá뫪¨ ®âª«î祭ë"
- #define ERR_NO_WRITE_DIR "Š â «®£ ¤«ï § ¯¨á¨ ­¥ ãáâ ­®¢«¥­"
- #define ERR_NO_SUCH_FILE "” ©« ­¥ ­ ©¤¥­"
- #define ERR_NO_SUCH_PATH "ãâì ­¥ ­ ©¤¥­"
- #define ERR_NO_SUCH_VOLUME "’®¬ ­¥ ­ ©¤¥­"
- #define ERR_PAST_EOF "‡  ª®­æ®¬ ä ©« "
- #define ERR_ARC_IS_READ_ONLY "€à娢 ⮫쪮 ¤«ï ç⥭¨ï"
- #define ERR_IO_ERROR "Žè¨¡ª  ¢¢®¤ /¢ë¢®¤ "
- #define ERR_CANT_SET_WRITE_DIR "¥ ¬®£ã ãáâ ­®¢¨âì ª â «®£ ¤«ï § ¯¨á¨"
- #define ERR_SYMLINK_LOOP "¥áª®­¥ç­ë© 横« ᨬ¢®«ì­®© áá뫪¨"
- #define ERR_COMPRESSION "Žè¨¡ª  ( á)¯ ª®¢ª¨"
- #define ERR_NOT_IMPLEMENTED "¥ ॠ«¨§®¢ ­®"
- #define ERR_OS_ERROR "Ž¯¥à æ¨®­­ ï á¨á⥬  á®®¡é¨«  ®è¨¡ªã"
- #define ERR_FILE_EXISTS "” ©« 㦥 áãé¥áâ¢ã¥â"
- #define ERR_NOT_A_FILE "¥ ä ©«"
- #define ERR_NOT_A_DIR "¥ ª â «®£"
- #define ERR_NOT_AN_ARCHIVE "¥  à娢"
- #define ERR_CORRUPTED "®¢à¥¦¤¥­­ë©  à娢"
- #define ERR_SEEK_OUT_OF_RANGE "®§¨æ¨®­¨à®¢ ­¨¥ §  ¯à¥¤¥«ë"
- #define ERR_BAD_FILENAME "¥¢¥à­®¥ ¨¬ï ä ©« "
- #define ERR_PHYSFS_BAD_OS_CALL "(BUG) PhysicsFS ¢ë¯®«­¨«  ­¥¢¥à­ë© á¨á⥬­ë© ¢ë§®¢"
- #define ERR_ARGV0_IS_NULL "argv0 is NULL"
- #define ERR_NEED_DICT "­ã¦¥­ á«®¢ àì"
- #define ERR_DATA_ERROR "®è¨¡ª  ¤ ­­ëå"
- #define ERR_MEMORY_ERROR "®è¨¡ª  ¯ ¬ïâ¨"
- #define ERR_BUFFER_ERROR "®è¨¡ª  ¡ãä¥à "
- #define ERR_VERSION_ERROR "®è¨¡ª  ¢¥àᨨ"
- #define ERR_UNKNOWN_ERROR "­¥¨§¢¥áâ­ ï ®è¨¡ª "
- #define ERR_SEARCHPATH_TRUNC "ãâì ¯®¨áª  ®¡à¥§ ­"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() ®¡à¥§ ­"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() ­¥ ¯®«ã稫 ª â «®£"
- #define ERR_DISK_FULL "„¨áª ¯®«®­"
- #define ERR_DIRECTORY_FULL "Š â «®£ ¯®«®­"
- #define ERR_MACOS_GENERIC "MacOS á®®¡é¨«  ®è¨¡ªã (%d)"
- #define ERR_OS2_GENERIC "OS/2 á®®¡é¨«  ®è¨¡ªã (%d)"
- #define ERR_VOL_LOCKED_HW "’®¬ ¡«®ª¨à®¢ ­  ¯¯ à â­®"
- #define ERR_VOL_LOCKED_SW "’®¬ ¡«®ª¨à®¢ ­ ¯à®£à ¬¬­®"
- #define ERR_FILE_LOCKED "” ©« § ¡«®ª¨à®¢ ­"
- #define ERR_FILE_OR_DIR_BUSY "” ©«/ª â «®£ § ­ïâ"
- #define ERR_FILE_ALREADY_OPEN_W "” ©« 㦥 ®âªàëâ ­  § ¯¨áì"
- #define ERR_FILE_ALREADY_OPEN_R "” ©« 㦥 ®âªàëâ ­  ç⥭¨¥"
- #define ERR_INVALID_REFNUM "¥¢¥à­®¥ ª®«¨ç¥á⢮ ááë«®ª"
- #define ERR_GETTING_FILE_POS "Žè¨¡ª  ¯à¨ ¯®«ã祭¨¨ ¯®§¨æ¨¨ ä ©« "
- #define ERR_VOLUME_OFFLINE "’®¬ ®âᮥ¤¨­¥­"
- #define ERR_PERMISSION_DENIED "Žâª § ­® ¢ à §à¥è¥­¨¨"
- #define ERR_VOL_ALREADY_ONLINE "’®¬ 㦥 ¯®¤á®¥¤¨­¥­"
- #define ERR_NO_SUCH_DRIVE "¥â â ª®£® ¤¨áª "
- #define ERR_NOT_MAC_DISK "¥ ¤¨áª Macintosh"
- #define ERR_VOL_EXTERNAL_FS "’®¬ ¯à¨­ ¤«¥¦¨â ¢­¥è­¥© ä ©«®¢®© á¨á⥬¥"
- #define ERR_PROBLEM_RENAME "஡«¥¬  ¯à¨ ¯¥à¥¨¬¥­®¢ ­¨¨"
- #define ERR_BAD_MASTER_BLOCK "«®å®© £« ¢­ë© ¡«®ª ª â «®£ "
- #define ERR_CANT_MOVE_FORBIDDEN "®¯ë⪠ ¯¥à¥¬¥áâ¨âì § ¯à¥é¥­ "
- #define ERR_WRONG_VOL_TYPE "¥¢¥à­ë© ⨯ ⮬ "
- #define ERR_SERVER_VOL_LOST "‘¥à¢¥à­ë© ⮬ ¡ë« ®âᮥ¤¨­¥­"
- #define ERR_FILE_ID_NOT_FOUND "ˆ¤¥­â¨ä¨ª â®à ä ©«  ­¥ ­ ©¤¥­"
- #define ERR_FILE_ID_EXISTS "ˆ¤¥­â¨ä¨ª â®à ä ©«  㦥 áãé¥áâ¢ã¥â"
- #define ERR_SERVER_NO_RESPOND "‘¥à¢¥à ­¥ ®â¢¥ç ¥â"
- #define ERR_USER_AUTH_FAILED "ˆ¤¥­â¨ä¨ª æ¨ï ¯®«ì§®¢ â¥«ï ­¥ 㤠« áì"
- #define ERR_PWORD_EXPIRED " à®«ì ­  á¥à¢¥à¥ ãáâ à¥«"
- #define ERR_ACCESS_DENIED "Žâª § ­® ¢ ¤®áâ㯥"
- #define ERR_NOT_A_DOS_DISK "¥ ¤¨áª DOS"
- #define ERR_SHARING_VIOLATION " àã襭¨¥ ᮢ¬¥áâ­®£® ¤®áâ㯠"
- #define ERR_CANNOT_MAKE "¥ ¬®£ã ᮡà âì"
- #define ERR_DEV_IN_USE "“áâனá⢮ 㦥 ¨á¯®«ì§ã¥âáï"
- #define ERR_OPEN_FAILED "Žâªàë⨥ ­¥ 㤠«®áì"
- #define ERR_PIPE_BUSY "Š®­¢¥©¥à § ­ïâ"
- #define ERR_SHARING_BUF_EXCEEDED " §¤¥«ï¥¬ë© ¡ãä¥à ¯¥à¥¯®«­¥­"
- #define ERR_TOO_MANY_HANDLES "‘«¨èª®¬ ¬­®£® ®âªàëâëå ¤¥áªà¨¯â®à®¢"
- #define ERR_SEEK_ERROR "Žè¨¡ª  ¯®§¨æ¨®­¨à®¢ ­¨ï"
- #define ERR_DEL_CWD "®¯ë⪠ 㤠«¨âì ⥪ã騩 à ¡®ç¨© ª â «®£"
- #define ERR_WRITE_PROTECT_ERROR "Žè¨¡ª  § é¨âë § ¯¨á¨"
- #define ERR_WRITE_FAULT "Žè¨¡ª  § ¯¨á¨"
- #define ERR_LOCK_VIOLATION " àã襭¨¥ ¡«®ª¨à®¢ª¨"
- #define ERR_GEN_FAILURE "Ž¡é¨© á¡®©"
- #define ERR_UNCERTAIN_MEDIA "¥®¯à¥¤¥«¥­­ë© ­®á¨â¥«ì"
- #define ERR_PROT_VIOLATION " àã襭¨¥ § é¨âë"
- #define ERR_BROKEN_PIPE "‘«®¬ ­­ë© ª®­¢¥©¥à"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_RUSSIAN_ISO_8859_5)
- #define DIR_ARCHIVE_DESCRIPTION "½Õ ÐàåØÒ, ÝÕßÞáàÕÔáâÒÕÝÝëÙ ÒÒÞÔ/ÒëÒÞÔ äÐÙÛÞÒÞÙ áØáâÕÜë"
- #define GRP_ARCHIVE_DESCRIPTION "ÄÞàÜÐâ ÓàãßßÞÒÞÓÞ äÐÙÛÐ Build engine"
- #define HOG_ARCHIVE_DESCRIPTION "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION "Descent II Movielib format"
- #define ZIP_ARCHIVE_DESCRIPTION "PkZip/WinZip/Info-Zip áÞÒÜÕáâØÜëÙ"
- #define WAD_ARCHIVE_DESCRIPTION "DOOM engine format" /* !!! FIXME: translate this line if needed */
- #define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format" /* !!! FIXME: translate this line if needed */
-
- #define ERR_IS_INITIALIZED "ÃÖÕ ØÝØæØÐÛØ×ØàÞÒÐÝ"
- #define ERR_NOT_INITIALIZED "½Õ ØÝØæØÐÛØ×ØàÞÒÐÝ"
- #define ERR_INVALID_ARGUMENT "½ÕÒÕàÝëÙ ÐàÓãÜÕÝâ"
- #define ERR_FILES_STILL_OPEN "ÄÐÙÛë ÕéÕ ÞâÚàëâë"
- #define ERR_NO_DIR_CREATE "½Õ ÜÞÓã áÞ×ÔÐâì ÚÐâÐÛÞÓØ"
- #define ERR_OUT_OF_MEMORY "ºÞÝçØÛÐáì ßÐÜïâì"
- #define ERR_NOT_IN_SEARCH_PATH "½Õâ âÐÚÞÓÞ íÛÕÜÕÝâÐ Ò ßãâØ ßÞØáÚÐ"
- #define ERR_NOT_SUPPORTED "¾ßÕàÐæØï ÝÕ ßÞÔÔÕàÖØÒÐÕâáï"
- #define ERR_UNSUPPORTED_ARCHIVE "°àåØÒë âÐÚÞÓÞ âØßÐ ÝÕ ßÞÔÔÕàÖØÒÐîâáï"
- #define ERR_NOT_A_HANDLE "½Õ äÐÙÛÞÒëÙ ÔÕáÚàØßâÞà"
- #define ERR_INSECURE_FNAME "½ÕÑÕ×ÞßÐáÝÞÕ ØÜï äÐÙÛÐ"
- #define ERR_SYMLINK_DISALLOWED "ÁØÜÒÞÛìÝëÕ ááëÛÚØ ÞâÚÛîçÕÝë"
- #define ERR_NO_WRITE_DIR "ºÐâÐÛÞÓ ÔÛï ×ÐßØáØ ÝÕ ãáâÐÝÞÒÛÕÝ"
- #define ERR_NO_SUCH_FILE "ÄÐÙÛ ÝÕ ÝÐÙÔÕÝ"
- #define ERR_NO_SUCH_PATH "¿ãâì ÝÕ ÝÐÙÔÕÝ"
- #define ERR_NO_SUCH_VOLUME "ÂÞÜ ÝÕ ÝÐÙÔÕÝ"
- #define ERR_PAST_EOF "·Ð ÚÞÝæÞÜ äÐÙÛÐ"
- #define ERR_ARC_IS_READ_ONLY "°àåØÒ âÞÛìÚÞ ÔÛï çâÕÝØï"
- #define ERR_IO_ERROR "¾èØÑÚÐ ÒÒÞÔÐ/ÒëÒÞÔÐ"
- #define ERR_CANT_SET_WRITE_DIR "½Õ ÜÞÓã ãáâÐÝÞÒØâì ÚÐâÐÛÞÓ ÔÛï ×ÐßØáØ"
- #define ERR_SYMLINK_LOOP "±ÕáÚÞÝÕçÝëÙ æØÚÛ áØÜÒÞÛìÝÞÙ ááëÛÚØ"
- #define ERR_COMPRESSION "¾èØÑÚÐ (ÀÐá)ßÐÚÞÒÚØ"
- #define ERR_NOT_IMPLEMENTED "½Õ àÕÐÛØ×ÞÒÐÝÞ"
- #define ERR_OS_ERROR "¾ßÕàÐæØÞÝÝÐï áØáâÕÜÐ áÞÞÑéØÛÐ ÞèØÑÚã"
- #define ERR_FILE_EXISTS "ÄÐÙÛ ãÖÕ áãéÕáâÒãÕâ"
- #define ERR_NOT_A_FILE "½Õ äÐÙÛ"
- #define ERR_NOT_A_DIR "½Õ ÚÐâÐÛÞÓ"
- #define ERR_NOT_AN_ARCHIVE "½Õ ÐàåØÒ"
- #define ERR_CORRUPTED "¿ÞÒàÕÖÔÕÝÝëÙ ÐàåØÒ"
- #define ERR_SEEK_OUT_OF_RANGE "¿Þ×ØæØÞÝØàÞÒÐÝØÕ ×Ð ßàÕÔÕÛë"
- #define ERR_BAD_FILENAME "½ÕÒÕàÝÞÕ ØÜï äÐÙÛÐ"
- #define ERR_PHYSFS_BAD_OS_CALL "(BUG) PhysicsFS ÒëßÞÛÝØÛÐ ÝÕÒÕàÝëÙ áØáâÕÜÝëÙ Òë×ÞÒ"
- #define ERR_ARGV0_IS_NULL "argv0 is NULL"
- #define ERR_NEED_DICT "ÝãÖÕÝ áÛÞÒÐàì"
- #define ERR_DATA_ERROR "ÞèØÑÚÐ ÔÐÝÝëå"
- #define ERR_MEMORY_ERROR "ÞèØÑÚÐ ßÐÜïâØ"
- #define ERR_BUFFER_ERROR "ÞèØÑÚÐ ÑãäÕàÐ"
- #define ERR_VERSION_ERROR "ÞèØÑÚÐ ÒÕàáØØ"
- #define ERR_UNKNOWN_ERROR "ÝÕØ×ÒÕáâÝÐï ÞèØÑÚÐ"
- #define ERR_SEARCHPATH_TRUNC "¿ãâì ßÞØáÚÐ ÞÑàÕ×ÐÝ"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() ÞÑàÕ×ÐÝ"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() ÝÕ ßÞÛãçØÛ ÚÐâÐÛÞÓ"
- #define ERR_DISK_FULL "´ØáÚ ßÞÛÞÝ"
- #define ERR_DIRECTORY_FULL "ºÐâÐÛÞÓ ßÞÛÞÝ"
- #define ERR_MACOS_GENERIC "MacOS áÞÞÑéØÛÐ ÞèØÑÚã (%d)"
- #define ERR_OS2_GENERIC "OS/2 áÞÞÑéØÛÐ ÞèØÑÚã (%d)"
- #define ERR_VOL_LOCKED_HW "ÂÞÜ ÑÛÞÚØàÞÒÐÝ ÐßßÐàÐâÝÞ"
- #define ERR_VOL_LOCKED_SW "ÂÞÜ ÑÛÞÚØàÞÒÐÝ ßàÞÓàÐÜÜÝÞ"
- #define ERR_FILE_LOCKED "ÄÐÙÛ ×ÐÑÛÞÚØàÞÒÐÝ"
- #define ERR_FILE_OR_DIR_BUSY "ÄÐÙÛ/ÚÐâÐÛÞÓ ×ÐÝïâ"
- #define ERR_FILE_ALREADY_OPEN_W "ÄÐÙÛ ãÖÕ ÞâÚàëâ ÝÐ ×ÐßØáì"
- #define ERR_FILE_ALREADY_OPEN_R "ÄÐÙÛ ãÖÕ ÞâÚàëâ ÝÐ çâÕÝØÕ"
- #define ERR_INVALID_REFNUM "½ÕÒÕàÝÞÕ ÚÞÛØçÕáâÒÞ ááëÛÞÚ"
- #define ERR_GETTING_FILE_POS "¾èØÑÚÐ ßàØ ßÞÛãçÕÝØØ ßÞ×ØæØØ äÐÙÛÐ"
- #define ERR_VOLUME_OFFLINE "ÂÞÜ ÞâáÞÕÔØÝÕÝ"
- #define ERR_PERMISSION_DENIED "¾âÚÐ×ÐÝÞ Ò àÐ×àÕèÕÝØØ"
- #define ERR_VOL_ALREADY_ONLINE "ÂÞÜ ãÖÕ ßÞÔáÞÕÔØÝÕÝ"
- #define ERR_NO_SUCH_DRIVE "½Õâ âÐÚÞÓÞ ÔØáÚÐ"
- #define ERR_NOT_MAC_DISK "½Õ ÔØáÚ Macintosh"
- #define ERR_VOL_EXTERNAL_FS "ÂÞÜ ßàØÝÐÔÛÕÖØâ ÒÝÕèÝÕÙ äÐÙÛÞÒÞÙ áØáâÕÜÕ"
- #define ERR_PROBLEM_RENAME "¿àÞÑÛÕÜÐ ßàØ ßÕàÕØÜÕÝÞÒÐÝØØ"
- #define ERR_BAD_MASTER_BLOCK "¿ÛÞåÞÙ ÓÛÐÒÝëÙ ÑÛÞÚ ÚÐâÐÛÞÓÐ"
- #define ERR_CANT_MOVE_FORBIDDEN "¿ÞßëâÚÐ ßÕàÕÜÕáâØâì ×ÐßàÕéÕÝÐ"
- #define ERR_WRONG_VOL_TYPE "½ÕÒÕàÝëÙ âØß âÞÜÐ"
- #define ERR_SERVER_VOL_LOST "ÁÕàÒÕàÝëÙ âÞÜ ÑëÛ ÞâáÞÕÔØÝÕÝ"
- #define ERR_FILE_ID_NOT_FOUND "¸ÔÕÝâØäØÚÐâÞà äÐÙÛÐ ÝÕ ÝÐÙÔÕÝ"
- #define ERR_FILE_ID_EXISTS "¸ÔÕÝâØäØÚÐâÞà äÐÙÛÐ ãÖÕ áãéÕáâÒãÕâ"
- #define ERR_SERVER_NO_RESPOND "ÁÕàÒÕà ÝÕ ÞâÒÕçÐÕâ"
- #define ERR_USER_AUTH_FAILED "¸ÔÕÝâØäØÚÐæØï ßÞÛì×ÞÒÐâÕÛï ÝÕ ãÔÐÛÐáì"
- #define ERR_PWORD_EXPIRED "¿ÐàÞÛì ÝÐ áÕàÒÕàÕ ãáâÐàÕÛ"
- #define ERR_ACCESS_DENIED "¾âÚÐ×ÐÝÞ Ò ÔÞáâãßÕ"
- #define ERR_NOT_A_DOS_DISK "½Õ ÔØáÚ DOS"
- #define ERR_SHARING_VIOLATION "½ÐàãèÕÝØÕ áÞÒÜÕáâÝÞÓÞ ÔÞáâãßÐ"
- #define ERR_CANNOT_MAKE "½Õ ÜÞÓã áÞÑàÐâì"
- #define ERR_DEV_IN_USE "ÃáâàÞÙáâÒÞ ãÖÕ ØáßÞÛì×ãÕâáï"
- #define ERR_OPEN_FAILED "¾âÚàëâØÕ ÝÕ ãÔÐÛÞáì"
- #define ERR_PIPE_BUSY "ºÞÝÒÕÙÕà ×ÐÝïâ"
- #define ERR_SHARING_BUF_EXCEEDED "ÀÐ×ÔÕÛïÕÜëÙ ÑãäÕà ßÕàÕßÞÛÝÕÝ"
- #define ERR_TOO_MANY_HANDLES "ÁÛØèÚÞÜ ÜÝÞÓÞ ÞâÚàëâëå ÔÕáÚàØßâÞàÞÒ"
- #define ERR_SEEK_ERROR "¾èØÑÚÐ ßÞ×ØæØÞÝØàÞÒÐÝØï"
- #define ERR_DEL_CWD "¿ÞßëâÚÐ ãÔÐÛØâì âÕÚãéØÙ àÐÑÞçØÙ ÚÐâÐÛÞÓ"
- #define ERR_WRITE_PROTECT_ERROR "¾èØÑÚÐ ×ÐéØâë ×ÐßØáØ"
- #define ERR_WRITE_FAULT "¾èØÑÚÐ ×ÐßØáØ"
- #define ERR_LOCK_VIOLATION "½ÐàãèÕÝØÕ ÑÛÞÚØàÞÒÚØ"
- #define ERR_GEN_FAILURE "¾ÑéØÙ áÑÞÙ"
- #define ERR_UNCERTAIN_MEDIA "½ÕÞßàÕÔÕÛÕÝÝëÙ ÝÞáØâÕÛì"
- #define ERR_PROT_VIOLATION "½ÐàãèÕÝØÕ ×ÐéØâë"
- #define ERR_BROKEN_PIPE "ÁÛÞÜÐÝÝëÙ ÚÞÝÒÕÙÕà"
-
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_FRENCH)
- #define DIR_ARCHIVE_DESCRIPTION "Pas d'archive, E/S directes sur système de fichiers"
- #define GRP_ARCHIVE_DESCRIPTION "Format Groupfile du moteur Build"
- #define HOG_ARCHIVE_DESCRIPTION "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION "Descent II Movielib format"
- #define QPAK_ARCHIVE_DESCRIPTION "Quake I/II format"
- #define ZIP_ARCHIVE_DESCRIPTION "Compatible PkZip/WinZip/Info-Zip"
- #define WAD_ARCHIVE_DESCRIPTION "Format WAD du moteur DOOM"
- #define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format" /* !!! FIXME: translate this line if needed */
-
- #define ERR_IS_INITIALIZED "Déjà initialisé"
- #define ERR_NOT_INITIALIZED "Non initialisé"
- #define ERR_INVALID_ARGUMENT "Argument invalide"
- #define ERR_FILES_STILL_OPEN "Fichiers encore ouverts"
- #define ERR_NO_DIR_CREATE "Echec de la création de répertoires"
- #define ERR_OUT_OF_MEMORY "A court de mémoire"
- #define ERR_NOT_IN_SEARCH_PATH "Aucune entrée dans le chemin de recherche"
- #define ERR_NOT_SUPPORTED "Opération non supportée"
- #define ERR_UNSUPPORTED_ARCHIVE "Type d'archive non supportée"
- #define ERR_NOT_A_HANDLE "Pas un descripteur de fichier"
- #define ERR_INSECURE_FNAME "Nom de fichier dangereux"
- #define ERR_SYMLINK_DISALLOWED "Les liens symboliques sont désactivés"
- #define ERR_NO_WRITE_DIR "Le répertoire d'écriture n'est pas spécifié"
- #define ERR_NO_SUCH_FILE "Fichier non trouvé"
- #define ERR_NO_SUCH_PATH "Chemin non trouvé"
- #define ERR_NO_SUCH_VOLUME "Volume non trouvé"
- #define ERR_PAST_EOF "Au-delà de la fin du fichier"
- #define ERR_ARC_IS_READ_ONLY "L'archive est en lecture seule"
- #define ERR_IO_ERROR "Erreur E/S"
- #define ERR_CANT_SET_WRITE_DIR "Ne peut utiliser le répertoire d'écriture"
- #define ERR_SYMLINK_LOOP "Boucle infinie dans les liens symboliques"
- #define ERR_COMPRESSION "Erreur de (dé)compression"
- #define ERR_NOT_IMPLEMENTED "Non implémenté"
- #define ERR_OS_ERROR "Erreur rapportée par le système d'exploitation"
- #define ERR_FILE_EXISTS "Le fichier existe déjà"
- #define ERR_NOT_A_FILE "Pas un fichier"
- #define ERR_NOT_A_DIR "Pas un répertoire"
- #define ERR_NOT_AN_ARCHIVE "Pas une archive"
- #define ERR_CORRUPTED "Archive corrompue"
- #define ERR_SEEK_OUT_OF_RANGE "Pointeur de fichier hors de portée"
- #define ERR_BAD_FILENAME "Mauvais nom de fichier"
- #define ERR_PHYSFS_BAD_OS_CALL "(BOGUE) PhysicsFS a fait un mauvais appel système, le salaud"
- #define ERR_ARGV0_IS_NULL "argv0 est NULL"
- #define ERR_NEED_DICT "a besoin du dico"
- #define ERR_DATA_ERROR "erreur de données"
- #define ERR_MEMORY_ERROR "erreur mémoire"
- #define ERR_BUFFER_ERROR "erreur tampon"
- #define ERR_VERSION_ERROR "erreur de version"
- #define ERR_UNKNOWN_ERROR "erreur inconnue"
- #define ERR_SEARCHPATH_TRUNC "Le chemin de recherche a été tronqué"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() a été tronqué"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() n'a pas de répertoire"
- #define ERR_DISK_FULL "Disque plein"
- #define ERR_DIRECTORY_FULL "Répertoire plein"
- #define ERR_MACOS_GENERIC "Erreur rapportée par MacOS (%d)"
- #define ERR_OS2_GENERIC "Erreur rapportée par OS/2 (%d)"
- #define ERR_VOL_LOCKED_HW "Le volume est verrouillé matériellement"
- #define ERR_VOL_LOCKED_SW "Le volume est verrouillé par logiciel"
- #define ERR_FILE_LOCKED "Fichier verrouillé"
- #define ERR_FILE_OR_DIR_BUSY "Fichier/répertoire occupé"
- #define ERR_FILE_ALREADY_OPEN_W "Fichier déjà ouvert en écriture"
- #define ERR_FILE_ALREADY_OPEN_R "Fichier déjà ouvert en lecture"
- #define ERR_INVALID_REFNUM "Numéro de référence invalide"
- #define ERR_GETTING_FILE_POS "Erreur lors de l'obtention de la position du pointeur de fichier"
- #define ERR_VOLUME_OFFLINE "Le volume n'est pas en ligne"
- #define ERR_PERMISSION_DENIED "Permission refusée"
- #define ERR_VOL_ALREADY_ONLINE "Volumé déjà en ligne"
- #define ERR_NO_SUCH_DRIVE "Lecteur inexistant"
- #define ERR_NOT_MAC_DISK "Pas un disque Macintosh"
- #define ERR_VOL_EXTERNAL_FS "Le volume appartient à un système de fichiers externe"
- #define ERR_PROBLEM_RENAME "Problème lors du renommage"
- #define ERR_BAD_MASTER_BLOCK "Mauvais block maitre de répertoire"
- #define ERR_CANT_MOVE_FORBIDDEN "Essai de déplacement interdit"
- #define ERR_WRONG_VOL_TYPE "Mauvais type de volume"
- #define ERR_SERVER_VOL_LOST "Le volume serveur a été déconnecté"
- #define ERR_FILE_ID_NOT_FOUND "Identificateur de fichier non trouvé"
- #define ERR_FILE_ID_EXISTS "Identificateur de fichier existe déjà"
- #define ERR_SERVER_NO_RESPOND "Le serveur ne répond pas"
- #define ERR_USER_AUTH_FAILED "Authentification de l'utilisateur échouée"
- #define ERR_PWORD_EXPIRED "Le mot de passe a expiré sur le serveur"
- #define ERR_ACCESS_DENIED "Accès refusé"
- #define ERR_NOT_A_DOS_DISK "Pas un disque DOS"
- #define ERR_SHARING_VIOLATION "Violation de partage"
- #define ERR_CANNOT_MAKE "Ne peut faire"
- #define ERR_DEV_IN_USE "Périphérique déjà en utilisation"
- #define ERR_OPEN_FAILED "Ouverture échouée"
- #define ERR_PIPE_BUSY "Le tube est occupé"
- #define ERR_SHARING_BUF_EXCEEDED "Tampon de partage dépassé"
- #define ERR_TOO_MANY_HANDLES "Trop de descripteurs ouverts"
- #define ERR_SEEK_ERROR "Erreur de positionement"
- #define ERR_DEL_CWD "Essai de supprimer le répertoire courant"
- #define ERR_WRITE_PROTECT_ERROR "Erreur de protection en écriture"
- #define ERR_WRITE_FAULT "Erreur d'écriture"
- #define ERR_LOCK_VIOLATION "Violation de verrou"
- #define ERR_GEN_FAILURE "Echec général"
- #define ERR_UNCERTAIN_MEDIA "Média incertain"
- #define ERR_PROT_VIOLATION "Violation de protection"
- #define ERR_BROKEN_PIPE "Tube cassé"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_PORTUGUESE_BR)
- #define DIR_ARCHIVE_DESCRIPTION "Não arquivo, E/S sistema de arquivos direto"
- #define GRP_ARCHIVE_DESCRIPTION "Formato Groupfile do engine Build"
- #define HOG_ARCHIVE_DESCRIPTION "Formato Descent I/II HOG file"
- #define MVL_ARCHIVE_DESCRIPTION "Formato Descent II Movielib"
- #define QPAK_ARCHIVE_DESCRIPTION "Formato Quake I/II"
- #define ZIP_ARCHIVE_DESCRIPTION "Formato compatível PkZip/WinZip/Info-Zip"
- #define WAD_ARCHIVE_DESCRIPTION "Formato WAD do engine DOOM"
- #define WAD_ARCHIVE_DESCRIPTION "DOOM engine format" /* !!! FIXME: translate this line if needed */
- #define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format" /* !!! FIXME: translate this line if needed */
-
- #define ERR_IS_INITIALIZED "Já inicializado"
- #define ERR_NOT_INITIALIZED "Não inicializado"
- #define ERR_INVALID_ARGUMENT "Argumento inválido"
- #define ERR_FILES_STILL_OPEN "Arquivos ainda abertos"
- #define ERR_NO_DIR_CREATE "Falha na criação de diretórios"
- #define ERR_OUT_OF_MEMORY "Memória insuficiente"
- #define ERR_NOT_IN_SEARCH_PATH "Entrada não encontrada no caminho de busca"
- #define ERR_NOT_SUPPORTED "Operação não suportada"
- #define ERR_UNSUPPORTED_ARCHIVE "Tipo de arquivo não suportado"
- #define ERR_NOT_A_HANDLE "Não é um handler de arquivo"
- #define ERR_INSECURE_FNAME "Nome de arquivo inseguro"
- #define ERR_SYMLINK_DISALLOWED "Links simbólicos desabilitados"
- #define ERR_NO_WRITE_DIR "Diretório de escrita não definido"
- #define ERR_NO_SUCH_FILE "Arquivo não encontrado"
- #define ERR_NO_SUCH_PATH "Caminho não encontrado"
- #define ERR_NO_SUCH_VOLUME "Volume não encontrado"
- #define ERR_PAST_EOF "Passou o fim do arquivo"
- #define ERR_ARC_IS_READ_ONLY "Arquivo é somente de leitura"
- #define ERR_IO_ERROR "Erro de E/S"
- #define ERR_CANT_SET_WRITE_DIR "Não foi possível definir diretório de escrita"
- #define ERR_SYMLINK_LOOP "Loop infinito de link simbólico"
- #define ERR_COMPRESSION "Erro de (Des)compressão"
- #define ERR_NOT_IMPLEMENTED "Não implementado"
- #define ERR_OS_ERROR "Erro reportado pelo Sistema Operacional"
- #define ERR_FILE_EXISTS "Arquivo já existente"
- #define ERR_NOT_A_FILE "Não é um arquivo"
- #define ERR_NOT_A_DIR "Não é um diretório"
- #define ERR_NOT_AN_ARCHIVE "Não é um pacote"
- #define ERR_CORRUPTED "Pacote corrompido"
- #define ERR_SEEK_OUT_OF_RANGE "Posicionamento além do tamanho"
- #define ERR_BAD_FILENAME "Nome de arquivo inválido"
- #define ERR_PHYSFS_BAD_OS_CALL "(BUG) PhysicsFS realizou uma chamada de sistema inválida"
- #define ERR_ARGV0_IS_NULL "argv0 é NULL"
- #define ERR_NEED_DICT "precisa de diretório"
- #define ERR_DATA_ERROR "erro nos dados"
- #define ERR_MEMORY_ERROR "erro de memória"
- #define ERR_BUFFER_ERROR "erro de buffer"
- #define ERR_VERSION_ERROR "erro na version"
- #define ERR_UNKNOWN_ERROR "erro desconhecido"
- #define ERR_SEARCHPATH_TRUNC "Caminho de procura quebrado"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() foi quebrado"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() nao teve diretório"
- #define ERR_DISK_FULL "Disco cheio"
- #define ERR_DIRECTORY_FULL "Diretório cheio"
- #define ERR_MACOS_GENERIC "MacOS reportou um erro (%d)"
- #define ERR_OS2_GENERIC "OS/2 reportou um erro (%d)"
- #define ERR_VOL_LOCKED_HW "Volume travado por hardware"
- #define ERR_VOL_LOCKED_SW "Volume travado por software"
- #define ERR_FILE_LOCKED "Arquivo travado"
- #define ERR_FILE_OR_DIR_BUSY "Arquivo/Diretório está em uso"
- #define ERR_FILE_ALREADY_OPEN_W "Arquivo já aberto para escrita"
- #define ERR_FILE_ALREADY_OPEN_R "Arquivo já aberto para leitura"
- #define ERR_INVALID_REFNUM "Número de referência"
- #define ERR_GETTING_FILE_POS "Erro ao tentar obter posição do arquivo"
- #define ERR_VOLUME_OFFLINE "Volume está indisponível"
- #define ERR_PERMISSION_DENIED "Permissão negada"
- #define ERR_VOL_ALREADY_ONLINE "Volume disponível"
- #define ERR_NO_SUCH_DRIVE "Drive inexistente"
- #define ERR_NOT_MAC_DISK "Não é um disco Macintosh"
- #define ERR_VOL_EXTERNAL_FS "Volume pertence a um sistema de arquivos externo"
- #define ERR_PROBLEM_RENAME "Problema durante renomeação"
- #define ERR_BAD_MASTER_BLOCK "Bloco master do diretório inválido"
- #define ERR_CANT_MOVE_FORBIDDEN "Tentativa de mover proibida"
- #define ERR_WRONG_VOL_TYPE "Tipo inválido de volume"
- #define ERR_SERVER_VOL_LOST "Volume servidor desconectado"
- #define ERR_FILE_ID_NOT_FOUND "ID de Arquivo não encontrado"
- #define ERR_FILE_ID_EXISTS "ID de Arquivo já existente"
- #define ERR_SERVER_NO_RESPOND "Servidor não respondendo"
- #define ERR_USER_AUTH_FAILED "Autenticação de usuário falhada"
- #define ERR_PWORD_EXPIRED "Password foi expirada no servidor"
- #define ERR_ACCESS_DENIED "Accesso negado"
- #define ERR_NOT_A_DOS_DISK "Não é um disco DOS"
- #define ERR_SHARING_VIOLATION "Violação de compartilhamento"
- #define ERR_CANNOT_MAKE "Não pode ser feito"
- #define ERR_DEV_IN_USE "Device já em uso"
- #define ERR_OPEN_FAILED "Falaha na abertura"
- #define ERR_PIPE_BUSY "Fila ocupada"
- #define ERR_SHARING_BUF_EXCEEDED "Buffer de compartilhamento excedeu"
- #define ERR_TOO_MANY_HANDLES "Muitos handles abertos"
- #define ERR_SEEK_ERROR "Erro de posicionamento"
- #define ERR_DEL_CWD "Tentando remover diretório de trabalho atual"
- #define ERR_WRITE_PROTECT_ERROR "Erro de proteção de escrita"
- #define ERR_WRITE_FAULT "Erro de escrita"
- #define ERR_LOCK_VIOLATION "Violação de trava"
- #define ERR_GEN_FAILURE "Falha geral"
- #define ERR_UNCERTAIN_MEDIA "Media incerta"
- #define ERR_PROT_VIOLATION "Violação de proteção"
- #define ERR_BROKEN_PIPE "Fila quebrada"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_SPANISH)
- #define DIR_ARCHIVE_DESCRIPTION "No es un archivo, E/S directa al sistema de ficheros"
- #define GRP_ARCHIVE_DESCRIPTION "Formato Build engine Groupfile"
- #define HOG_ARCHIVE_DESCRIPTION "Formato Descent I/II HOG file"
- #define MVL_ARCHIVE_DESCRIPTION "Formato Descent II Movielib"
- #define QPAK_ARCHIVE_DESCRIPTION "Formato Quake I/II"
- #define ZIP_ARCHIVE_DESCRIPTION "Compatible con PkZip/WinZip/Info-Zip"
- #define WAD_ARCHIVE_DESCRIPTION "DOOM engine format" /* !!! FIXME: translate this line if needed */
- #define LZMA_ARCHIVE_DESCRIPTION "LZMA (7zip) format" /* !!! FIXME: translate this line if needed */
-
- #define ERR_IS_INITIALIZED "Ya estaba inicializado"
- #define ERR_NOT_INITIALIZED "No está inicializado"
- #define ERR_INVALID_ARGUMENT "Argumento inválido"
- #define ERR_FILES_STILL_OPEN "Archivos aún abiertos"
- #define ERR_NO_DIR_CREATE "Fallo al crear los directorios"
- #define ERR_OUT_OF_MEMORY "Memoria agotada"
- #define ERR_NOT_IN_SEARCH_PATH "No existe tal entrada en la ruta de búsqueda"
- #define ERR_NOT_SUPPORTED "Operación no soportada"
- #define ERR_UNSUPPORTED_ARCHIVE "Tipo de archivo no soportado"
- #define ERR_NOT_A_HANDLE "No es un manejador de ficheo (file handle)"
- #define ERR_INSECURE_FNAME "Nombre de archivo inseguro"
- #define ERR_SYMLINK_DISALLOWED "Los enlaces simbólicos están desactivados"
- #define ERR_NO_WRITE_DIR "No has configurado un directorio de escritura"
- #define ERR_NO_SUCH_FILE "Archivo no encontrado"
- #define ERR_NO_SUCH_PATH "Ruta no encontrada"
- #define ERR_NO_SUCH_VOLUME "Volumen no encontrado"
- #define ERR_PAST_EOF "Te pasaste del final del archivo"
- #define ERR_ARC_IS_READ_ONLY "El archivo es de sólo lectura"
- #define ERR_IO_ERROR "Error E/S"
- #define ERR_CANT_SET_WRITE_DIR "No puedo configurar el directorio de escritura"
- #define ERR_SYMLINK_LOOP "Bucle infnito de enlaces simbólicos"
- #define ERR_COMPRESSION "Error de (des)compresión"
- #define ERR_NOT_IMPLEMENTED "No implementado"
- #define ERR_OS_ERROR "El sistema operativo ha devuelto un error"
- #define ERR_FILE_EXISTS "El archivo ya existe"
- #define ERR_NOT_A_FILE "No es un archivo"
- #define ERR_NOT_A_DIR "No es un directorio"
- #define ERR_NOT_AN_ARCHIVE "No es un archivo"
- #define ERR_CORRUPTED "Archivo corrupto"
- #define ERR_SEEK_OUT_OF_RANGE "Búsqueda fuera de rango"
- #define ERR_BAD_FILENAME "Nombre de archivo incorrecto"
- #define ERR_PHYSFS_BAD_OS_CALL "(BUG) PhysicsFS ha hecho una llamada incorrecta al sistema"
- #define ERR_ARGV0_IS_NULL "argv0 es NULL"
- #define ERR_NEED_DICT "necesito diccionario"
- #define ERR_DATA_ERROR "error de datos"
- #define ERR_MEMORY_ERROR "error de memoria"
- #define ERR_BUFFER_ERROR "error de buffer"
- #define ERR_VERSION_ERROR "error de versión"
- #define ERR_UNKNOWN_ERROR "error desconocido"
- #define ERR_SEARCHPATH_TRUNC "La ruta de búsqueda ha sido truncada"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() ha sido truncado"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() no tenia directorio"
- #define ERR_DISK_FULL "El disco está lleno"
- #define ERR_DIRECTORY_FULL "El directorio está lleno"
- #define ERR_MACOS_GENERIC "MacOS ha devuelto un error (%d)"
- #define ERR_OS2_GENERIC "OS/2 ha devuelto un error (%d)"
- #define ERR_VOL_LOCKED_HW "El volumen está bloqueado por el hardware"
- #define ERR_VOL_LOCKED_SW "El volumen está bloqueado por el software"
- #define ERR_FILE_LOCKED "El archivo está bloqueado"
- #define ERR_FILE_OR_DIR_BUSY "Fichero o directorio ocupados"
- #define ERR_FILE_ALREADY_OPEN_W "Fichero ya abierto para escritura"
- #define ERR_FILE_ALREADY_OPEN_R "Fichero ya abierto para lectura"
- #define ERR_INVALID_REFNUM "El número de referencia no es válido"
- #define ERR_GETTING_FILE_POS "Error al tomar la posición del fichero"
- #define ERR_VOLUME_OFFLINE "El volumen está desconectado"
- #define ERR_PERMISSION_DENIED "Permiso denegado"
- #define ERR_VOL_ALREADY_ONLINE "El volumen ya estaba conectado"
- #define ERR_NO_SUCH_DRIVE "No existe tal unidad"
- #define ERR_NOT_MAC_DISK "No es un disco Macintosh"
- #define ERR_VOL_EXTERNAL_FS "El volumen pertence a un sistema de ficheros externo"
- #define ERR_PROBLEM_RENAME "Problemas al renombrar"
- #define ERR_BAD_MASTER_BLOCK "Bloque maestro de directorios incorrecto"
- #define ERR_CANT_MOVE_FORBIDDEN "Intento de mover forbidden"
- #define ERR_WRONG_VOL_TYPE "Tipo de volumen incorrecto"
- #define ERR_SERVER_VOL_LOST "El servidor de volúmenes ha sido desconectado"
- #define ERR_FILE_ID_NOT_FOUND "Identificador de archivo no encontrado"
- #define ERR_FILE_ID_EXISTS "El identificador de archivo ya existe"
- #define ERR_SERVER_NO_RESPOND "El servidor no responde"
- #define ERR_USER_AUTH_FAILED "Fallo al autentificar el usuario"
- #define ERR_PWORD_EXPIRED "La Password en el servidor ha caducado"
- #define ERR_ACCESS_DENIED "Acceso denegado"
- #define ERR_NOT_A_DOS_DISK "No es un disco de DOS"
- #define ERR_SHARING_VIOLATION "Violación al compartir"
- #define ERR_CANNOT_MAKE "No puedo hacer make"
- #define ERR_DEV_IN_USE "El dispositivo ya estaba en uso"
- #define ERR_OPEN_FAILED "Fallo al abrir"
- #define ERR_PIPE_BUSY "Tubería ocupada"
- #define ERR_SHARING_BUF_EXCEEDED "Buffer de compartición sobrepasado"
- #define ERR_TOO_MANY_HANDLES "Demasiados manejadores (handles)"
- #define ERR_SEEK_ERROR "Error de búsqueda"
- #define ERR_DEL_CWD "Intentando borrar el directorio de trabajo actual"
- #define ERR_WRITE_PROTECT_ERROR "Error de protección contra escritura"
- #define ERR_WRITE_FAULT "Fallo al escribir"
- #define ERR_LOCK_VIOLATION "Violación del bloqueo"
- #define ERR_GEN_FAILURE "Fallo general"
- #define ERR_UNCERTAIN_MEDIA "Medio incierto"
- #define ERR_PROT_VIOLATION "Violación de la protección"
- #define ERR_BROKEN_PIPE "Tubería rota"
-
-#else
- #error Please define PHYSFS_LANG.
-#endif
-
-/* end LANG section. */
-
-struct __PHYSFS_DIRHANDLE__;
-struct __PHYSFS_FILEFUNCTIONS__;
-
-
-/* !!! FIXME: find something better than "dvoid" and "fvoid" ... */
-/* Opaque data for file and dir handlers... */
-typedef void dvoid;
-typedef void fvoid;
-
-
-typedef struct
-{
- /*
- * Basic info about this archiver...
- */
- const PHYSFS_ArchiveInfo *info;
-
-
- /*
- * DIRECTORY ROUTINES:
- * These functions are for dir handles. Generate a handle with the
- * openArchive() method, then pass it as the "opaque" dvoid to the
- * others.
- *
- * Symlinks should always be followed; PhysicsFS will use the
- * isSymLink() method and make a judgement on whether to
- * continue to call other methods based on that.
- */
-
-
- /*
- * Returns non-zero if (filename) is a valid archive that this
- * driver can handle. This filename is in platform-dependent
- * notation. forWriting is non-zero if this is to be used for
- * the write directory, and zero if this is to be used for an
- * element of the search path.
- */
- int (*isArchive)(const char *filename, int forWriting);
-
- /*
- * Open a dirhandle for dir/archive (name).
- * This filename is in platform-dependent notation.
- * forWriting is non-zero if this is to be used for
- * the write directory, and zero if this is to be used for an
- * element of the search path.
- * Returns NULL on failure, and calls __PHYSFS_setError().
- * Returns non-NULL on success. The pointer returned will be
- * passed as the "opaque" parameter for later calls.
- */
- void *(*openArchive)(const char *name, int forWriting);
-
- /*
- * List all files in (dirname). Each file is passed to (callback),
- * where a copy is made if appropriate, so you should dispose of
- * it properly upon return from the callback.
- * You should omit symlinks if (omitSymLinks) is non-zero.
- * If you have a failure, report as much as you can.
- * (dirname) is in platform-independent notation.
- */
- void (*enumerateFiles)(dvoid *opaque,
- const char *dirname,
- int omitSymLinks,
- PHYSFS_EnumFilesCallback callback,
- const char *origdir,
- void *callbackdata);
-
- /*
- * Returns non-zero if filename can be opened for reading.
- * This filename is in platform-independent notation.
- * You should not follow symlinks.
- */
- int (*exists)(dvoid *opaque, const char *name);
-
- /*
- * Returns non-zero if filename is really a directory.
- * This filename is in platform-independent notation.
- * Symlinks should be followed; if what the symlink points
- * to is missing, or isn't a directory, then the retval is zero.
- *
- * Regardless of success or failure, please set *fileExists to
- * non-zero if the file existed (even if it's a broken symlink!),
- * zero if it did not.
- */
- int (*isDirectory)(dvoid *opaque, const char *name, int *fileExists);
-
- /*
- * Returns non-zero if filename is really a symlink.
- * This filename is in platform-independent notation.
- *
- * Regardless of success or failure, please set *fileExists to
- * non-zero if the file existed (even if it's a broken symlink!),
- * zero if it did not.
- */
- int (*isSymLink)(dvoid *opaque, const char *name, int *fileExists);
-
- /*
- * Retrieve the last modification time (mtime) of a file.
- * Returns -1 on failure, or the file's mtime in seconds since
- * the epoch (Jan 1, 1970) on success.
- * This filename is in platform-independent notation.
- *
- * Regardless of success or failure, please set *exists to
- * non-zero if the file existed (even if it's a broken symlink!),
- * zero if it did not.
- */
- PHYSFS_sint64 (*getLastModTime)(dvoid *opaque, const char *fnm, int *exist);
-
- /*
- * Open file for reading.
- * This filename is in platform-independent notation.
- * If you can't handle multiple opens of the same file,
- * you can opt to fail for the second call.
- * Fail if the file does not exist.
- * Returns NULL on failure, and calls __PHYSFS_setError().
- * Returns non-NULL on success. The pointer returned will be
- * passed as the "opaque" parameter for later file calls.
- *
- * Regardless of success or failure, please set *fileExists to
- * non-zero if the file existed (even if it's a broken symlink!),
- * zero if it did not.
- */
- fvoid *(*openRead)(dvoid *opaque, const char *fname, int *fileExists);
-
- /*
- * Open file for writing.
- * If the file does not exist, it should be created. If it exists,
- * it should be truncated to zero bytes. The writing
- * offset should be the start of the file.
- * This filename is in platform-independent notation.
- * If you can't handle multiple opens of the same file,
- * you can opt to fail for the second call.
- * Returns NULL on failure, and calls __PHYSFS_setError().
- * Returns non-NULL on success. The pointer returned will be
- * passed as the "opaque" parameter for later file calls.
- */
- fvoid *(*openWrite)(dvoid *opaque, const char *filename);
-
- /*
- * Open file for appending.
- * If the file does not exist, it should be created. The writing
- * offset should be the end of the file.
- * This filename is in platform-independent notation.
- * If you can't handle multiple opens of the same file,
- * you can opt to fail for the second call.
- * Returns NULL on failure, and calls __PHYSFS_setError().
- * Returns non-NULL on success. The pointer returned will be
- * passed as the "opaque" parameter for later file calls.
- */
- fvoid *(*openAppend)(dvoid *opaque, const char *filename);
-
- /*
- * Delete a file in the archive/directory.
- * Return non-zero on success, zero on failure.
- * This filename is in platform-independent notation.
- * This method may be NULL.
- * On failure, call __PHYSFS_setError().
- */
- int (*remove)(dvoid *opaque, const char *filename);
-
- /*
- * Create a directory in the archive/directory.
- * If the application is trying to make multiple dirs, PhysicsFS
- * will split them up into multiple calls before passing them to
- * your driver.
- * Return non-zero on success, zero on failure.
- * This filename is in platform-independent notation.
- * This method may be NULL.
- * On failure, call __PHYSFS_setError().
- */
- int (*mkdir)(dvoid *opaque, const char *filename);
-
- /*
- * Close directories/archives, and free any associated memory,
- * including (opaque) itself if applicable. Implementation can assume
- * that it won't be called if there are still files open from
- * this archive.
- */
- void (*dirClose)(dvoid *opaque);
-
-
-
- /*
- * FILE ROUTINES:
- * These functions are for file handles generated by the open*() methods.
- * They are distinguished by taking a "fvoid" instead of a "dvoid" for
- * the opaque handle.
- */
-
- /*
- * Read more from the file.
- * Returns number of objects of (objSize) bytes read from file, -1
- * if complete failure.
- * On failure, call __PHYSFS_setError().
- */
- PHYSFS_sint64 (*read)(fvoid *opaque, void *buffer,
- PHYSFS_uint32 objSize, PHYSFS_uint32 objCount);
-
- /*
- * Write more to the file. Archives don't have to implement this.
- * (Set it to NULL if not implemented).
- * Returns number of objects of (objSize) bytes written to file, -1
- * if complete failure.
- * On failure, call __PHYSFS_setError().
- */
- PHYSFS_sint64 (*write)(fvoid *opaque, const void *buffer,
- PHYSFS_uint32 objSize, PHYSFS_uint32 objCount);
-
- /*
- * Returns non-zero if at end of file.
- */
- int (*eof)(fvoid *opaque);
-
- /*
- * Returns byte offset from start of file.
- */
- PHYSFS_sint64 (*tell)(fvoid *opaque);
-
- /*
- * Move read/write pointer to byte offset from start of file.
- * Returns non-zero on success, zero on error.
- * On failure, call __PHYSFS_setError().
- */
- int (*seek)(fvoid *opaque, PHYSFS_uint64 offset);
-
- /*
- * Return number of bytes available in the file, or -1 if you
- * aren't able to determine.
- * On failure, call __PHYSFS_setError().
- */
- PHYSFS_sint64 (*fileLength)(fvoid *opaque);
-
- /*
- * Close the file, and free associated resources, including (opaque)
- * if applicable. Returns non-zero on success, zero if can't close
- * file. On failure, call __PHYSFS_setError().
- */
- int (*fileClose)(fvoid *opaque);
-} PHYSFS_Archiver;
-
-
-/*
- * Call this to set the message returned by PHYSFS_getLastError().
- * Please only use the ERR_* constants above, or add new constants to the
- * above group, but I want these all in one place.
- *
- * Calling this with a NULL argument is a safe no-op.
- */
-void __PHYSFS_setError(const char *err);
-
-
-/*
- * Convert (dirName) to platform-dependent notation, then prepend (prepend)
- * and append (append) to the converted string.
- *
- * So, on Win32, calling:
- * __PHYSFS_convertToDependent("C:\", "my/files", NULL);
- * ...will return the string "C:\my\files".
- *
- * This is a convenience function; you might want to hack something out that
- * is less generic (and therefore more efficient).
- *
- * Be sure to free() the return value when done with it.
- */
-char *__PHYSFS_convertToDependent(const char *prepend,
- const char *dirName,
- const char *append);
-
-
-/* This byteorder stuff was lifted from SDL. http://www.libsdl.org/ */
-#define PHYSFS_LIL_ENDIAN 1234
-#define PHYSFS_BIG_ENDIAN 4321
-
-#if defined(__i386__) || defined(__ia64__) || defined(WIN32) || \
- (defined(__alpha__) || defined(__alpha)) || \
- defined(__arm__) || defined(ARM) || \
- (defined(__mips__) && defined(__MIPSEL__)) || \
- defined(__SYMBIAN32__) || \
- defined(__x86_64__) || \
- defined(__LITTLE_ENDIAN__)
-#define PHYSFS_BYTEORDER PHYSFS_LIL_ENDIAN
-#else
-#define PHYSFS_BYTEORDER PHYSFS_BIG_ENDIAN
-#endif
-
-
-/*
- * When sorting the entries in an archive, we use a modified QuickSort.
- * When there are less then PHYSFS_QUICKSORT_THRESHOLD entries left to sort,
- * we switch over to a BubbleSort for the remainder. Tweak to taste.
- *
- * You can override this setting by defining PHYSFS_QUICKSORT_THRESHOLD
- * before #including "physfs_internal.h".
- */
-#ifndef PHYSFS_QUICKSORT_THRESHOLD
-#define PHYSFS_QUICKSORT_THRESHOLD 4
-#endif
-
-/*
- * Sort an array (or whatever) of (max) elements. This uses a mixture of
- * a QuickSort and BubbleSort internally.
- * (cmpfn) is used to determine ordering, and (swapfn) does the actual
- * swapping of elements in the list.
- *
- * See zip.c for an example.
- */
-void __PHYSFS_sort(void *entries, PHYSFS_uint32 max,
- int (*cmpfn)(void *, PHYSFS_uint32, PHYSFS_uint32),
- void (*swapfn)(void *, PHYSFS_uint32, PHYSFS_uint32));
-
-
-/* These get used all over for lessening code clutter. */
-#define BAIL_MACRO(e, r) { __PHYSFS_setError(e); return r; }
-#define BAIL_IF_MACRO(c, e, r) if (c) { __PHYSFS_setError(e); return r; }
-#define BAIL_MACRO_MUTEX(e, m, r) { __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); return r; }
-#define BAIL_IF_MACRO_MUTEX(c, e, m, r) if (c) { __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); return r; }
-#define GOTO_MACRO(e, g) { __PHYSFS_setError(e); goto g; }
-#define GOTO_IF_MACRO(c, e, g) if (c) { __PHYSFS_setError(e); goto g; }
-#define GOTO_MACRO_MUTEX(e, m, g) { __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); goto g; }
-#define GOTO_IF_MACRO_MUTEX(c, e, m, g) if (c) { __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); goto g; }
-
-#define __PHYSFS_ARRAYLEN(x) ( (sizeof (x)) / (sizeof (x[0])) )
-
-#if (defined __GNUC__)
-#define __PHYSFS_SI64(x) x##LL
-#define __PHYSFS_UI64(x) x##ULL
-#elif (defined _MSC_VER)
-#define __PHYSFS_SI64(x) x##i64
-#define __PHYSFS_UI64(x) x##ui64
-#else
-#define __PHYSFS_SI64(x) x
-#define __PHYSFS_UI64(x) x
-#endif
-
-/*
- * Check if a ui64 will fit in the platform's address space.
- * The initial sizeof check will optimize this macro out entirely on
- * 64-bit (and larger?!) platforms, and the other condition will
- * return zero or non-zero if the variable will fit in the platform's
- * size_t, suitable to pass to malloc. This is kinda messy, but effective.
- */
-#define __PHYSFS_ui64FitsAddressSpace(s) ( \
- (sizeof (PHYSFS_uint64) > sizeof (size_t)) && \
- ((s) > (__PHYSFS_UI64(0xFFFFFFFFFFFFFFFF) >> (64-(sizeof(size_t)*8)))) \
-)
-
-/*
- * This is a strcasecmp() or stricmp() replacement that expects both strings
- * to be in UTF-8 encoding. It will do "case folding" to decide if the
- * Unicode codepoints in the strings match.
- *
- * It will report which string is "greater than" the other, but be aware that
- * this doesn't necessarily mean anything: 'a' may be "less than" 'b', but
- * a random Kanji codepoint has no meaningful alphabetically relationship to
- * a Greek Lambda, but being able to assign a reliable "value" makes sorting
- * algorithms possible, if not entirely sane. Most cases should treat the
- * return value as "equal" or "not equal".
- */
-int __PHYSFS_utf8strcasecmp(const char *s1, const char *s2);
-
-/*
- * This works like __PHYSFS_utf8strcasecmp(), but takes a character (NOT BYTE
- * COUNT) argument, like strcasencmp().
- */
-int __PHYSFS_utf8strnicmp(const char *s1, const char *s2, PHYSFS_uint32 l);
-
-/*
- * stricmp() that guarantees to only work with low ASCII. The C runtime
- * stricmp() might try to apply a locale/codepage/etc, which we don't want.
- */
-int __PHYSFS_stricmpASCII(const char *s1, const char *s2);
-
-/*
- * strnicmp() that guarantees to only work with low ASCII. The C runtime
- * strnicmp() might try to apply a locale/codepage/etc, which we don't want.
- */
-int __PHYSFS_strnicmpASCII(const char *s1, const char *s2, PHYSFS_uint32 l);
-
-
-/*
- * The current allocator. Not valid before PHYSFS_init is called!
- */
-extern PHYSFS_Allocator __PHYSFS_AllocatorHooks;
-
-/* convenience macro to make this less cumbersome internally... */
-#define allocator __PHYSFS_AllocatorHooks
-
-/*--------------------------------------------------------------------------*/
-/*--------------------------------------------------------------------------*/
-/*------------ ----------------*/
-/*------------ You MUST implement the following functions ----------------*/
-/*------------ if porting to a new platform. ----------------*/
-/*------------ (see platform/unix.c for an example) ----------------*/
-/*------------ ----------------*/
-/*--------------------------------------------------------------------------*/
-/*--------------------------------------------------------------------------*/
-
-
-/*
- * The dir separator; "/" on unix, "\\" on win32, ":" on MacOS, etc...
- * Obviously, this isn't a function, but it IS a null-terminated string.
- */
-extern const char *__PHYSFS_platformDirSeparator;
-
-
-/*
- * Initialize the platform. This is called when PHYSFS_init() is called from
- * the application. You can use this to (for example) determine what version
- * of Windows you're running.
- *
- * Return zero if there was a catastrophic failure (which prevents you from
- * functioning at all), and non-zero otherwise.
- */
-int __PHYSFS_platformInit(void);
-
-
-/*
- * Deinitialize the platform. This is called when PHYSFS_deinit() is called
- * from the application. You can use this to clean up anything you've
- * allocated in your platform driver.
- *
- * Return zero if there was a catastrophic failure (which prevents you from
- * functioning at all), and non-zero otherwise.
- */
-int __PHYSFS_platformDeinit(void);
-
-
-/*
- * Open a file for reading. (filename) is in platform-dependent notation. The
- * file pointer should be positioned on the first byte of the file.
- *
- * The return value will be some platform-specific datatype that is opaque to
- * the caller; it could be a (FILE *) under Unix, or a (HANDLE *) under win32.
- *
- * The same file can be opened for read multiple times, and each should have
- * a unique file handle; this is frequently employed to prevent race
- * conditions in the archivers.
- *
- * Call __PHYSFS_setError() and return (NULL) if the file can't be opened.
- */
-void *__PHYSFS_platformOpenRead(const char *filename);
-
-
-/*
- * Open a file for writing. (filename) is in platform-dependent notation. If
- * the file exists, it should be truncated to zero bytes, and if it doesn't
- * exist, it should be created as a zero-byte file. The file pointer should
- * be positioned on the first byte of the file.
- *
- * The return value will be some platform-specific datatype that is opaque to
- * the caller; it could be a (FILE *) under Unix, or a (HANDLE *) under win32,
- * etc.
- *
- * Opening a file for write multiple times has undefined results.
- *
- * Call __PHYSFS_setError() and return (NULL) if the file can't be opened.
- */
-void *__PHYSFS_platformOpenWrite(const char *filename);
-
-
-/*
- * Open a file for appending. (filename) is in platform-dependent notation. If
- * the file exists, the file pointer should be place just past the end of the
- * file, so that the first write will be one byte after the current end of
- * the file. If the file doesn't exist, it should be created as a zero-byte
- * file. The file pointer should be positioned on the first byte of the file.
- *
- * The return value will be some platform-specific datatype that is opaque to
- * the caller; it could be a (FILE *) under Unix, or a (HANDLE *) under win32,
- * etc.
- *
- * Opening a file for append multiple times has undefined results.
- *
- * Call __PHYSFS_setError() and return (NULL) if the file can't be opened.
- */
-void *__PHYSFS_platformOpenAppend(const char *filename);
-
-
-/*
- * Read more data from a platform-specific file handle. (opaque) should be
- * cast to whatever data type your platform uses. Read a maximum of (count)
- * objects of (size) 8-bit bytes to the area pointed to by (buffer). If there
- * isn't enough data available, return the number of full objects read, and
- * position the file pointer at the start of the first incomplete object.
- * On success, return (count) and position the file pointer one byte past
- * the end of the last read object. Return (-1) if there is a catastrophic
- * error, and call __PHYSFS_setError() to describe the problem; the file
- * pointer should not move in such a case.
- */
-PHYSFS_sint64 __PHYSFS_platformRead(void *opaque, void *buffer,
- PHYSFS_uint32 size, PHYSFS_uint32 count);
-
-/*
- * Write more data to a platform-specific file handle. (opaque) should be
- * cast to whatever data type your platform uses. Write a maximum of (count)
- * objects of (size) 8-bit bytes from the area pointed to by (buffer). If
- * there isn't enough data available, return the number of full objects
- * written, and position the file pointer at the start of the first
- * incomplete object. Return (-1) if there is a catastrophic error, and call
- * __PHYSFS_setError() to describe the problem; the file pointer should not
- * move in such a case.
- */
-PHYSFS_sint64 __PHYSFS_platformWrite(void *opaque, const void *buffer,
- PHYSFS_uint32 size, PHYSFS_uint32 count);
-
-/*
- * Set the file pointer to a new position. (opaque) should be cast to
- * whatever data type your platform uses. (pos) specifies the number
- * of 8-bit bytes to seek to from the start of the file. Seeking past the
- * end of the file is an error condition, and you should check for it.
- *
- * Not all file types can seek; this is to be expected by the caller.
- *
- * On error, call __PHYSFS_setError() and return zero. On success, return
- * a non-zero value.
- */
-int __PHYSFS_platformSeek(void *opaque, PHYSFS_uint64 pos);
-
-
-/*
- * Get the file pointer's position, in an 8-bit byte offset from the start of
- * the file. (opaque) should be cast to whatever data type your platform
- * uses.
- *
- * Not all file types can "tell"; this is to be expected by the caller.
- *
- * On error, call __PHYSFS_setError() and return zero. On success, return
- * a non-zero value.
- */
-PHYSFS_sint64 __PHYSFS_platformTell(void *opaque);
-
-
-/*
- * Determine the current size of a file, in 8-bit bytes, from an open file.
- *
- * The caller expects that this information may not be available for all
- * file types on all platforms.
- *
- * Return -1 if you can't do it, and call __PHYSFS_setError(). Otherwise,
- * return the file length in 8-bit bytes.
- */
-PHYSFS_sint64 __PHYSFS_platformFileLength(void *handle);
-
-/*
- * Determine if a file is at EOF. (opaque) should be cast to whatever data
- * type your platform uses.
- *
- * The caller expects that there was a short read before calling this.
- *
- * Return non-zero if EOF, zero if it is _not_ EOF.
- */
-int __PHYSFS_platformEOF(void *opaque);
-
-/*
- * Flush any pending writes to disk. (opaque) should be cast to whatever data
- * type your platform uses. Be sure to check for errors; the caller expects
- * that this function can fail if there was a flushing error, etc.
- *
- * Return zero on failure, non-zero on success.
- */
-int __PHYSFS_platformFlush(void *opaque);
-
-/*
- * Flush and close a file. (opaque) should be cast to whatever data type
- * your platform uses. Be sure to check for errors when closing; the
- * caller expects that this function can fail if there was a flushing
- * error, etc.
- *
- * You should clean up all resources associated with (opaque).
- *
- * Return zero on failure, non-zero on success.
- */
-int __PHYSFS_platformClose(void *opaque);
-
-/*
- * Platform implementation of PHYSFS_getCdRomDirsCallback()...
- * CD directories are discovered and reported to the callback one at a time.
- * Pointers passed to the callback are assumed to be invalid to the
- * application after the callback returns, so you can free them or whatever.
- * Callback does not assume results will be sorted in any meaningful way.
- */
-void __PHYSFS_platformDetectAvailableCDs(PHYSFS_StringCallback cb, void *data);
-
-/*
- * Calculate the base dir, if your platform needs special consideration.
- * Just return NULL if the standard routines will suffice. (see
- * calculateBaseDir() in physfs.c ...)
- * Caller will free() the retval if it's not NULL.
- */
-char *__PHYSFS_platformCalcBaseDir(const char *argv0);
-
-/*
- * Get the platform-specific user name.
- * Caller will free() the retval if it's not NULL. If it's NULL, the username
- * will default to "default".
- */
-char *__PHYSFS_platformGetUserName(void);
-
-/*
- * Get the platform-specific user dir.
- * Caller will free() the retval if it's not NULL. If it's NULL, the userdir
- * will default to basedir/username.
- */
-char *__PHYSFS_platformGetUserDir(void);
-
-/*
- * Return a number that uniquely identifies the current thread.
- * On a platform without threading, (1) will suffice. These numbers are
- * arbitrary; the only requirement is that no two threads have the same
- * number.
- */
-PHYSFS_uint64 __PHYSFS_platformGetThreadID(void);
-
-/*
- * Return non-zero if filename (in platform-dependent notation) exists.
- * Symlinks should NOT be followed; at this stage, we do not care what the
- * symlink points to. Please call __PHYSFS_SetError() with the details of
- * why the file does not exist, if it doesn't; you are in a better position
- * to know (path not found, bogus filename, file itself is missing, etc).
- */
-int __PHYSFS_platformExists(const char *fname);
-
-/*
- * Return the last modified time (in seconds since the epoch) of a file.
- * Returns -1 on failure. (fname) is in platform-dependent notation.
- * Symlinks should be followed; if what the symlink points to is missing,
- * then the retval is -1.
- */
-PHYSFS_sint64 __PHYSFS_platformGetLastModTime(const char *fname);
-
-/*
- * Return non-zero if filename (in platform-dependent notation) is a symlink.
- */
-int __PHYSFS_platformIsSymLink(const char *fname);
-
-
-/*
- * Return non-zero if filename (in platform-dependent notation) is a symlink.
- * Symlinks should be followed; if what the symlink points to is missing,
- * or isn't a directory, then the retval is false.
- */
-int __PHYSFS_platformIsDirectory(const char *fname);
-
-
-/*
- * Convert (dirName) to platform-dependent notation, then prepend (prepend)
- * and append (append) to the converted string.
- *
- * So, on Win32, calling:
- * __PHYSFS_platformCvtToDependent("C:\", "my/files", NULL);
- * ...will return the string "C:\my\files".
- *
- * This can be implemented in a platform-specific manner, so you can get
- * get a speed boost that the default implementation can't, since
- * you can make assumptions about the size of strings, etc..
- *
- * Platforms that choose not to implement this may just call
- * __PHYSFS_convertToDependent() as a passthrough, which may fit the bill
- * already.
- *
- * Be sure to free() the return value when done with it.
- */
-char *__PHYSFS_platformCvtToDependent(const char *prepend,
- const char *dirName,
- const char *append);
-
-
-/*
- * Enumerate a directory of files. This follows the rules for the
- * PHYSFS_Archiver->enumerateFiles() method (see above), except that the
- * (dirName) that is passed to this function is converted to
- * platform-DEPENDENT notation by the caller. The PHYSFS_Archiver version
- * uses platform-independent notation. Note that ".", "..", and other
- * metaentries should always be ignored.
- */
-void __PHYSFS_platformEnumerateFiles(const char *dirname,
- int omitSymLinks,
- PHYSFS_EnumFilesCallback callback,
- const char *origdir,
- void *callbackdata);
-
-
-/*
- * Get the current working directory. The return value should be an
- * absolute path in platform-dependent notation. The caller will deallocate
- * the return value with the standard C runtime free() function when it
- * is done with it.
- * On error, return NULL and set the error message.
- */
-char *__PHYSFS_platformCurrentDir(void);
-
-
-/*
- * Get the real physical path to a file. (path) is specified in
- * platform-dependent notation, as should your return value be.
- * All relative paths should be removed, leaving you with an absolute
- * path. Symlinks should be resolved, too, so that the returned value is
- * the most direct path to a file.
- * The return value will be deallocated with the standard C runtime free()
- * function when the caller is done with it.
- * On error, return NULL and set the error message.
- */
-char *__PHYSFS_platformRealPath(const char *path);
-
-
-/*
- * Make a directory in the actual filesystem. (path) is specified in
- * platform-dependent notation. On error, return zero and set the error
- * message. Return non-zero on success.
- */
-int __PHYSFS_platformMkDir(const char *path);
-
-
-/*
- * Remove a file or directory entry in the actual filesystem. (path) is
- * specified in platform-dependent notation. Note that this deletes files
- * _and_ directories, so you might need to do some determination.
- * Non-empty directories should report an error and not delete themselves
- * or their contents.
- *
- * Deleting a symlink should remove the link, not what it points to.
- *
- * On error, return zero and set the error message. Return non-zero on success.
- */
-int __PHYSFS_platformDelete(const char *path);
-
-
-/*
- * Create a platform-specific mutex. This can be whatever datatype your
- * platform uses for mutexes, but it is cast to a (void *) for abstractness.
- *
- * Return (NULL) if you couldn't create one. Systems without threads can
- * return any arbitrary non-NULL value.
- */
-void *__PHYSFS_platformCreateMutex(void);
-
-/*
- * Destroy a platform-specific mutex, and clean up any resources associated
- * with it. (mutex) is a value previously returned by
- * __PHYSFS_platformCreateMutex(). This can be a no-op on single-threaded
- * platforms.
- */
-void __PHYSFS_platformDestroyMutex(void *mutex);
-
-/*
- * Grab possession of a platform-specific mutex. Mutexes should be recursive;
- * that is, the same thread should be able to call this function multiple
- * times in a row without causing a deadlock. This function should block
- * until a thread can gain possession of the mutex.
- *
- * Return non-zero if the mutex was grabbed, zero if there was an
- * unrecoverable problem grabbing it (this should not be a matter of
- * timing out! We're talking major system errors; block until the mutex
- * is available otherwise.)
- *
- * _DO NOT_ call __PHYSFS_setError() in here! Since setError calls this
- * function, you'll cause an infinite recursion. This means you can't
- * use the BAIL_*MACRO* macros, either.
- */
-int __PHYSFS_platformGrabMutex(void *mutex);
-
-/*
- * Relinquish possession of the mutex when this method has been called
- * once for each time that platformGrabMutex was called. Once possession has
- * been released, the next thread in line to grab the mutex (if any) may
- * proceed.
- *
- * _DO NOT_ call __PHYSFS_setError() in here! Since setError calls this
- * function, you'll cause an infinite recursion. This means you can't
- * use the BAIL_*MACRO* macros, either.
- */
-void __PHYSFS_platformReleaseMutex(void *mutex);
-
-/*
- * Called at the start of PHYSFS_init() to prepare the allocator, if the user
- * hasn't selected their own allocator via PHYSFS_setAllocator().
- * If the platform has a custom allocator, it should fill in the fields of
- * (a) with the proper function pointers and return non-zero.
- * If the platform just wants to use malloc()/free()/etc, return zero
- * immediately and the higher level will handle it. The Init and Deinit
- * fields of (a) are optional...set them to NULL if you don't need them.
- * Everything else must be implemented. All rules follow those for
- * PHYSFS_setAllocator(). If Init isn't NULL, it will be called shortly
- * after this function returns non-zero.
- */
-int __PHYSFS_platformSetDefaultAllocator(PHYSFS_Allocator *a);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/* end of physfs_internal.h ... */
-
diff --git a/Frameworks/physfs.framework/Versions/A/Headers/physfs_platforms.h b/Frameworks/physfs.framework/Versions/A/Headers/physfs_platforms.h
deleted file mode 100644
index 9f95a890..00000000
--- a/Frameworks/physfs.framework/Versions/A/Headers/physfs_platforms.h
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef _INCL_PHYSFS_PLATFORMS
-#define _INCL_PHYSFS_PLATFORMS
-
-#ifndef __PHYSICSFS_INTERNAL__
-#error Do not include this header from your applications.
-#endif
-
-/*
- * These only define the platforms to determine which files in the platforms
- * directory should be compiled. For example, technically BeOS can be called
- * a "unix" system, but since it doesn't use unix.c, we don't define
- * PHYSFS_PLATFORM_UNIX on that system.
- */
-
-#if ((defined __BEOS__) || (defined __beos__))
-# define PHYSFS_PLATFORM_BEOS
-# define PHYSFS_PLATFORM_POSIX
-#elif (defined _WIN32_WCE) || (defined _WIN64_WCE)
-# define PHYSFS_PLATFORM_POCKETPC
-#elif (((defined _WIN32) || (defined _WIN64)) && (!defined __CYGWIN__))
-# define PHYSFS_PLATFORM_WINDOWS
-#elif (defined OS2)
-# define PHYSFS_PLATFORM_OS2
-#elif ((defined __MACH__) && (defined __APPLE__))
-# define PHYSFS_PLATFORM_MACOSX
-# define PHYSFS_PLATFORM_POSIX
-#elif defined(macintosh)
-# error Classic Mac OS support was dropped from PhysicsFS 2.0. Move to OS X.
-#elif defined(unix)
-# define PHYSFS_PLATFORM_UNIX
-# define PHYSFS_PLATFORM_POSIX
-#else
-# error Unknown platform.
-#endif
-
-#endif /* include-once blocker. */
-
diff --git a/Frameworks/physfs.framework/Versions/A/Resources/.svn/all-wcprops b/Frameworks/physfs.framework/Versions/A/Resources/.svn/all-wcprops
deleted file mode 100644
index 8aaae1f7..00000000
--- a/Frameworks/physfs.framework/Versions/A/Resources/.svn/all-wcprops
+++ /dev/null
@@ -1,11 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 92
-/svnroot/lom/!svn/ver/408/client/proj/xcode/Frameworks/physfs.framework/Versions/A/Resources
-END
-Info.plist
-K 25
-svn:wc:ra_dav:version-url
-V 103
-/svnroot/lom/!svn/ver/408/client/proj/xcode/Frameworks/physfs.framework/Versions/A/Resources/Info.plist
-END
diff --git a/Frameworks/physfs.framework/Versions/A/Resources/.svn/entries b/Frameworks/physfs.framework/Versions/A/Resources/.svn/entries
deleted file mode 100644
index 39c7997f..00000000
--- a/Frameworks/physfs.framework/Versions/A/Resources/.svn/entries
+++ /dev/null
@@ -1,43 +0,0 @@
-8
-
-dir
-425
-https://allenmoatallen@lom.svn.sourceforge.net/svnroot/lom/client/proj/xcode/Frameworks/physfs.framework/Versions/A/Resources
-https://allenmoatallen@lom.svn.sourceforge.net/svnroot/lom
-
-
-
-2009-01-28T20:51:01.517662Z
-408
-allenmoatallen
-
-
-svn:special svn:externals svn:needs-lock
-
-
-
-
-
-
-
-
-
-
-
-526aae6b-ec45-0410-ad3e-d5d18bbc98bf
-
-Info.plist
-file
-
-
-
-
-2009-01-28T20:52:50.000000Z
-36fdba9b2e45fe199b4b22671c49a0d9
-2009-01-28T20:51:01.517662Z
-408
-allenmoatallen
-
-English.lproj
-dir
-
diff --git a/Frameworks/physfs.framework/Versions/A/Resources/.svn/format b/Frameworks/physfs.framework/Versions/A/Resources/.svn/format
deleted file mode 100644
index 45a4fb75..00000000
--- a/Frameworks/physfs.framework/Versions/A/Resources/.svn/format
+++ /dev/null
@@ -1 +0,0 @@
-8
diff --git a/Frameworks/physfs.framework/Versions/A/Resources/.svn/text-base/Info.plist.svn-base b/Frameworks/physfs.framework/Versions/A/Resources/.svn/text-base/Info.plist.svn-base
deleted file mode 100644
index ac34dad8..00000000
--- a/Frameworks/physfs.framework/Versions/A/Resources/.svn/text-base/Info.plist.svn-base
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>physfs</string>
- <key>CFBundleIdentifier</key>
- <string>com.yourcompany.physfs</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>physfs</string>
- <key>CFBundlePackageType</key>
- <string>FMWK</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleVersion</key>
- <string>1.0</string>
-</dict>
-</plist>
diff --git a/Frameworks/physfs.framework/Versions/A/Resources/English.lproj/.svn/all-wcprops b/Frameworks/physfs.framework/Versions/A/Resources/English.lproj/.svn/all-wcprops
deleted file mode 100644
index ee8a2c02..00000000
--- a/Frameworks/physfs.framework/Versions/A/Resources/English.lproj/.svn/all-wcprops
+++ /dev/null
@@ -1,11 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 106
-/svnroot/lom/!svn/ver/408/client/proj/xcode/Frameworks/physfs.framework/Versions/A/Resources/English.lproj
-END
-InfoPlist.strings
-K 25
-svn:wc:ra_dav:version-url
-V 124
-/svnroot/lom/!svn/ver/408/client/proj/xcode/Frameworks/physfs.framework/Versions/A/Resources/English.lproj/InfoPlist.strings
-END
diff --git a/Frameworks/physfs.framework/Versions/A/Resources/English.lproj/.svn/entries b/Frameworks/physfs.framework/Versions/A/Resources/English.lproj/.svn/entries
deleted file mode 100644
index 22c4d656..00000000
--- a/Frameworks/physfs.framework/Versions/A/Resources/English.lproj/.svn/entries
+++ /dev/null
@@ -1,41 +0,0 @@
-8
-
-dir
-425
-https://allenmoatallen@lom.svn.sourceforge.net/svnroot/lom/client/proj/xcode/Frameworks/physfs.framework/Versions/A/Resources/English.lproj
-https://allenmoatallen@lom.svn.sourceforge.net/svnroot/lom
-
-
-
-2009-01-28T20:51:01.517662Z
-408
-allenmoatallen
-
-
-svn:special svn:externals svn:needs-lock
-
-
-
-
-
-
-
-
-
-
-
-526aae6b-ec45-0410-ad3e-d5d18bbc98bf
-
-InfoPlist.strings
-file
-
-
-
-
-2009-01-28T20:52:50.000000Z
-d72878bb656f235c73b049056cd30dba
-2009-01-28T20:51:01.517662Z
-408
-allenmoatallen
-has-props
-
diff --git a/Frameworks/physfs.framework/Versions/A/Resources/English.lproj/.svn/format b/Frameworks/physfs.framework/Versions/A/Resources/English.lproj/.svn/format
deleted file mode 100644
index 45a4fb75..00000000
--- a/Frameworks/physfs.framework/Versions/A/Resources/English.lproj/.svn/format
+++ /dev/null
@@ -1 +0,0 @@
-8
diff --git a/Frameworks/physfs.framework/Versions/A/Resources/English.lproj/.svn/prop-base/InfoPlist.strings.svn-base b/Frameworks/physfs.framework/Versions/A/Resources/English.lproj/.svn/prop-base/InfoPlist.strings.svn-base
deleted file mode 100644
index 5e9587e6..00000000
--- a/Frameworks/physfs.framework/Versions/A/Resources/English.lproj/.svn/prop-base/InfoPlist.strings.svn-base
+++ /dev/null
@@ -1,5 +0,0 @@
-K 13
-svn:mime-type
-V 24
-application/octet-stream
-END
diff --git a/Frameworks/physfs.framework/Versions/A/Resources/English.lproj/.svn/text-base/InfoPlist.strings.svn-base b/Frameworks/physfs.framework/Versions/A/Resources/English.lproj/.svn/text-base/InfoPlist.strings.svn-base
deleted file mode 100644
index dea12de4..00000000
--- a/Frameworks/physfs.framework/Versions/A/Resources/English.lproj/.svn/text-base/InfoPlist.strings.svn-base
+++ /dev/null
Binary files differ
diff --git a/Frameworks/physfs.framework/Versions/A/Resources/English.lproj/InfoPlist.strings b/Frameworks/physfs.framework/Versions/A/Resources/English.lproj/InfoPlist.strings
deleted file mode 100644
index dea12de4..00000000
--- a/Frameworks/physfs.framework/Versions/A/Resources/English.lproj/InfoPlist.strings
+++ /dev/null
Binary files differ
diff --git a/Frameworks/physfs.framework/Versions/A/Resources/Info.plist b/Frameworks/physfs.framework/Versions/A/Resources/Info.plist
deleted file mode 100644
index ac34dad8..00000000
--- a/Frameworks/physfs.framework/Versions/A/Resources/Info.plist
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>physfs</string>
- <key>CFBundleIdentifier</key>
- <string>com.yourcompany.physfs</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>physfs</string>
- <key>CFBundlePackageType</key>
- <string>FMWK</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleVersion</key>
- <string>1.0</string>
-</dict>
-</plist>
diff --git a/Frameworks/physfs.framework/Versions/A/physfs b/Frameworks/physfs.framework/Versions/A/physfs
deleted file mode 100755
index efea2d32..00000000
--- a/Frameworks/physfs.framework/Versions/A/physfs
+++ /dev/null
Binary files differ