Mercurial > hg > xemacs-beta
changeset 4933:77e3b19bd245
merge
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Sun, 24 Jan 2010 22:06:20 -0600 |
parents | f730384b8ddf (current diff) 8b63e21b0436 (diff) |
children | 714f7c9fabb1 |
files | src/ChangeLog |
diffstat | 54 files changed, 9957 insertions(+), 10096 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Sun Jan 24 19:56:31 2010 +0000 +++ b/ChangeLog Sun Jan 24 22:06:20 2010 -0600 @@ -1,3 +1,32 @@ +2010-01-24 Ben Wing <ben@xemacs.org> + + * aclocal.m4 (XE_SHLIB_STUFF): + Use -export-all-symbols instead of -export-dynamic on PE targets + (Cygwin and MinGW). + + * configure.ac (XE_EXPAND_VARIABLE): + * configure.ac (TAB): + Create variable XEMACS_CC_GPP to check whether we're running g++. + Don't just check for an executable called `g++' -- it might be + called g++-4 or whatever. Instead, check for either named `g++*' + or claiming to be g++ when called with --version. Rewrite code do + use the variable. + + Add -fno-strict-aliasing to optimization flags when GCC and + optimized, and in all cases with g++, since under these circumstances + strict aliasing is otherwise assumed, and XEmacs can't easily be + made to respect its restrictions. + + * configure: Regenerate. + + + +2010-01-14 Ben Wing <ben@xemacs.org> + + * PROBLEMS: + Add description of crash on recent Cygwin 1.7 when using C++, NEWGC + and optimization. + 2010-01-16 Aidan Kehoe <kehoea@parhasard.net> * configure: Regenerate, now we no longer look for rint().
--- a/PROBLEMS Sun Jan 24 19:56:31 2010 +0000 +++ b/PROBLEMS Sun Jan 24 22:06:20 2010 -0600 @@ -801,6 +801,8 @@ *** Signal 11 when building or running a dumped XEmacs. +Possibility #1: + This appears to happen when using the traditional dumping mechanism and the system malloc. Andy Piper writes: @@ -810,6 +812,13 @@ Try configuring with pdump or without system malloc. +Possibility #2: + +Crashes when running a dumped XEmacs 21.5.29 have been observed circa +January, 2010 in Cygwin 1.7 when configuring with C++, NEWGC and optimization +(i.e. `--with-compiler=gcc --with-xemacs-compiler=g++ --with-mc-alloc +--with-optimization'). Turning any one of these off produces a working build. + *** Syntax errors running configure scripts, make failing with exit code 127 in inexplicable situations, etc.
--- a/aclocal.m4 Sun Jan 24 19:56:31 2010 +0000 +++ b/aclocal.m4 Sun Jan 24 22:06:20 2010 -0600 @@ -513,10 +513,17 @@ dnl usually need to be prefix with ${wl} or some other such thing. dnl -if test "$xe_gnu_ld" = yes; then - if test "$ld_shlibs" = yes; then +if test "$xe_gnu_ld" = yes -a "$ld_shlibs" = yes; then + case "$xehost_os" in + *cygwin* | *mingw* ) + # -export-all-symbols is the PE equivalent of ELF-specific -export-dynamic + ld_dynamic_link_flags="${wl}-export-all-symbols" + ;; + + *) ld_dynamic_link_flags="${wl}-export-dynamic" - fi + ;; + esac fi if test -z "$ld_dynamic_link_flags"; then
--- a/configure Sun Jan 24 19:56:31 2010 +0000 +++ b/configure Sun Jan 24 22:06:20 2010 -0600 @@ -1,12 +1,14 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.64 for XEmacs 21.5. +# Generated by GNU Autoconf 2.65 for XEmacs 21.5. # # Report bugs to <xemacs-beta@xemacs.org>. # +# # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software -# Foundation, Inc. +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. +# # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. @@ -573,7 +575,8 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -exec 7<&0 </dev/null 6>&1 +test -n "$DJDIR" || exec 7<&0 </dev/null +exec 6>&1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, @@ -1986,7 +1989,7 @@ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a nonstandard directory <lib dir> LIBS libraries to pass to the linker, e.g. -l<library> - CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if you have headers in a nonstandard directory <include dir> CPP C preprocessor YACC The `Yet Another C Compiler' implementation to use. Defaults to @@ -2063,7 +2066,7 @@ if $ac_init_version; then cat <<\_ACEOF XEmacs configure 21.5 -generated by GNU Autoconf 2.64 +generated by GNU Autoconf 2.65 Copyright (C) 2009 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation @@ -2156,7 +2159,7 @@ ac_retval=1 fi eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - return $ac_retval + as_fn_set_status $ac_retval } # ac_fn_c_try_compile @@ -2193,7 +2196,7 @@ ac_retval=1 fi eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - return $ac_retval + as_fn_set_status $ac_retval } # ac_fn_c_try_cpp @@ -2328,7 +2331,7 @@ fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - return $ac_retval + as_fn_set_status $ac_retval } # ac_fn_c_try_run @@ -2405,7 +2408,7 @@ # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - return $ac_retval + as_fn_set_status $ac_retval } # ac_fn_c_try_link @@ -2800,7 +2803,7 @@ fi eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - return $ac_retval + as_fn_set_status $ac_retval } # ac_fn_c_compute_int cat >config.log <<_ACEOF @@ -2808,7 +2811,7 @@ running configure, to aid debugging if configure makes a mistake. It was created by XEmacs $as_me 21.5, which was -generated by GNU Autoconf 2.64. Invocation command line was +generated by GNU Autoconf 2.65. Invocation command line was $ $0 $@ @@ -3061,7 +3064,7 @@ for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue - if test -r "$ac_site_file"; then + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 @@ -3070,9 +3073,9 @@ done if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in @@ -6295,32 +6298,30 @@ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 - rm -f conftest.er1 conftest.err - fi + fi + rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include <stdio.h> -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; + +int +main () +{ ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out" +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: @@ -6382,10 +6383,10 @@ else ac_file='' fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } if test -z "$ac_file"; then : - $as_echo "$as_me: failed program was:" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 @@ -6393,51 +6394,18 @@ { as_fn_set_status 77 as_fn_error "C compiler cannot create executables See \`config.log' for more details." "$LINENO" 5; }; } -fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" @@ -6470,13 +6438,72 @@ as_fn_error "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." "$LINENO" 5; } fi -rm -f conftest$ac_cv_exeext +rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdio.h> +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if test "${ac_cv_objext+set}" = set; then : @@ -7535,8 +7562,8 @@ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 - rm -f conftest.er1 conftest.err - fi + fi + rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done @@ -8083,8 +8110,8 @@ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 - rm -f conftest.er1 conftest.err - fi + fi + rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done @@ -8631,8 +8658,8 @@ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 - rm -f conftest.er1 conftest.err - fi + fi + rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done @@ -8908,6 +8935,24 @@ : ${XEMACS_CC:="$CC"} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using g++" >&5 +$as_echo_n "checking whether we are using g++... " >&6; } + +XEMACS_CC_GPP=no +case "$XEMACS_CC" in + *g++* ) XEMACS_CC_GPP=yes ;; +esac + +if test "$XEMACS_CC_GPP" = "no" -a "$GCC" = "yes"; then + case "`$XEMACS_CC --version`" in + g++* ) XEMACS_CC_GPP=yes ;; + esac +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $XEMACS_CC_GPP" >&5 +$as_echo "$XEMACS_CC_GPP" >&6; } + + test -n "$CPP" -a -d "$CPP" && CPP= test -n "$NON_GNU_CPP" -a "$GCC" != "yes" -a -z "$CPP" && CPP="$NON_GNU_CPP" @@ -9436,26 +9481,15 @@ xemacs_cc_cc_mismatch=no if test "$CC" != "$XEMACS_CC"; then - case "$XEMACS_CC" in - *g++* ) - if test "$GCC" != "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: CC and g++ are mismatched; XE_CFLAGS may be wrong" >&5 + if test "$XEMACS_CC_GPP" = "yes" -a "$GCC" != "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: CC and g++ are mismatched; XE_CFLAGS may be wrong" >&5 $as_echo "$as_me: WARNING: CC and g++ are mismatched; XE_CFLAGS may be wrong" >&2;} - xemacs_cc_cc_mismatch=yes - fi - ;; - esac - if test -n "$GCC"; then - case $XEMACS_CC in - *g++* ) - # it's as expected, do nothing - ;; - * ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: gcc and XEMACS_CC are mismatched; XE_CFLAGS may be wrong" >&5 + xemacs_cc_cc_mismatch=yes + fi + if test -n "$GCC" -a "$XEMACS_CC_GPP" != "yes" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: gcc and XEMACS_CC are mismatched; XE_CFLAGS may be wrong" >&5 $as_echo "$as_me: WARNING: gcc and XEMACS_CC are mismatched; XE_CFLAGS may be wrong" >&2;} - xemacs_cc_cc_mismatch=yes - ;; - esac + xemacs_cc_cc_mismatch=yes fi fi @@ -9478,10 +9512,10 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for preferred optimization flags" >&5 $as_echo_n "checking for preferred optimization flags... " >&6; } -if test "$with_optimization" = "yes" ; then - if test "$cflags_optimization_specified" = "no"; then +if test "$cflags_optimization_specified" = "no"; then + if test "$with_optimization" = "yes" ; then if test "$GCC" = "yes"; then - with_cflags_optimization="-O3" + with_cflags_optimization="-O3 -fno-strict-aliasing" elif test "$__SUNPRO_C" = "yes"; then case "$opsys" in sol2 ) with_cflags_optimization="-xO4" ;; @@ -9494,9 +9528,9 @@ with_cflags_optimization="-O3 -Ob2" else with_cflags_optimization="-O" ; fi - fi -else - with_cflags_optimization= + elif test "$XEMACS_CC_GPP" = "yes" ; then + with_cflags_optimization="-fno-strict-aliasing" + fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_cflags_optimization}" >&5 @@ -9539,7 +9573,7 @@ test "$__GCC" -ge 3 && with_cflags_warning="$with_cflags_warning -Wpacked" test "$have_glibc" != "yes" && \ with_cflags_warning="$with_cflags_warning -Wpointer-arith" - if test "$with_xemacs_compiler" = "g++"; then + if test "$XEMACS_CC_GPP" = "yes"; then xe_cflags_warning="$with_cflags_warning -Weffc++" elif test "$__GCC" -ge 3; then xe_cflags_warning="$with_cflags_warning -Wunused-parameter" @@ -13882,7 +13916,7 @@ -if test "$with_xemacs_compiler" = "g++"; then +if test "$XEMACS_CC_GPP" = "yes"; then LIBSTDCPP=-lstdc++ else LIBSTDCPP= @@ -14554,10 +14588,17 @@ fi # End of if cc_produces_so = no -if test "$xe_gnu_ld" = yes; then - if test "$ld_shlibs" = yes; then +if test "$xe_gnu_ld" = yes -a "$ld_shlibs" = yes; then + case "$xehost_os" in + *cygwin* | *mingw* ) + # -export-all-symbols is the PE equivalent of ELF-specific -export-dynamic + ld_dynamic_link_flags="${wl}-export-all-symbols" + ;; + + *) ld_dynamic_link_flags="${wl}-export-dynamic" - fi + ;; + esac fi if test -z "$ld_dynamic_link_flags"; then @@ -20646,41 +20687,41 @@ $as_echo "#define USE_SYSTEM_MALLOC 1" >>confdefs.h fi -test "$GCC" = "yes" && $as_echo "#define USE_GCC 1" >>confdefs.h - -test "$with_xemacs_compiler" = "g++" && $as_echo "#define USE_GPLUSPLUS 1" >>confdefs.h +test "$GCC" = "yes" && $as_echo "#define USE_GCC 1" >>confdefs.h + +test "$XEMACS_CC_GPP" = "yes" && $as_echo "#define USE_GPLUSPLUS 1" >>confdefs.h test "$with_external_widget" = "yes" && $as_echo "#define EXTERNAL_WIDGET 1" >>confdefs.h -test "$with_kkcc" = "yes" && $as_echo "#define USE_KKCC 1" >>confdefs.h - -test "$with_newgc" = "yes" && $as_echo "#define NEW_GC 1" >>confdefs.h - -test "$have_vdb_posix" = "yes" && $as_echo "#define VDB_POSIX 1" >>confdefs.h - -test "$have_vdb_fake" = "yes" && $as_echo "#define VDB_FAKE 1" >>confdefs.h - -test "$with_quick_build" = "yes" && $as_echo "#define QUICK_BUILD 1" >>confdefs.h - -test "$with_purify" = "yes" && $as_echo "#define PURIFY 1" >>confdefs.h - -test "$with_quantify" = "yes" && $as_echo "#define QUANTIFY 1" >>confdefs.h - -test "$with_valgrind" = "yes" && $as_echo "#define USE_VALGRIND 1" >>confdefs.h - -test "$with_pop" = "yes" && $as_echo "#define MAIL_USE_POP 1" >>confdefs.h - -test "$with_kerberos" = "yes" && $as_echo "#define KERBEROS 1" >>confdefs.h - -test "$with_hesiod" = "yes" && $as_echo "#define HESIOD 1" >>confdefs.h - -test "$with_union_type" = "yes" && $as_echo "#define USE_UNION_TYPE 1" >>confdefs.h - -test "$with_pdump" = "yes" && $as_echo "#define PDUMP 1" >>confdefs.h - -test "$with_dump_in_exec" = "yes" && $as_echo "#define DUMP_IN_EXEC 1" >>confdefs.h - -test "$with_ipv6_cname" = "yes" && $as_echo "#define IPV6_CANONICALIZE 1" >>confdefs.h +test "$with_kkcc" = "yes" && $as_echo "#define USE_KKCC 1" >>confdefs.h + +test "$with_newgc" = "yes" && $as_echo "#define NEW_GC 1" >>confdefs.h + +test "$have_vdb_posix" = "yes" && $as_echo "#define VDB_POSIX 1" >>confdefs.h + +test "$have_vdb_fake" = "yes" && $as_echo "#define VDB_FAKE 1" >>confdefs.h + +test "$with_quick_build" = "yes" && $as_echo "#define QUICK_BUILD 1" >>confdefs.h + +test "$with_purify" = "yes" && $as_echo "#define PURIFY 1" >>confdefs.h + +test "$with_quantify" = "yes" && $as_echo "#define QUANTIFY 1" >>confdefs.h + +test "$with_valgrind" = "yes" && $as_echo "#define USE_VALGRIND 1" >>confdefs.h + +test "$with_pop" = "yes" && $as_echo "#define MAIL_USE_POP 1" >>confdefs.h + +test "$with_kerberos" = "yes" && $as_echo "#define KERBEROS 1" >>confdefs.h + +test "$with_hesiod" = "yes" && $as_echo "#define HESIOD 1" >>confdefs.h + +test "$with_union_type" = "yes" && $as_echo "#define USE_UNION_TYPE 1" >>confdefs.h + +test "$with_pdump" = "yes" && $as_echo "#define PDUMP 1" >>confdefs.h + +test "$with_dump_in_exec" = "yes" && $as_echo "#define DUMP_IN_EXEC 1" >>confdefs.h + +test "$with_ipv6_cname" = "yes" && $as_echo "#define IPV6_CANONICALIZE 1" >>confdefs.h @@ -21531,7 +21572,7 @@ # values after options handling. ac_log=" This file was extended by XEmacs $as_me 21.5, which was -generated by GNU Autoconf 2.64. Invocation command line was +generated by GNU Autoconf 2.65. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -21571,6 +21612,7 @@ -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit + --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files @@ -21593,10 +21635,11 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ XEmacs config.status 21.5 -configured by $0, generated by GNU Autoconf 2.64, - with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" +configured by $0, generated by GNU Autoconf 2.65, + with options \\"\$ac_cs_config\\" Copyright (C) 2009 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation @@ -21632,6 +21675,8 @@ ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) @@ -21826,7 +21871,7 @@ t delim :nl h -s/\(.\{148\}\).*/\1/ +s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p @@ -21840,7 +21885,7 @@ t nl :delim h -s/\(.\{148\}\).*/\1/ +s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p
--- a/configure.ac Sun Jan 24 19:56:31 2010 +0000 +++ b/configure.ac Sun Jan 24 22:06:20 2010 -0600 @@ -1591,6 +1591,31 @@ test -n "$with_xemacs_compiler" && XEMACS_CC="$with_xemacs_compiler" : ${XEMACS_CC:="$CC"} +dnl Are we using g++? + +AC_MSG_CHECKING(whether we are using g++) + +dnl Is it named g++*? +XEMACS_CC_GPP=no +case "$XEMACS_CC" in + *g++* ) XEMACS_CC_GPP=yes ;; +esac + +dnl If it's known to be in the GCC family, does it claim to be g++? We don't +dnl run this test unless we know it's GCC-like, because not all compilers +dnl accept --version. +dnl +dnl It's not clear we need both tests, but it doesn't hurt. g++ might not +dnl have always output "g++" as the first thing in its version string, and +dnl might not always in the future. +if test "$XEMACS_CC_GPP" = "no" -a "$GCC" = "yes"; then + case "`$XEMACS_CC --version`" in + g++* ) XEMACS_CC_GPP=yes ;; + esac +fi + +AC_MSG_RESULT($XEMACS_CC_GPP) + dnl Figure out what C preprocessor to use. dnl On Sun systems, people sometimes set up the variable CPP @@ -1877,24 +1902,13 @@ xemacs_cc_cc_mismatch=no if test "$CC" != "$XEMACS_CC"; then - case "$XEMACS_CC" in - *g++* ) - if test "$GCC" != "yes"; then - AC_MSG_WARN([CC and g++ are mismatched; XE_CFLAGS may be wrong]) - xemacs_cc_cc_mismatch=yes - fi - ;; - esac - if test -n "$GCC"; then - case $XEMACS_CC in - *g++* ) - # it's as expected, do nothing - ;; - * ) - AC_MSG_WARN([gcc and XEMACS_CC are mismatched; XE_CFLAGS may be wrong]) - xemacs_cc_cc_mismatch=yes - ;; - esac + if test "$XEMACS_CC_GPP" = "yes" -a "$GCC" != "yes"; then + AC_MSG_WARN([CC and g++ are mismatched; XE_CFLAGS may be wrong]) + xemacs_cc_cc_mismatch=yes + fi + if test -n "$GCC" -a "$XEMACS_CC_GPP" != "yes" ; then + AC_MSG_WARN([gcc and XEMACS_CC are mismatched; XE_CFLAGS may be wrong]) + xemacs_cc_cc_mismatch=yes fi dnl #### Add other detectable mismatches here. fi @@ -1919,12 +1933,17 @@ fi AC_MSG_CHECKING([for preferred optimization flags]) -if test "$with_optimization" = "yes" ; then - if test "$cflags_optimization_specified" = "no"; then +if test "$cflags_optimization_specified" = "no"; then + if test "$with_optimization" = "yes" ; then dnl Following values of cflags_optimization are known to work well. dnl Should we take debugging options into consideration? if test "$GCC" = "yes"; then - with_cflags_optimization="-O3" + dnl If you want to remove the -fno-strict-aliasing, then you will have + dnl to rewrite all cases of "type-punning" expressions like + dnl (* (foo *) (&bar)), which occur all over XEmacs, by making `bar' a + dnl union (use an anonymous union if you're willing to put in an ifdef + dnl for anon-union support, falling back to the type-punned expression. + with_cflags_optimization="-O3 -fno-strict-aliasing" elif test "$__SUNPRO_C" = "yes"; then case "$opsys" in sol2 ) with_cflags_optimization="-xO4" ;; @@ -1940,9 +1959,12 @@ else with_cflags_optimization="-O" ;dnl The only POSIX-approved flag fi + elif test "$XEMACS_CC_GPP" = "yes" ; then + dnl Fuck me! g++ v4 turns on strict aliasing by default, even without + dnl optimization. See comment above about why we can't have strict + dnl aliasing currently in XEmacs. + with_cflags_optimization="-fno-strict-aliasing" fi -else - with_cflags_optimization= fi AC_MSG_RESULT([${with_cflags_optimization}]) @@ -2005,7 +2027,7 @@ dnl But gcc warns about -Weffc++ in C compiles. dnl With g++, there is no effective way to use -Wunused-parameter without dnl some very ugly code changes. - if test "$with_xemacs_compiler" = "g++"; then + if test "$XEMACS_CC_GPP" = "yes"; then xe_cflags_warning="$with_cflags_warning -Weffc++" elif test "$__GCC" -ge 3; then xe_cflags_warning="$with_cflags_warning -Wunused-parameter" @@ -3312,7 +3334,7 @@ dnl If g++ is used, we have to explicitly link modules with -lstdc++ on Cygwin dnl to avoid undefined symbol errors. This will never hurt, so just do it on dnl all platforms in case others have the same brain damage. -if test "$with_xemacs_compiler" = "g++"; then +if test "$XEMACS_CC_GPP" = "yes"; then LIBSTDCPP=-lstdc++ else LIBSTDCPP= @@ -5490,24 +5512,24 @@ elif test "$with_debug_malloc" = "yes"; then AC_DEFINE(USE_DEBUG_MALLOC) AC_DEFINE(USE_SYSTEM_MALLOC) fi -test "$GCC" = "yes" && AC_DEFINE(USE_GCC) -test "$with_xemacs_compiler" = "g++" && AC_DEFINE(USE_GPLUSPLUS) +test "$GCC" = "yes" && AC_DEFINE(USE_GCC) +test "$XEMACS_CC_GPP" = "yes" && AC_DEFINE(USE_GPLUSPLUS) test "$with_external_widget" = "yes" && AC_DEFINE(EXTERNAL_WIDGET) -test "$with_kkcc" = "yes" && AC_DEFINE(USE_KKCC) -test "$with_newgc" = "yes" && AC_DEFINE(NEW_GC) -test "$have_vdb_posix" = "yes" && AC_DEFINE(VDB_POSIX) -test "$have_vdb_fake" = "yes" && AC_DEFINE(VDB_FAKE) -test "$with_quick_build" = "yes" && AC_DEFINE(QUICK_BUILD) -test "$with_purify" = "yes" && AC_DEFINE(PURIFY) -test "$with_quantify" = "yes" && AC_DEFINE(QUANTIFY) -test "$with_valgrind" = "yes" && AC_DEFINE(USE_VALGRIND) -test "$with_pop" = "yes" && AC_DEFINE(MAIL_USE_POP) -test "$with_kerberos" = "yes" && AC_DEFINE(KERBEROS) -test "$with_hesiod" = "yes" && AC_DEFINE(HESIOD) -test "$with_union_type" = "yes" && AC_DEFINE(USE_UNION_TYPE) -test "$with_pdump" = "yes" && AC_DEFINE(PDUMP) -test "$with_dump_in_exec" = "yes" && AC_DEFINE(DUMP_IN_EXEC) -test "$with_ipv6_cname" = "yes" && AC_DEFINE(IPV6_CANONICALIZE) +test "$with_kkcc" = "yes" && AC_DEFINE(USE_KKCC) +test "$with_newgc" = "yes" && AC_DEFINE(NEW_GC) +test "$have_vdb_posix" = "yes" && AC_DEFINE(VDB_POSIX) +test "$have_vdb_fake" = "yes" && AC_DEFINE(VDB_FAKE) +test "$with_quick_build" = "yes" && AC_DEFINE(QUICK_BUILD) +test "$with_purify" = "yes" && AC_DEFINE(PURIFY) +test "$with_quantify" = "yes" && AC_DEFINE(QUANTIFY) +test "$with_valgrind" = "yes" && AC_DEFINE(USE_VALGRIND) +test "$with_pop" = "yes" && AC_DEFINE(MAIL_USE_POP) +test "$with_kerberos" = "yes" && AC_DEFINE(KERBEROS) +test "$with_hesiod" = "yes" && AC_DEFINE(HESIOD) +test "$with_union_type" = "yes" && AC_DEFINE(USE_UNION_TYPE) +test "$with_pdump" = "yes" && AC_DEFINE(PDUMP) +test "$with_dump_in_exec" = "yes" && AC_DEFINE(DUMP_IN_EXEC) +test "$with_ipv6_cname" = "yes" && AC_DEFINE(IPV6_CANONICALIZE)
--- a/lib-src/ChangeLog Sun Jan 24 19:56:31 2010 +0000 +++ b/lib-src/ChangeLog Sun Jan 24 22:06:20 2010 -0600 @@ -1,3 +1,30 @@ +2010-01-24 Ben Wing <ben@xemacs.org> + + * fakemail.c (args_size): + * fakemail.c (parse_header): + * ootags.c (C_entries): + Fix warnings about possible use of uninitialized vars. + +2010-01-15 Ben Wing <ben@xemacs.org> + + * make-mswin-unicode.pl: + Process the command `review'. Cause an error to happen if we try to + use the command, indicating that the command needs review to determine + how to handle it. + +2010-01-15 Ben Wing <ben@xemacs.org> + + * make-mswin-unicode.pl: + Various fixes to get this to work when using the Cygwin header files + in /usr/include/w32api instead of the VC++ ones: + -- Use /usr/include/w32api as default; don't assume that a passed-in + directory always ends in .../include. + -- Add `const' to list of known type modifiers. + -- If function already seen, warn but don't generate twice. + -- Eliminate `extern' from return type modifiers. + -- Cosmetic: When eliminating APIENTRY, also eliminate following + whitespace. + 2010-01-13 Ben Wing <ben@xemacs.org> * fix-perms.sh: New file.
--- a/lib-src/fakemail.c Sun Jan 24 19:56:31 2010 +0000 +++ b/lib-src/fakemail.c Sun Jan 24 22:06:20 2010 -0600 @@ -512,7 +512,7 @@ register int size = 0; do { - char *field; + char *field = NULL; register char *keyword = get_keyword (the_header->text->string, &field); if ((strcmp (keyword, "TO") == 0) || (strcmp (keyword, "CC") == 0) || @@ -535,7 +535,7 @@ register header old = the_header; do { - char *field; + char *field = NULL; register char *keyword = get_keyword (the_header->text->string, &field); if (strcmp (keyword, "TO") == 0) where = add_field (the_header->text->continuation, field, where);
--- a/lib-src/make-mswin-unicode.pl Sun Jan 24 19:56:31 2010 +0000 +++ b/lib-src/make-mswin-unicode.pl Sun Jan 24 22:06:20 2010 -0600 @@ -2,7 +2,7 @@ ### make-mswin-unicode --- generate Unicode-encapsulation code for MS Windows -## Copyright (C) 2001, 2002, 2004 Ben Wing. +## Copyright (C) 2001, 2002, 2004, 2010 Ben Wing. ## Author: Ben Wing <ben@xemacs.org> ## Maintainer: Ben Wing <ben@xemacs.org> @@ -68,6 +68,9 @@ no indicates a function we don't support (it will be #defined to cause a compile error, with the text after the function included in the erroneous definition to indicate why we don't support it). +review indicates a function that we still need to review to determine whether + or how to support it. This has the same effect as `no', with a comment + indicating that the function needs review. skip indicates a function we support manually; only a comment about this will be generated. split indicates a function with a split structure (different versions @@ -102,6 +105,9 @@ my ($cout, $hout, $dir) = ($options{"c-output"}, $options{"h-output"}, $options{"includedir"}); + +$dir = '/usr/include/w32api' if !$dir && -f '/usr/include/w32api/windows.h'; + if (!$dir) { for my $sdkroot (("WindowsSdkDir", "MSSdk", "MSVCDIR")) @@ -115,8 +121,9 @@ { die "Can't find the Windows SDK headers; run vcvars32.bat from your MSVC installation, or setenv.cmd from the Platform SDK installation"; } - $dir.='/include'; } +$dir.='/include' if ((-f $dir.'/include/WINDOWS.H') || + (-f $dir.'/include/windows.h')); die "Can't find MSVC include files in \"$dir\"" unless ((-f $dir.'/WINDOWS.H') || (-f $dir.'/windows.h')); open (COUT, ">$cout") or die "Can't open C output file $cout: $!"; @@ -169,7 +176,7 @@ { next if (m!^//!); next if (/^[ \t]*$/); - if (/(file|yes|soon|no|skip|split|begin-bracket|end-bracket)(?: (.*))?/) + if (/(file|yes|soon|no|review|skip|split|begin-bracket|end-bracket)(?: (.*))?/) { my ($command, $parms) = ($1, $2); if ($command eq "file") @@ -244,7 +251,7 @@ # CreateWindowEx; the second prevents "void # *Argument" from being parsed as a type "void *A" # followed by a parameter "rgument". - "(?:(?!(?:X\\b|Y\\b))(?:unsigned|int|long|short|va_list|[A-Z_0-9]+)(?!${tok_ch}))"; + "(?:(?!(?:X\\b|Y\\b))(?:unsigned|int|long|const|short|va_list|[A-Z_0-9]+)(?!${tok_ch}))"; my $typetoken_re = "(?:$typeword_re$ws_re\\**$ws_re)"; my $arg_re = "(?:($typetoken_re+)(${tok_ch}+)?(?: OPTIONAL)?)"; my $fun_re = "(SHSTDAPI_\\(${tok_ch}+\\)|${tok_ch}" . "[A-Za-z_0-9 \t\n\r\f]*?${tok_ch})${ws_re}(${tok_ch}+)W${ws_re}\\(((${ws_re}${arg_re}${ws_re},)*${ws_re}${arg_re}${ws_re})\\);"; @@ -253,7 +260,15 @@ while ($slurp =~ /$fun_re/g) { my ($rettype, $fun, $args) = ($1, $2, $3); + + if ($processed{$fun}) + { + print "Warning: Function $fun already seen\n"; + next; + } + $processed{$fun} = 1; + print "Processing: $fun"; my ($command, $reason) = ($files{$file}{$fun}[0], $files{$file}{$fun}[1]); @@ -270,8 +285,11 @@ print HOUT "#if $bracket\n"; print COUT "#if $bracket\n\n"; } - if ($command eq "no") + if ($command eq "no" || $command eq "review") { + $reason = "Function needs review to determine how to handle it" + if !defined ($reason) && $command eq "review"; + if (!defined ($reason)) { print "WARNING: No reason given for `no' with function $fun\n"; @@ -334,8 +352,9 @@ } $rettype =~ s/\bSHSTDAPI_\((.*)\)/$1/; $rettype =~ s/\s*WIN\w*?API\s*//g; - $rettype =~ s/\bAPIENTRY\b//; + $rettype =~ s/\bAPIENTRY\b\s*//; $rettype =~ s/\bSHSTDAPI\b/HRESULT/; + $rettype =~ s/\bextern\b\s*//; if ($rettype =~ /LPC?WSTR/) { $split_rettype = 1;
--- a/lib-src/ootags.c Sun Jan 24 19:56:31 2010 +0000 +++ b/lib-src/ootags.c Sun Jan 24 22:06:20 2010 -0600 @@ -2639,7 +2639,7 @@ int parlev; /* current parenthesis level */ bool incomm, inquote, inchar, quotednl, midtoken; bool cplpl, cjava; - token savetok; /* token saved during preprocessor handling */ + token savetok = {0}; /* token saved during preprocessor handling */ tokoff = toklen = 0; /* keep compiler quiet */
--- a/lwlib/ChangeLog Sun Jan 24 19:56:31 2010 +0000 +++ b/lwlib/ChangeLog Sun Jan 24 22:06:20 2010 -0600 @@ -1,3 +1,9 @@ +2010-01-24 Ben Wing <ben@xemacs.org> + + * xlwgauge.c (GaugeResize): + * xlwgauge.c (GaugeSize): + Fix warnings about possible use of uninitialized vars. + 2009-12-09 Jerry James <james@xemacs.org> * lwlib-Xlw.c: Include needed Xmu headers instead of obsolete xmu.h.
--- a/lwlib/xlwgauge.c Sun Jan 24 19:56:31 2010 +0000 +++ b/lwlib/xlwgauge.c Sun Jan 24 22:06:20 2010 -0600 @@ -314,7 +314,7 @@ if( gw->gauge.nlabels > 1 ) { - Dimension lwm, lw0, lw1 ; /* width of max, left, right labels */ + Dimension lwm, lw0=0, lw1 ;/* width of max, left, right labels */ Dimension lh ; MaxLabel(gw,&lwm,&lh, &lw0,&lw1) ; @@ -1017,7 +1017,7 @@ */ if( gw->gauge.nlabels > 0 ) { - Dimension lwm, lw0, lw1 ; /* width of max, left, right labels */ + Dimension lwm, lw0=0, lw1 ;/* width of max, left, right labels */ Dimension lh ; MaxLabel(gw,&lwm,&lh, &lw0,&lw1) ;
--- a/modules/ChangeLog Sun Jan 24 19:56:31 2010 +0000 +++ b/modules/ChangeLog Sun Jan 24 22:06:20 2010 -0600 @@ -1,3 +1,21 @@ +2010-01-24 Ben Wing <ben@xemacs.org> + + * postgresql/postgresql.c (CHECK_LIVE_CONNECTION): + * postgresql/postgresql.c (print_pgconn): + * postgresql/postgresql.c (Fpq_connectdb): + * postgresql/postgresql.c (Fpq_connect_start): + * postgresql/postgresql.c (Fpq_exec): + * postgresql/postgresql.c (Fpq_get_result): + Fix g++ 4.3 complaints about implicit conversions of string + literals (const char *) to char *. + +2010-01-16 Ben Wing <ben@xemacs.org> + + * common/Makefile.common: + * common/Makefile.common (.PHONY): + Use WIN32_ANY not HAVE_MS_WINDOWS so we still link with the + import library even when --with-msw=no. + 2010-01-11 Ben Wing <ben@xemacs.org> * ldap/eldap.c (Fldap_search_basic):
--- a/modules/common/Makefile.common Sun Jan 24 19:56:31 2010 +0000 +++ b/modules/common/Makefile.common Sun Jan 24 22:06:20 2010 -0600 @@ -59,7 +59,7 @@ INSTALL_PROGRAM=@MOD_INSTALL_PROGRAM@ OBJECT_TO_BUILD=@OBJECT_TO_BUILD@ LIBSTDCPP=@LIBSTDCPP@ -#ifdef HAVE_MS_WINDOWS +#ifdef WIN32_ANY IMPORT_LIB=../../src/xemacs-import.a #endif
--- a/modules/postgresql/postgresql.c Sun Jan 24 19:56:31 2010 +0000 +++ b/modules/postgresql/postgresql.c Sun Jan 24 22:06:20 2010 -0600 @@ -120,7 +120,7 @@ #define CHECK_LIVE_CONNECTION(P) do { \ if (!P || (PQstatus (P) != CONNECTION_OK)) { \ - char *e = "bad value"; \ + const char *e = "bad value"; \ if (P) e = PQerrorMessage (P); \ signal_ferror (Qprocess_error, "dead connection [%s]", e); \ } } while (0) @@ -203,7 +203,7 @@ char buf[256]; PGconn *P; ConnStatusType cst; - char *host="", *db="", *user="", *port=""; + const char *host="", *db="", *user="", *port=""; P = (XPGCONN (obj))->pgconn; @@ -472,7 +472,7 @@ { PGconn *P; Lisp_PGconn *lisp_pgconn; - char *error_message = "Out of Memory?"; + const char *error_message = "Out of Memory?"; char *c_conninfo; CHECK_STRING (conninfo); @@ -517,7 +517,7 @@ { PGconn *P; Lisp_PGconn *lisp_pgconn; - char *error_message = "Out of Memory?"; + const char *error_message = "Out of Memory?"; char *c_conninfo; CHECK_STRING (conninfo); @@ -919,7 +919,8 @@ R = PQexec (P, c_query); { - char *tag, buf[BLCKSZ]; + const Ascbyte *tag; + char buf[BLCKSZ]; if (!R) out_of_memory ("query: out of memory", Qunbound); else @@ -992,7 +993,8 @@ if (!R) return Qnil; /* not an error, there's no more data to get */ { - char *tag, buf[BLCKSZ]; + const Ascbyte *tag; + char buf[BLCKSZ]; switch (PQresultStatus (R)) {
--- a/src/ChangeLog Sun Jan 24 19:56:31 2010 +0000 +++ b/src/ChangeLog Sun Jan 24 22:06:20 2010 -0600 @@ -5,6 +5,315 @@ and to give the same answer all the time when treating a rational that is itself is an integer as a ratio. +2010-01-24 Ben Wing <ben@xemacs.org> + + * chartab.c (decode_char_table_range): + * extents.c (extent_fragment_update): + * objects-msw.c (initialize_font_instance): + * process.c (Fgetenv): + * redisplay-output.c (get_next_display_block): + Fix warnings about possible use of uninitialized vars. + + * compiler.h: + * compiler.h (REGISTER): + * event-stream.c (is_scrollbar_event): + * window.c (window_scrollbar_width): + * window.c (window_scrollbar_height): + * window.c (window_left_window_gutter_width): + * window.c (window_right_window_gutter_width): + Add USED_IF_SCROLLBARS. Use it to fix warnings about unused + vars when --with-scrollbars=no. + + * config.h.in: + Change comment to explain better why DECLARE_INLINE_HEADER + is needed. + + * dialog-msw.c: + * emacs.c (SHEBANG_EXE_PROGNAME_LENGTH): + * emacs.c (main_1): + * event-msw.c (struct mswin_message_debug): + * event-msw.c (debug_output_mswin_message): + * font-mgr.c: + * font-mgr.c (Ffc_config_filename): + * glyphs-msw.c (struct): + * glyphs-msw.c (bitmap_table): + * glyphs-x.c (update_widget_face): + * intl-win32.c (struct lang_to_string): + * intl-win32.c (lang_to_string_table): + * nas.c: + * objects-xlike-inc.c: + * objects-xlike-inc.c (xft_find_charset_font): + * syswindows.h: + * win32.c (mswindows_output_last_error): + Fix g++ 4.3 complaints about implicit conversions of string + literals (const char *) to char *. + + * lisp.h: + G++ 4.3 needs #include <limits> to avoid errors about min/max. + + * lisp.h (disabled_assert_with_message): + Use disabled_assert* whenever asserts are disabled. Rewrite + disabled_assert* to avoid complaints about unused vars by + pretending to use the vars but casting them to (void). + Remove code that defined assert() weirdly if DEBUG_XEMACS but + not USE_ASSERTIONS -- configure sets USE_ASSERTIONS automatically + when DEBUG_XEMACS, and if the user has forced it off, then + so be it. + + * lisp.h (SYMBOL_KEYWORD): + Put some of the combined `extern Lisp_Object's back under + the file they are declared in. Cosmetic fix. + + * number.h: + Remove `extern Lisp_Object' decls that duplicate lisp.h, + since they have different C vs. C++ linkage. + +2010-01-20 Ben Wing <ben@xemacs.org> + + * lrecord.h: + * lrecord.h (enum lrecord_type): + * lrecord.h (struct lrecord_implementation): + Clean up description of finalizer methods. Clean up and expand + the long comment at the top of lrecord.h. Add a section about why + New-GC requires a bunch of new internal objects to be created (not + completely understood). + +2010-01-20 Ben Wing <ben@xemacs.org> + + * lisp.h: + Disable error-checking code in Dynarr_at and related lookup + functions. It leads to a crash in the glyph-cachels code under + Cygwin 1.7 and GCC 3.4.4. I assume this is a compiler bug since + the code in question doesn't (or shouldn't) modify anything. + Changing the code from inline to non-inline didn't help. + +2010-01-19 Ben Wing <ben@xemacs.org> + + * console-impl.h (struct console_methods): + * console-stream.c (stream_text_width): + * redisplay-msw.c (mswindows_output_string): + * redisplay-msw.c (mswindows_text_width): + * redisplay-tty.c (tty_text_width): + * redisplay-xlike-inc.c (XLIKE_text_width): + * redisplay-xlike-inc.c (XLIKE_output_string): + * redisplay.c: + * redisplay.c (redisplay_window_text_width_ichar_string): + * redisplay.c (redisplay_text_width_string): + Change the text_width method to take a window instead of a frame. + Needed for Unicode-internal. + +2010-01-18 Ben Wing <ben@xemacs.org> + + * redisplay-gtk.c: + * redisplay-gtk.c (gtk_bevel_area): + * redisplay-x.c: + * redisplay-x.c (THIS_IS_X): + * redisplay-xlike-inc.c: + * redisplay-xlike-inc.c (XLIKE_text_width_single_run): + * redisplay-xlike-inc.c (XLIKE_text_width): + * redisplay-xlike-inc.c (XLIKE_output_display_block): + * redisplay-xlike-inc.c (XLIKE_get_gc): + * redisplay-xlike-inc.c (XLIKE_output_string): + * redisplay-xlike-inc.c (XLIKE_OUTPUT_XLIKE_PIXMAP): + * redisplay-xlike-inc.c (XLIKE_output_pixmap): + * redisplay-xlike-inc.c (XLIKE_output_vertical_divider): + * redisplay-xlike-inc.c (XLIKE_output_blank): + * redisplay-xlike-inc.c (XLIKE_output_horizontal_line): + * redisplay-xlike-inc.c (XLIKE_clear_region): + * redisplay-xlike-inc.c (XLIKE_output_eol_cursor): + * redisplay-xlike-inc.c (XLIKE_clear_frame_window): + * redisplay-xlike-inc.c (XLIKE_clear_frame): + * redisplay-xlike-inc.c (XLIKE_flash): + * redisplay-xlike-inc.c (console_type_create_redisplay_XLIKE): + Move lots more code into redisplay-xlike-inc.c. Use macros to + isolate the code that differs among X vs. GTK, to reduce the need + for ifdefs in the middle of the code. Now, redisplay-x.c and + redisplay-gtk.c only contain a few functions whose implementation + is completely different from one to the other, or which are not + present at all in one of them. + + GTK code not currently tested, but it has bitrotted somewhat + any. Doing this will help keep it less bitrotty. + + * depend: Regenerate. + +2010-01-18 Ben Wing <ben@xemacs.org> + + * redisplay-xlike-inc.c: + * redisplay-xlike-inc.c (separate_textual_runs_nomule): + * redisplay-xlike-inc.c (separate_textual_runs_xft_nomule): + * redisplay-xlike-inc.c (separate_textual_runs_xft_mule): + * redisplay-xlike-inc.c (separate_textual_runs_mule): + Break separate_textual_runs_* functions from redisplay-x.c. + (Code in redisplay-gtk.c should have been identical but was + bit-rotted.) + + * redisplay-gtk.c: + * redisplay-x.c: + Delete code, replace with include statement. + + * depend: Regenerate. + +2010-01-18 Ben Wing <ben@xemacs.org> + + * lisp.h: + * print.c: + New variable `in_debug_print'. + + * alloc.c: + * alloc.c (free_managed_lcrecord): + If gc_in_progress and in_debug_print, just return instead of + crashing. This only happens when the programmer calls debug_print() + or a variation inside of a debugger, and is probably already + diagnosing a crash. + + * print.c (struct debug_bindings): + * print.c (debug_prin1_exit): + * print.c (debug_prin1): + At entrance, record the old value of in_debug_print in the + debug_bindings, set up an unwind-protect to restore the old value, + and set in_debug_print to 1. In the unwind-protect, restore the + old value. + + +2010-01-16 Ben Wing <ben@xemacs.org> + + * win32.c (mswindows_read_link_1): + Conditionalize COM support on HAVE_MS_WINDOWS because otherwise we + haven't linked with the appropriate libraries. + +2010-01-15 Ben Wing <ben@xemacs.org> + + * doprnt.c (emacs_doprnt_1): + Cosmetic: Use Qunbound, not Qnil as second arg to call to + syntax_error() to get cleaner error message. + +2010-01-15 Ben Wing <ben@xemacs.org> + + * intl-encap-win32.c: + Add `review' lines for all functions seen in the headers that we + process but not yet associated with an encapsulation command. + These will cause an error to be signaled if these functions are + used. + * intl-auto-encap-win32.c: + * intl-auto-encap-win32.h: + Regenerate. + +2010-01-15 Ben Wing <ben@xemacs.org> + + * intl-auto-encap-win32.c: + * intl-auto-encap-win32.c (qxeExtractAssociatedIcon): + * intl-auto-encap-win32.c (qxeShellExecuteEx): + * intl-auto-encap-win32.c (qxeSHFileOperation): + * intl-auto-encap-win32.c (qxeSHQueryRecycleBin): + * intl-auto-encap-win32.c (qxeSHEmptyRecycleBin): + * intl-auto-encap-win32.c (qxeWNetAddConnection): + * intl-auto-encap-win32.c (qxeWNetAddConnection2): + * intl-auto-encap-win32.c (qxeWNetAddConnection3): + * intl-auto-encap-win32.c (qxeWNetCancelConnection): + * intl-auto-encap-win32.c (qxeWNetCancelConnection2): + * intl-auto-encap-win32.c (qxeWNetGetConnection): + * intl-auto-encap-win32.c (qxeWNetUseConnection): + * intl-auto-encap-win32.c (qxeWNetConnectionDialog1): + * intl-auto-encap-win32.c (qxeWNetDisconnectDialog1): + * intl-auto-encap-win32.c (qxeWNetOpenEnum): + * intl-auto-encap-win32.c (qxeWNetEnumResource): + * intl-auto-encap-win32.c (qxeWNetGetUniversalName): + * intl-auto-encap-win32.c (qxeWNetGetUser): + * intl-auto-encap-win32.c (qxeWNetGetProviderName): + * intl-auto-encap-win32.c (qxeWNetGetNetworkInformation): + * intl-auto-encap-win32.c (qxeWNetGetLastError): + * intl-auto-encap-win32.c (qxeMultinetGetConnectionPerformance): + * intl-auto-encap-win32.c (qxeAppendMenu): + * intl-auto-encap-win32.c (qxeCopyAcceleratorTable): + * intl-auto-encap-win32.c (qxeDlgDirSelectComboBoxEx): + * intl-auto-encap-win32.c (qxeEnumDesktops): + * intl-auto-encap-win32.c (qxeEnumWindowStations): + * intl-auto-encap-win32.c (qxeGetClassInfo): + * intl-auto-encap-win32.c (qxeGetClassLong): + * intl-auto-encap-win32.c (qxeGetClassName): + * intl-auto-encap-win32.c (qxeGetKeyboardLayoutName): + * intl-auto-encap-win32.c (qxeGetWindowLong): + * intl-auto-encap-win32.c (qxeGetUserObjectInformation): + * intl-auto-encap-win32.c (qxeGetWindowTextLength): + * intl-auto-encap-win32.c (qxeGrayString): + * intl-auto-encap-win32.c (qxeInsertMenu): + * intl-auto-encap-win32.c (qxeSetProp): + * intl-auto-encap-win32.c (qxeEnumICMProfiles): + * intl-auto-encap-win32.c (qxeExtTextOut): + * intl-auto-encap-win32.c (qxeSetICMProfile): + * intl-auto-encap-win32.c (qxeTextOut): + * intl-auto-encap-win32.c (qxeSHGetPathFromIDList): + * intl-auto-encap-win32.c (qxeFindText): + * intl-auto-encap-win32.c (qxeReplaceText): + * intl-auto-encap-win32.c (qxeImmInstallIME): + * intl-auto-encap-win32.c (qxeImmGetDescription): + * intl-auto-encap-win32.c (qxeImmGetIMEFileName): + * intl-auto-encap-win32.c (qxeImmGetCompositionString): + * intl-auto-encap-win32.c (qxeImmGetCandidateListCount): + * intl-auto-encap-win32.c (qxeImmGetCandidateList): + * intl-auto-encap-win32.c (qxeImmGetGuideLine): + * intl-auto-encap-win32.c (qxeImmConfigureIME): + * intl-auto-encap-win32.c (qxeImmEscape): + * intl-auto-encap-win32.c (qxeImmGetConversionList): + * intl-auto-encap-win32.c (qxeImmRegisterWord): + * intl-auto-encap-win32.c (qxeImmUnregisterWord): + * intl-auto-encap-win32.c (qxeImmEnumRegisterWord): + * intl-auto-encap-win32.c (qxesndPlaySound): + * intl-auto-encap-win32.c (qxePlaySound): + * intl-auto-encap-win32.c (qxewaveOutGetErrorText): + * intl-auto-encap-win32.c (qxewaveInGetErrorText): + * intl-auto-encap-win32.c (qxemidiOutGetErrorText): + * intl-auto-encap-win32.c (qxemidiInGetErrorText): + * intl-auto-encap-win32.c (qxemmioStringToFOURCC): + * intl-auto-encap-win32.c (qxemmioInstallIOProc): + * intl-auto-encap-win32.c (qxemmioOpen): + * intl-auto-encap-win32.c (qxemmioRename): + * intl-auto-encap-win32.c (qxemciSendCommand): + * intl-auto-encap-win32.c (qxemciSendString): + * intl-auto-encap-win32.c (qxemciGetDeviceID): + * intl-auto-encap-win32.c (qxemciGetErrorString): + * intl-auto-encap-win32.h: + * intl-auto-encap-win32.h (qxemciGetErrorString): + Regenerate these files from Cygwin headers. + + * intl-encap-win32.c: + Bracket more functions in HAVE_MS_WINDOWS, to fix build problems + when building --with-msw=no on Cygwin. + + Fixes for Cygwin headers: + -- Comment out IME.H, non-existent in Cygwin. + -- Make MessageBoxIndirect a `no' (don't encapsulate but generate + error if used) because it has a structure parameter that needs + to be A/W split but is declared as FOO*, and our parser can't + split this. + +2010-01-15 Ben Wing <ben@xemacs.org> + + * Makefile.in.in: + Build xemacs-export.o whenever we're on any Windows OS (WIN32_ANY) + instead of only when we build support for the GUI portion of + MS-Windows (HAVE_MS_WINDOWS). + + Cosmetic: Use WIN32_ANY in place of equivalent + (WIN32_NATIVE or CYGWIN). + +2010-01-15 Ben Wing <ben@xemacs.org> + + * emacs.c: + * emacs.c (debug_can_access_memory): + When checking for bad memory, we need to read all bytes from memory; + try even harder to avoid the possibility that a super-optimizing + compiler will optimize away the memory reads. + +2010-01-15 Ben Wing <ben@xemacs.org> + + * syswindows.h (LOCAL_FILE_FORMAT_TO_TSTR): + * syswindows.h (LOCAL_FILE_FORMAT_TO_INTERNAL_MSWIN): + * syswindows.h (INTERNAL_MSWIN_TO_LOCAL_FILE_FORMAT): + Declare some temporary pointer variables const to avoid compile + errors under C++ and/or Visual Studio 6. + 2010-01-17 Vin Shelton <acs@xemacs.org> * fileio.c (check_writable): Remove cast from 2010-01-14
--- a/src/Makefile.in.in Sun Jan 24 19:56:31 2010 +0000 +++ b/src/Makefile.in.in Sun Jan 24 22:06:20 2010 -0600 @@ -230,7 +230,7 @@ #ifdef HAVE_SHLIB shlib_objs=sysdll.o -# ifdef HAVE_MS_WINDOWS +# ifdef WIN32_ANY export_lib=xemacs-export.o xemacs-export.o: xemacs.def dlltool -D xemacs-${version}.exe -d $< -l xemacs-import.a -e $@ @@ -245,7 +245,7 @@ tooltalk_objs=tooltalk.o #endif -#if defined (WIN32_NATIVE) || defined (CYGWIN) +#ifdef WIN32_ANY win32_objs=win32.o intl-win32.o intl-auto-encap-win32.o intl-encap-win32.o \ xemacs_res.o #endif
--- a/src/alloc.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/alloc.c Sun Jan 24 22:06:20 2010 -0600 @@ -1,7 +1,7 @@ /* Storage allocation and gc for XEmacs Lisp interpreter. Copyright (C) 1985-1998 Free Software Foundation, Inc. Copyright (C) 1995 Sun Microsystems, Inc. - Copyright (C) 1995, 1996, 2001, 2002, 2003, 2004, 2005 Ben Wing. + Copyright (C) 1995, 1996, 2001, 2002, 2003, 2004, 2005, 2010 Ben Wing. This file is part of XEmacs. @@ -3117,6 +3117,14 @@ const struct lrecord_implementation *implementation = LHEADER_IMPLEMENTATION (lheader); + /* If we try to debug-print during GC, we'll likely get a crash on the + following assert (called from Lstream_delete(), from prin1_to_string()). + Instead, just don't do anything. Worst comes to worst, we have a + small memory leak -- and programs being debugged usually won't be + super long-lived afterwards, anyway. */ + if (gc_in_progress && in_debug_print) + return; + /* Finalizer methods may try to free objects within them, which typically won't be marked and thus are scheduled for demolition. Putting them on the free list would be very bad, as we'd have xfree()d memory in
--- a/src/chartab.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/chartab.c Sun Jan 24 22:06:20 2010 -0600 @@ -226,6 +226,7 @@ static void decode_char_table_range (Lisp_Object range, struct chartab_range *outrange) { + xzero (*outrange); if (EQ (range, Qt)) outrange->type = CHARTAB_RANGE_ALL; else if (CHAR_OR_CHAR_INTP (range))
--- a/src/compiler.h Sun Jan 24 19:56:31 2010 +0000 +++ b/src/compiler.h Sun Jan 24 22:06:20 2010 -0600 @@ -243,6 +243,11 @@ # else # define USED_IF_XFT(decl) UNUSED (decl) # endif +# ifdef HAVE_SCROLLBARS +# define USED_IF_SCROLLBARS(decl) decl +# else +# define USED_IF_SCROLLBARS(decl) UNUSED (decl) +# endif #endif /* UNUSED */ #ifdef DEBUG_XEMACS
--- a/src/config.h.in Sun Jan 24 19:56:31 2010 +0000 +++ b/src/config.h.in Sun Jan 24 22:06:20 2010 -0600 @@ -1092,7 +1092,8 @@ /* Use DECLARE_INLINE_HEADER() to declare an inline function in a header file, like this: (This avoids the need to write a prototype directly - followed by the function header itself.) + followed by the function header itself, in order to avoid a + "no prototype" warning from GCC.) DECLARE_INLINE_HEADER (int foo (int x)) {
--- a/src/console-impl.h Sun Jan 24 19:56:31 2010 +0000 +++ b/src/console-impl.h Sun Jan 24 22:06:20 2010 -0600 @@ -145,7 +145,7 @@ /* redisplay methods */ int (*left_margin_width_method) (struct window *); int (*right_margin_width_method) (struct window *); - int (*text_width_method) (struct frame *f, struct face_cachel *cachel, + int (*text_width_method) (struct window *w, struct face_cachel *cachel, const Ichar *str, Charcount len); void (*output_display_block_method) (struct window *, struct display_line *, int, int, int, int, int, int, int);
--- a/src/console-stream.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/console-stream.c Sun Jan 24 22:06:20 2010 -0600 @@ -202,7 +202,7 @@ static int -stream_text_width (struct frame *UNUSED (f), +stream_text_width (struct window *UNUSED (w), struct face_cachel *UNUSED (cachel), const Ichar *UNUSED (str), Charcount len) {
--- a/src/depend Sun Jan 24 19:56:31 2010 +0000 +++ b/src/depend Sun Jan 24 22:06:20 2010 -0600 @@ -33,6 +33,7 @@ #if defined(HAVE_XLIKE) event-xlike-inc.o: objects-xlike-inc.o: +redisplay-xlike-inc.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console-x-impl.h console-x.h console.h debug.h device-impl.h device.h devslots.h dumper.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h gccache-gtk.h general-slots.h glyphs-gtk.h glyphs-x.h glyphs.h gutter.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h mule-ccl.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects-x-impl.h objects-x.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysproc.h syssignal.h systime.h text.h vdb.h window-impl.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h xmotif.h xmprimitivep.h #endif #if defined(HAVE_X_WINDOWS) EmacsFrame.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h EmacsManager.h charset.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-x.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-x.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h toolbar.h vdb.h window-impl.h window.h winslots.h xintrinsic.h xintrinsicp.h xmotif.h xmprimitivep.h @@ -42,23 +43,23 @@ balloon-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h balloon_help.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h specifier.h symeval.h symsinit.h text.h vdb.h xintrinsic.h balloon_help.o: $(CONFIG_H) balloon_help.h compiler.h xintrinsic.h console-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h elhash.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h process.h redisplay.h specifier.h symeval.h symsinit.h text.h vdb.h xintrinsic.h -device-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-x.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-x.h objects.h process.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysdll.h sysfile.h systime.h text.h vdb.h window-impl.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h +device-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-x.h glyphs.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-x.h objects.h process.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysdll.h sysfile.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h dialog-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gui.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window.h xintrinsic.h frame-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h EmacsManager.h EmacsShell.h ExternalShell.h buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dragdrop.h dumper.h events.h extents.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-x.h glyphs.h gutter.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects-x-impl.h objects-x.h objects.h redisplay.h scrollbar-x.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window-impl.h window.h winslots.h xintrinsic.h xintrinsicp.h xmotif.h xmprimitivep.h -glyphs-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h bitmaps.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-x.h glyphs.h gui.h imgproc.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects-x-impl.h objects-x.h objects.h opaque.h process.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysfile.h sysproc.h syssignal.h systime.h text.h vdb.h window-impl.h window.h winslots.h xintrinsic.h xmotif.h +glyphs-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h bitmaps.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-x.h glyphs.h gui.h imgproc.h insdel.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects-x-impl.h objects-x.h objects.h opaque.h process.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysfile.h sysproc.h syssignal.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h xintrinsic.h xmotif.h gui-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h events.h frame.h gc.h general-slots.h glyphs.h gui.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window-impl.h window.h winslots.h xintrinsic.h xmotif.h intl-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h compiler.h console-x.h console.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h xintrinsic.h menubar-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gui.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window-impl.h window.h winslots.h xintrinsic.h objects-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h charset.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h elhash.h font-mgr.h gc.h general-slots.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects-x-impl.h objects-x.h objects-xlike-inc.c objects.h specifier.h symeval.h symsinit.h text.h vdb.h xintrinsic.h -redisplay-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h debug.h device-impl.h device.h devslots.h dumper.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-x.h glyphs.h gutter.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h mule-ccl.h number-gmp.h number-mp.h number.h objects-impl.h objects-x-impl.h objects-x.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysproc.h syssignal.h systime.h text.h vdb.h window-impl.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h xmotif.h xmprimitivep.h +redisplay-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console-x-impl.h console-x.h console.h debug.h device-impl.h device.h devslots.h dumper.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h gccache-gtk.h general-slots.h glyphs-gtk.h glyphs-x.h glyphs.h gutter.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h mule-ccl.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects-x-impl.h objects-x.h objects.h redisplay-xlike-inc.c redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysproc.h syssignal.h systime.h text.h vdb.h window-impl.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h xmotif.h xmprimitivep.h scrollbar-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-x.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar-x.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h xintrinsic.h select-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h charset.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h frame-impl.h frame.h frameslots.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-x.h objects.h opaque.h redisplay.h select-common.h select.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h xintrinsic.h xmotif.h toolbar-x.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h charset.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h dumper.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-x.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-x.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h toolbar-common.h toolbar.h vdb.h window-impl.h window.h winslots.h xintrinsic.h xintrinsicp.h xmotif.h xmprimitivep.h xgccache.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h hash.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h xgccache.h #endif #if defined(HAVE_TTY) -console-tty.o: $(CONFIG_H) $(LISP_H) charset.h coding-system-slots.h compiler.h conslots.h console-impl.h console-stream.h console-tty-impl.h console-tty.h console.h dumper.h elhash.h faces.h file-coding.h frame.h gc.h general-slots.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h process.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h systty.h text.h vdb.h window-impl.h window.h winslots.h -device-tty.o: $(CONFIG_H) $(LISP_H) charset.h compiler.h conslots.h console-impl.h console-stream.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h faces.h frame.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h syssignal.h systime.h systty.h text.h vdb.h +console-tty.o: $(CONFIG_H) $(LISP_H) charset.h coding-system-slots.h compiler.h conslots.h console-impl.h console-stream.h console-tty-impl.h console-tty.h console.h dumper.h elhash.h faces.h file-coding.h frame.h gc.h general-slots.h glyphs.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h process.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h systty.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h +device-tty.o: $(CONFIG_H) $(LISP_H) charset.h compiler.h conslots.h console-impl.h console-stream.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h faces.h frame.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h syssignal.h systime.h systty.h syswindows.h text.h vdb.h event-tty.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console-tty-impl.h console-tty.h console.h device.h dumper.h events.h frame.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h process.h redisplay.h specifier.h symeval.h symsinit.h sysproc.h syssignal.h systime.h systty.h syswait.h text.h vdb.h frame-tty.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h specifier.h symeval.h symsinit.h systime.h systty.h text.h vdb.h objects-tty.o: $(CONFIG_H) $(LISP_H) charset.h compiler.h conslots.h console-impl.h console-tty-impl.h console-tty.h console.h device.h dumper.h gc.h general-slots.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects-tty-impl.h objects-tty.h objects.h specifier.h symeval.h symsinit.h systty.h text.h vdb.h @@ -66,7 +67,7 @@ #endif #if defined(HAVE_GTK) console-gtk.o: $(CONFIG_H) $(LISP_H) charset.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h dumper.h elhash.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h process.h redisplay.h specifier.h symeval.h symsinit.h text.h vdb.h -device-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h faces.h frame-impl.h frame.h frameslots.h gc.h gccache-gtk.h general-slots.h glyphs-gtk.h glyphs.h gtk-xemacs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h systime.h text.h vdb.h window-impl.h window.h winslots.h +device-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h faces.h frame-impl.h frame.h frameslots.h gc.h gccache-gtk.h general-slots.h glyphs-gtk.h glyphs.h gtk-xemacs.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h dialog-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h dumper.h events.h frame.h gc.h general-slots.h gui.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window.h emacs-marshals.o: hash.h emacs-widget-accessors.o: @@ -74,14 +75,14 @@ frame-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dragdrop.h dumper.h elhash.h events.h extents.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-gtk.h glyphs.h gtk-xemacs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects.h redisplay.h scrollbar-gtk.h scrollbar.h specifier.h symeval.h symsinit.h sysdll.h systime.h text.h ui-gtk.h vdb.h window-impl.h window.h winslots.h gccache-gtk.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h gccache-gtk.h general-slots.h hash.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h glade.o: bytecode.h -glyphs-gtk.o: $(CONFIG_H) $(LISP_H) bitmaps.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-gtk.h glyphs.h gui.h imgproc.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdll.h sysfile.h systime.h text.h ui-gtk.h vdb.h window-impl.h window.h winslots.h +glyphs-gtk.o: $(CONFIG_H) $(LISP_H) bitmaps.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-gtk.h glyphs.h gui.h imgproc.h insdel.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdll.h sysfile.h systime.h syswindows.h text.h ui-gtk.h vdb.h window-impl.h window.h winslots.h gtk-glue.o: objects-gtk-impl.h objects-gtk.h objects-impl.h objects.h specifier.h gtk-xemacs.o: $(CONFIG_H) $(LISP_H) charset.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h event-gtk.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h gtk-xemacs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h gui-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h frame.h gc.h general-slots.h gui.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h specifier.h symeval.h symsinit.h text.h vdb.h menubar-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gui.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdll.h systime.h text.h ui-gtk.h vdb.h window-impl.h window.h winslots.h native-gtk-toolbar.o: $(CONFIG_H) $(LISP_H) charset.h compiler.h console-gtk.h console.h dumper.h faces.h frame.h gc.h general-slots.h glyphs-gtk.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h toolbar.h vdb.h window-impl.h window.h winslots.h objects-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h gc.h general-slots.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects-xlike-inc.c objects.h specifier.h symeval.h symsinit.h text.h vdb.h -redisplay-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h debug.h device-impl.h device.h devslots.h dumper.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h gccache-gtk.h general-slots.h glyphs-gtk.h glyphs.h gutter.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h mule-ccl.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysproc.h syssignal.h systime.h text.h vdb.h window-impl.h window.h winslots.h +redisplay-gtk.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console-x-impl.h console-x.h console.h debug.h device-impl.h device.h devslots.h dumper.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h gccache-gtk.h general-slots.h glyphs-gtk.h glyphs-x.h glyphs.h gutter.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h mule-ccl.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects-x-impl.h objects-x.h objects.h redisplay-xlike-inc.c redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysproc.h syssignal.h systime.h text.h vdb.h window-impl.h window.h winslots.h xgccache.h xintrinsic.h xintrinsicp.h xmotif.h xmprimitivep.h scrollbar-gtk.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h dumper.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs-gtk.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar-gtk.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h select-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h events.h frame.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h select-common.h select.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h toolbar-gtk.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h dumper.h frame.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h specifier.h symeval.h symsinit.h text.h toolbar-common.h vdb.h @@ -89,7 +90,7 @@ ui-gtk.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h compiler.h conslots.h console-gtk-impl.h console-gtk.h console-impl.h console.h device.h dumper.h elhash.h emacs-marshals.c emacs-widget-accessors.c event-gtk.h events.h faces.h gc.h general-slots.h glade.c glyphs-gtk.h glyphs.h gtk-glue.c gui.h hash.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-gtk-impl.h objects-gtk.h objects-impl.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdll.h systime.h text.h ui-byhand.c ui-gtk.h vdb.h window-impl.h window.h winslots.h #endif #if defined(HAVE_DATABASE) -database.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h database.h dumper.h file-coding.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysfile.h text.h vdb.h +database.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h database.h dumper.h file-coding.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h #endif #if defined(MULE) mule-ccl.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h dumper.h elhash.h file-coding.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h mule-ccl.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h @@ -105,9 +106,9 @@ extw-Xt.o: $(CONFIG_H) compiler.h extw-Xlib.h extw-Xt.h #endif abbrev.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h dumper.h gc.h general-slots.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h symeval.h symsinit.h syntax.h text.h vdb.h window.h -alloc.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-impl.h console-stream.h console.h device.h dumper.h elhash.h events.h extents-impl.h extents.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h process.h profile.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h systime.h text.h vdb.h window-impl.h window.h winslots.h +alloc.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-impl.h console-stream.h console.h device.h dumper.h elhash.h events.h extents-impl.h extents.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h process.h profile.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h alloca.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h -alsaplay.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h sound.h symeval.h symsinit.h sysfile.h text.h vdb.h +alsaplay.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h sound.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h blocktype.o: $(CONFIG_H) $(LISP_H) blocktype.h compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h buffer.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h commands.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h extents.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h insdel.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h process.h redisplay.h scrollbar.h select.h specifier.h symeval.h symsinit.h syntax.h sysdir.h sysfile.h syswindows.h text.h vdb.h window.h bytecode.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h symeval.h symsinit.h syntax.h text.h vdb.h window.h @@ -118,49 +119,49 @@ cm.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console-tty-impl.h console-tty.h console.h device.h dumper.h frame.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h specifier.h symeval.h symsinit.h systty.h text.h vdb.h cmdloop.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-impl.h console-msw.h console.h device.h dumper.h events.h frame.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h syswindows.h text.h vdb.h window.h cmds.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h dumper.h extents.h gc.h general-slots.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h syntax.h text.h vdb.h -console-stream.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console-stream-impl.h console-stream.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h systime.h systty.h text.h vdb.h window.h +console-stream.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console-stream-impl.h console-stream.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h systime.h systty.h syswindows.h text.h vdb.h window.h console.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-stream-impl.h console-stream.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h systime.h systty.h text.h vdb.h window.h data.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysfloat.h syssignal.h text.h vdb.h debug.o: $(CONFIG_H) $(LISP_H) bytecode.h compiler.h debug.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h device.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h syssignal.h systime.h text.h toolbar.h vdb.h window.h dialog.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console.h dumper.h frame-impl.h frame.h frameslots.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h specifier.h symeval.h symsinit.h text.h vdb.h dired.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h dumper.h elhash.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h opaque.h regex.h symeval.h symsinit.h syntax.h sysdep.h sysdir.h sysfile.h syspwd.h systime.h syswindows.h text.h vdb.h -doc.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h dumper.h file-coding.h gc.h general-slots.h insdel.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysfile.h text.h vdb.h +doc.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h dumper.h file-coding.h gc.h general-slots.h insdel.h intl-auto-encap-win32.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h doprnt.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h dragdrop.o: $(CONFIG_H) $(LISP_H) compiler.h dragdrop.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h dump-data.o: $(CONFIG_H) $(LISP_H) compiler.h dump-data.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h dumper.o: $(CONFIG_H) $(LISP_H) coding-system-slots.h compiler.h console-stream.h console.h dump-data.h dumper.h elhash.h file-coding.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h specifier.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h dynarr.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h ecrt0.o: $(CONFIG_H) -editfns.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h console.h device.h dumper.h events.h frame.h gc.h general-slots.h insdel.h line-number.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h process.h redisplay.h scrollbar.h symeval.h symsinit.h sysdep.h sysdir.h sysfile.h sysproc.h syspwd.h syssignal.h systime.h text.h vdb.h window.h +editfns.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h console.h device.h dumper.h events.h frame.h gc.h general-slots.h insdel.h intl-auto-encap-win32.h line-number.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h process.h redisplay.h scrollbar.h symeval.h symsinit.h sysdep.h sysdir.h sysfile.h sysproc.h syspwd.h syssignal.h systime.h syswindows.h text.h vdb.h window.h elhash.o: $(CONFIG_H) $(LISP_H) bytecode.h compiler.h dumper.h elhash.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h symeval.h symsinit.h text.h vdb.h emacs.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h console-msw.h console.h dump-data.h dumper.h frame.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h paths.h process.h redisplay.h symeval.h symsinit.h sysdep.h sysdll.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswindows.h text.h vdb.h emodules.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h console.h dumper.h emodules.h file-coding.h frame.h gc.h general-slots.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h symeval.h symsinit.h sysdep.h sysdll.h text.h vdb.h window.h -esd.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h miscplay.h number-gmp.h number-mp.h number.h sound.h symeval.h symsinit.h sysfile.h text.h vdb.h +esd.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h miscplay.h number-gmp.h number-mp.h number.h sound.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h eval.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-impl.h console.h device.h dumper.h frame.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h profile.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window.h event-Xt.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h Emacs.ad.h EmacsFrame.h blocktype.h charset.h coding-system-slots.h compiler.h conslots.h console-impl.h console-tty.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dragdrop.h dumper.h elhash.h event-xlike-inc.c events.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects-x.h objects.h process.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysproc.h syssignal.h systime.h systty.h text.h vdb.h window-impl.h window.h winslots.h xintrinsic.h xintrinsicp.h xmotif.h -event-stream.o: $(CONFIG_H) $(LISP_H) backtrace.h blocktype.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h commands.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gui.h insdel.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h macros.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h process.h profile.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h syssignal.h systime.h text.h vdb.h window-impl.h window.h winslots.h -event-unixoid.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console-stream-impl.h console-stream.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h process.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h systty.h text.h vdb.h +event-stream.o: $(CONFIG_H) $(LISP_H) backtrace.h blocktype.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h commands.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h events.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gui.h insdel.h intl-auto-encap-win32.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h macros.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h process.h profile.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h syssignal.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h +event-unixoid.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console-stream-impl.h console-stream.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h process.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswindows.h text.h vdb.h events.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-tty-impl.h console-tty.h console.h device.h dumper.h events.h extents.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h systty.h text.h toolbar.h vdb.h window-impl.h window.h winslots.h extents.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h console.h debug.h device.h dumper.h elhash.h extents-impl.h extents.h faces.h frame.h gc.h general-slots.h glyphs.h gutter.h insdel.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h process.h profile.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h faces.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h extents-impl.h extents.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h file-coding.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h dumper.h elhash.h extents.h file-coding.h gc.h general-slots.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h rangetab.h symeval.h symsinit.h text.h vdb.h fileio.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h console.h device.h dumper.h events.h file-coding.h frame.h gc.h general-slots.h insdel.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h process.h profile.h redisplay.h scrollbar.h symeval.h symsinit.h sysdep.h sysdir.h sysfile.h sysproc.h syspwd.h syssignal.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h -filelock.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h paths.h symeval.h symsinit.h sysdir.h sysfile.h sysproc.h syspwd.h syssignal.h systime.h text.h vdb.h -filemode.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysfile.h text.h vdb.h +filelock.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h paths.h symeval.h symsinit.h sysdir.h sysfile.h sysproc.h syspwd.h syssignal.h systime.h syswindows.h text.h vdb.h +filemode.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h floatfns.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysfloat.h syssignal.h text.h vdb.h -fns.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h compiler.h console.h device.h dumper.h events.h extents.h frame.h gc.h general-slots.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h process.h redisplay.h symeval.h symsinit.h sysfile.h sysproc.h syssignal.h systime.h text.h vdb.h +fns.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h compiler.h console.h device.h dumper.h events.h extents.h frame.h gc.h general-slots.h insdel.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h process.h redisplay.h symeval.h symsinit.h sysfile.h sysproc.h syssignal.h systime.h syswindows.h text.h vdb.h font-lock.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h syntax.h text.h vdb.h font-mgr.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h font-mgr.h gc.h general-slots.h hash.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects-x-impl.h objects-x.h objects.h specifier.h symeval.h symsinit.h text.h vdb.h xintrinsic.h frame.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h events.h extents.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h gui.h gutter.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h process.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h toolbar.h vdb.h window-impl.h window.h winslots.h free-hook.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h hash.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h -gc.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-impl.h console-stream.h console.h device.h dumper.h elhash.h events.h extents-impl.h extents.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h process.h profile.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h systime.h text.h vdb.h window-impl.h window.h winslots.h +gc.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-impl.h console-stream.h console.h device.h dumper.h elhash.h events.h extents-impl.h extents.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h process.h profile.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h systime.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h general.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h -getloadavg.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysfile.h text.h vdb.h -glyphs-eimage.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h faces.h file-coding.h frame.h gc.h general-slots.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysfile.h text.h vdb.h window-impl.h window.h winslots.h -glyphs-shared.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h console.h dumper.h elhash.h faces.h frame.h gc.h general-slots.h glyphs.h imgproc.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h text.h vdb.h window-impl.h window.h winslots.h +getloadavg.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h +glyphs-eimage.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h faces.h file-coding.h frame.h gc.h general-slots.h glyphs.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h +glyphs-shared.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h console.h dumper.h elhash.h faces.h frame.h gc.h general-slots.h glyphs.h imgproc.h insdel.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h glyphs-widget.o: $(CONFIG_H) $(LISP_H) bytecode.h charset.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h faces.h frame.h gc.h general-slots.h glyphs.h gui.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h objects.h opaque.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h -glyphs.o: $(CONFIG_H) $(LISP_H) blocktype.h buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h gui.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects.h opaque.h rangetab.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysfile.h text.h vdb.h window-impl.h window.h winslots.h +glyphs.o: $(CONFIG_H) $(LISP_H) blocktype.h buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h elhash.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h gui.h insdel.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects-impl.h objects.h opaque.h rangetab.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h window-impl.h window.h winslots.h gmalloc.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h getpagesize.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysdep.h text.h vdb.h gpmevent.o: $(CONFIG_H) $(LISP_H) commands.h compiler.h conslots.h console-impl.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h events.h frame.h gc.h general-slots.h gpmevent.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h process.h redisplay.h specifier.h symeval.h symsinit.h sysdep.h sysproc.h syssignal.h systime.h systty.h text.h vdb.h gui.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h compiler.h dumper.h elhash.h gc.h general-slots.h gui.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h redisplay.h symeval.h symsinit.h text.h vdb.h @@ -180,18 +181,18 @@ keymap.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h dumper.h elhash.h events.h extents.h frame.h gc.h general-slots.h insdel.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window.h lastfile.o: $(CONFIG_H) libinterface.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h libinterface.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h -libsst.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h libsst.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h sound.h symeval.h symsinit.h sysfile.h text.h vdb.h +libsst.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h libsst.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h sound.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h line-number.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h line-number.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h -linuxplay.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h miscplay.h number-gmp.h number-mp.h number.h sound.h symeval.h symsinit.h sysfile.h syssignal.h systty.h text.h vdb.h +linuxplay.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h miscplay.h number-gmp.h number-mp.h number.h sound.h symeval.h symsinit.h sysfile.h syssignal.h systty.h syswindows.h text.h vdb.h lread.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h dumper.h elhash.h file-coding.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h profile.h symeval.h symsinit.h sysfile.h sysfloat.h syswindows.h text.h vdb.h -lstream.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysfile.h text.h vdb.h +lstream.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h insdel.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h macros.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-impl.h console.h device.h dumper.h events.h frame.h gc.h general-slots.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h macros.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window.h marker.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h mc-alloc.o: $(CONFIG_H) $(LISP_H) blocktype.h compiler.h dumper.h gc.h general-slots.h getpagesize.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h md5.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h dumper.h file-coding.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h menubar.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h frame-impl.h frame.h frameslots.h gc.h general-slots.h gui.h keymap.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h minibuf.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-impl.h console-stream.h console.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h systime.h text.h vdb.h window-impl.h window.h winslots.h -miscplay.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h miscplay.h number-gmp.h number-mp.h number.h sound.h symeval.h symsinit.h sysfile.h syssignal.h text.h vdb.h +miscplay.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h miscplay.h number-gmp.h number-mp.h number.h sound.h symeval.h symsinit.h sysfile.h syssignal.h syswindows.h text.h vdb.h nas.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h sound.h symeval.h symsinit.h sysdep.h syssignal.h text.h vdb.h nt.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h process.h symeval.h symsinit.h sysdir.h sysfile.h sysproc.h syspwd.h syssignal.h systime.h syswindows.h text.h vdb.h ntheap.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysdep.h syswindows.h text.h vdb.h @@ -203,26 +204,26 @@ opaque.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h symeval.h symsinit.h text.h vdb.h print.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-msw.h console-stream-impl.h console-stream.h console-tty-impl.h console-tty.h console.h device-impl.h device.h devslots.h dumper.h extents.h frame.h gc.h general-slots.h insdel.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h redisplay.h specifier.h symeval.h symsinit.h sysfile.h systty.h syswindows.h text.h vdb.h process-nt.o: $(CONFIG_H) $(LISP_H) compiler.h console-msw.h console.h dumper.h events.h gc.h general-slots.h hash.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h process-slots.h process.h procimpl.h symeval.h symsinit.h sysfile.h sysproc.h syssignal.h systime.h syswindows.h text.h vdb.h -process-unix.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h console.h dumper.h events.h file-coding.h frame.h gc.h general-slots.h hash.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h opaque.h process-slots.h process.h procimpl.h redisplay.h scrollbar.h symeval.h symsinit.h sysdep.h sysdir.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswait.h text.h vdb.h window.h +process-unix.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h console.h dumper.h events.h file-coding.h frame.h gc.h general-slots.h hash.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h opaque.h process-slots.h process.h procimpl.h redisplay.h scrollbar.h symeval.h symsinit.h sysdep.h sysdir.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswait.h syswindows.h text.h vdb.h window.h process.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h commands.h compiler.h console.h device.h dumper.h events.h file-coding.h frame.h gc.h general-slots.h hash.h insdel.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h lstream.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h process-slots.h process.h procimpl.h redisplay.h scrollbar.h symeval.h symsinit.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswait.h syswindows.h text.h vdb.h window.h profile.o: $(CONFIG_H) $(LISP_H) backtrace.h bytecode.h compiler.h dumper.h elhash.h gc.h general-slots.h hash.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h profile.h symeval.h symsinit.h syssignal.h systime.h text.h vdb.h ralloc.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h getpagesize.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h rangetab.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h rangetab.h symeval.h symsinit.h text.h vdb.h realpath.o: $(CONFIG_H) $(LISP_H) backtrace.h compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h ndir.h number-gmp.h number-mp.h number.h profile.h symeval.h symsinit.h sysdir.h sysfile.h syswindows.h text.h vdb.h redisplay-output.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h faces.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h gutter.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h -redisplay.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h commands.h compiler.h conslots.h console-impl.h console-tty.h console.h debug.h device-impl.h device.h devslots.h dumper.h elhash.h events.h extents-impl.h extents.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h gui.h gutter.h insdel.h line-number.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h objects-impl.h objects.h opaque.h process.h profile.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysfile.h systime.h systty.h text.h toolbar.h vdb.h window-impl.h window.h winslots.h +redisplay.o: $(CONFIG_H) $(LISP_H) backtrace.h buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h commands.h compiler.h conslots.h console-impl.h console-tty.h console.h debug.h device-impl.h device.h devslots.h dumper.h elhash.h events.h extents-impl.h extents.h faces.h file-coding.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h gui.h gutter.h insdel.h intl-auto-encap-win32.h line-number.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h menubar.h number-gmp.h number-mp.h number.h objects-impl.h objects.h opaque.h process.h profile.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h sysfile.h systime.h systty.h syswindows.h text.h toolbar.h vdb.h window-impl.h window.h winslots.h regex.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h regex.h symeval.h symsinit.h syntax.h text.h vdb.h scrollbar.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h commands.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h frame-impl.h frame.h frameslots.h gc.h general-slots.h glyphs.h gutter.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h search.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h insdel.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h regex.h symeval.h symsinit.h syntax.h text.h vdb.h select.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h extents.h frame.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h objects.h opaque.h redisplay.h select.h specifier.h symeval.h symsinit.h text.h vdb.h -sgiplay.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h libst.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h sound.h symeval.h symsinit.h sysfile.h sysproc.h syssignal.h systime.h text.h vdb.h -sheap.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h sheap-adjust.h symeval.h symsinit.h sysfile.h text.h vdb.h -signal.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h process.h redisplay.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h syssignal.h systime.h text.h vdb.h +sgiplay.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h libst.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h sound.h symeval.h symsinit.h sysfile.h sysproc.h syssignal.h systime.h syswindows.h text.h vdb.h +sheap.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h sheap-adjust.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h +signal.o: $(CONFIG_H) $(LISP_H) compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h events.h frame-impl.h frame.h frameslots.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h process.h redisplay.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h syssignal.h systime.h syswindows.h text.h vdb.h sound.o: $(CONFIG_H) $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console-x-impl.h console-x.h console.h device-impl.h device.h devslots.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h redisplay.h sound.h specifier.h symeval.h symsinit.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h syswindows.h text.h vdb.h xintrinsic.h specifier.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h device-impl.h device.h devslots.h dumper.h frame.h gc.h general-slots.h glyphs.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h rangetab.h redisplay.h scrollbar.h specifier.h symeval.h symsinit.h text.h vdb.h window-impl.h window.h winslots.h strcat.o: $(CONFIG_H) strftime.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h -sunplay.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h sound.h symeval.h symsinit.h sysdep.h sysfile.h syssignal.h text.h vdb.h +sunplay.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h sound.h symeval.h symsinit.h sysdep.h sysfile.h syssignal.h syswindows.h text.h vdb.h sunpro.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h symbols.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h conslots.h console-impl.h console.h dumper.h elhash.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h specifier.h symeval.h symsinit.h text.h vdb.h syntax.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h compiler.h dumper.h extents.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h syntax.h text.h vdb.h @@ -245,7 +246,7 @@ unexhp9k800.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h unexnt.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h unexsol2-6.o: compiler.h -unicode.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h dumper.h extents.h file-coding.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h rangetab.h symeval.h symsinit.h sysfile.h text.h vdb.h +unicode.o: $(CONFIG_H) $(LISP_H) buffer.h bufslots.h casetab.h charset.h chartab.h coding-system-slots.h compiler.h dumper.h extents.h file-coding.h gc.h general-slots.h intl-auto-encap-win32.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h opaque.h rangetab.h symeval.h symsinit.h sysfile.h syswindows.h text.h vdb.h vdb-fake.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h vdb-mach.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h vdb-posix.o: $(CONFIG_H) $(LISP_H) compiler.h dumper.h gc.h general-slots.h lisp-disunion.h lisp-union.h lisp.h lrecord.h mc-alloc.h number-gmp.h number-mp.h number.h symeval.h symsinit.h text.h vdb.h
--- a/src/dialog-msw.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/dialog-msw.c Sun Jan 24 22:06:20 2010 -0600 @@ -297,7 +297,7 @@ static struct { DWORD errmess; - Ascbyte *errname; + const Ascbyte *errname; } common_dialog_errors[] = { { CDERR_DIALOGFAILURE, "CDERR_DIALOGFAILURE" },
--- a/src/doprnt.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/doprnt.c Sun Jan 24 22:06:20 2010 -0600 @@ -602,7 +602,7 @@ sprintf (msg, "format specifier %%%c doesn't match argument type", ch); - syntax_error (msg, Qnil); + syntax_error (msg, Qunbound); } else if (strchr (double_converters, ch)) { @@ -725,7 +725,7 @@ CIbyte msg[60]; sprintf (msg, "invalid character value %d to %%c spec", a); - syntax_error (msg, Qnil); + syntax_error (msg, Qunbound); } charlen = set_itext_ichar (charbuf, a);
--- a/src/emacs.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/emacs.c Sun Jan 24 22:06:20 2010 -0600 @@ -936,8 +936,8 @@ #define SHEBANG_PROGNAME_LENGTH \ (int)((sizeof (WEXTSTRING (SHEBANG_PROGNAME)) - sizeof (WEXTSTRING ("")))) -#define SHEBANG_EXE_PROGNAME_LENGTH \ - (int)(sizeof (WEXTSTRING (SHEBANG_PROGNAME) WEXTSTRING(".exe")) \ +#define SHEBANG_EXE_PROGNAME_LENGTH \ + (int)(sizeof (WEXTSTRING (SHEBANG_PROGNAME ".exe")) \ - sizeof (WEXTSTRING (""))) { @@ -959,7 +959,7 @@ int j; newarr[0] = argv[0]; - newarr[1] = WEXTSTRING ("--script"); + newarr[1] = (Wexttext *) WEXTSTRING ("--script"); for (j = 1; j < argc; ++j) { newarr[j + 1] = argv[j]; @@ -1252,7 +1252,7 @@ for (j = 0; j < count_before + 1; j++) new_[j] = argv[j]; - new_[count_before + 1] = WEXTSTRING ("-d"); + new_[count_before + 1] = (Wexttext *) WEXTSTRING ("-d"); new_[count_before + 2] = dpy; for (j = count_before + 2; j <argc; j++) new_[j + 1] = argv[j]; @@ -1262,7 +1262,7 @@ /* Change --display to -d, when its arg is separate. */ else if (dpy != 0 && skip_args > count_before && argv[count_before + 1][1] == '-') - argv[count_before + 1] = WEXTSTRING ("-d"); + argv[count_before + 1] = (Wexttext *) WEXTSTRING ("-d"); /* Don't actually discard this arg. */ skip_args = count_before; @@ -3373,6 +3373,13 @@ LONGJMP (memory_error_jump, 1); } +/* Used in debug_can_access_memory(). Made into a global, externally + accessible variable to make absolutely sure that no compiler will + optimize away the memory-read function in debug_can_access_memory(); + see comments there. */ + +volatile int dcam_saveval; + /* Return whether all bytes in the specified memory block can be read. */ int debug_can_access_memory (const void *ptr, Bytecount len) @@ -3383,6 +3390,7 @@ volatile int old_errno = errno; volatile int retval = 1; + assert (len > 0); if (!SETJMP (memory_error_jump)) { old_sigbus = @@ -3390,13 +3398,24 @@ old_sigsegv = (SIGTYPE (*) (int)) EMACS_SIGNAL (SIGSEGV, debug_memory_error); + /* We could just do memcmp (ptr, ptr, len), but we want to avoid any + possibility that a super-optimizing compiler might optimize away such + a call by concluding that its result is always 1. */ if (len > 1) - /* If we can, try to avoid problems with super-optimizing compilers - that might decide that memcmp (ptr, ptr, len) can be optimized - away since its result is always 1. */ - memcmp (ptr, (Rawbyte *) ptr + 1, len - 1); + /* Instead, if length is > 1, do off-by-one comparison. + We save the value somewhere that is externally accessible to + make absolutely sure that a compiler won't optimize away the + call by concluding that the return value isn't really used. + */ + dcam_saveval = memcmp (ptr, (Rawbyte *) ptr + 1, len - 1); else - memcmp (ptr, ptr, len); + { + /* We can't do the off-by-one trick with only one byte, so instead, + we compare to a fixed-sized buffer. */ + char randval[1]; + randval[0] = 0; + dcam_saveval = memcmp (randval, ptr, len); + } } else retval = 0;
--- a/src/event-msw.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/event-msw.c Sun Jan 24 22:06:20 2010 -0600 @@ -4670,7 +4670,7 @@ struct mswin_message_debug { int mess; - char *string; + const Ascbyte *string; }; #define FROB(val) { val, #val, }, @@ -4961,7 +4961,7 @@ { Lisp_Object frame = mswindows_find_frame (hwnd); int i; - char *str = 0; + const Ascbyte *str = 0; /* struct mswin_message_debug *i_hate_cranking_out_code_like_this; */ for (i = 0; i < countof (debug_mswin_messages); i++)
--- a/src/event-stream.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/event-stream.c Sun Jan 24 22:06:20 2010 -0600 @@ -4137,7 +4137,7 @@ } static int -is_scrollbar_event (Lisp_Object event) +is_scrollbar_event (Lisp_Object USED_IF_SCROLLBARS (event)) { #ifdef HAVE_SCROLLBARS Lisp_Object fun;
--- a/src/extents.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/extents.c Sun Jan 24 22:06:20 2010 -0600 @@ -3114,13 +3114,15 @@ if (extent_start (e) == mempos && !NILP (extent_begin_glyph (e))) { Lisp_Object glyph = extent_begin_glyph (e); - if (seen_glyph) { - struct glyph_block gb; - - gb.glyph = glyph; - gb.extent = wrap_extent (e); - Dynarr_add (ef->begin_glyphs, gb); - } + if (seen_glyph) + { + struct glyph_block gb; + + xzero (gb); + gb.glyph = glyph; + gb.extent = wrap_extent (e); + Dynarr_add (ef->begin_glyphs, gb); + } else if (EQ (glyph, last_glyph)) seen_glyph = 1; } @@ -3133,13 +3135,15 @@ if (extent_end (e) == mempos && !NILP (extent_end_glyph (e))) { Lisp_Object glyph = extent_end_glyph (e); - if (seen_glyph) { - struct glyph_block gb; - - gb.glyph = glyph; - gb.extent = wrap_extent (e); - Dynarr_add (ef->end_glyphs, gb); - } + if (seen_glyph) + { + struct glyph_block gb; + + xzero (gb); + gb.glyph = glyph; + gb.extent = wrap_extent (e); + Dynarr_add (ef->end_glyphs, gb); + } else if (EQ (glyph, last_glyph)) seen_glyph = 1; }
--- a/src/font-mgr.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/font-mgr.c Sun Jan 24 22:06:20 2010 -0600 @@ -180,7 +180,7 @@ ourselves; hash.c hashtables do not interpret the value pointers. This array should be FcChar8**, but GCC 4.x bitches about signedness. */ -static Extbyte *fc_standard_properties[] = { +static const Extbyte *fc_standard_properties[] = { /* treated specially, ordered first */ "family", "size", /* remaining are alphabetized by group */ @@ -838,7 +838,7 @@ FC_CONFIG_DIR environment variable. */ (name)) { - char *fcname = ""; + const Ascbyte *fcname = ""; if (!NILP (name)) {
--- a/src/glyphs-msw.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/glyphs-msw.c Sun Jan 24 22:06:20 2010 -0600 @@ -1101,7 +1101,7 @@ typedef struct { - CIbyte *name; + const Ascbyte *name; int resource_id; } resource_t;
--- a/src/glyphs-x.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/glyphs-x.c Sun Jan 24 22:06:20 2010 -0600 @@ -2382,7 +2382,7 @@ if (rf) { /* #### What to do about Motif? */ - lw_add_widget_value_arg (wv, XtNxftFont, (XtArgVal) rf); + lw_add_widget_value_arg (wv, (String) XtNxftFont, (XtArgVal) rf); } #endif
--- a/src/intl-auto-encap-win32.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/intl-auto-encap-win32.c Sun Jan 24 22:06:20 2010 -0600 @@ -13,10 +13,127 @@ /*----------------------------------------------------------------------*/ +/* Processing file WINCON.H */ +/*----------------------------------------------------------------------*/ + +/* Error if FillConsoleOutputCharacter used: split CHAR */ + +DWORD +qxeGetConsoleTitle (Extbyte * arg1, DWORD arg2) +{ + if (XEUNICODE_P) + return GetConsoleTitleW ((LPWSTR) arg1, arg2); + else + return GetConsoleTitleA ((LPSTR) arg1, arg2); +} + +BOOL +qxePeekConsoleInput (HANDLE arg1, PINPUT_RECORD arg2, DWORD arg3, PDWORD arg4) +{ + if (XEUNICODE_P) + return PeekConsoleInputW (arg1, arg2, arg3, arg4); + else + return PeekConsoleInputA (arg1, arg2, arg3, arg4); +} + +BOOL +qxeReadConsole (HANDLE arg1, PVOID arg2, DWORD arg3, PDWORD arg4, PVOID arg5) +{ + if (XEUNICODE_P) + return ReadConsoleW (arg1, arg2, arg3, arg4, arg5); + else + return ReadConsoleA (arg1, arg2, arg3, arg4, arg5); +} + +BOOL +qxeReadConsoleInput (HANDLE arg1, PINPUT_RECORD arg2, DWORD arg3, PDWORD arg4) +{ + if (XEUNICODE_P) + return ReadConsoleInputW (arg1, arg2, arg3, arg4); + else + return ReadConsoleInputA (arg1, arg2, arg3, arg4); +} + +BOOL +qxeReadConsoleOutputCharacter (HANDLE arg1, Extbyte * arg2, DWORD arg3, COORD arg4, PDWORD arg5) +{ + if (XEUNICODE_P) + return ReadConsoleOutputCharacterW (arg1, (LPWSTR) arg2, arg3, arg4, arg5); + else + return ReadConsoleOutputCharacterA (arg1, (LPSTR) arg2, arg3, arg4, arg5); +} + +BOOL +qxeReadConsoleOutput (HANDLE arg1, PCHAR_INFO arg2, COORD arg3, COORD arg4, PSMALL_RECT arg5) +{ + if (XEUNICODE_P) + return ReadConsoleOutputW (arg1, arg2, arg3, arg4, arg5); + else + return ReadConsoleOutputA (arg1, arg2, arg3, arg4, arg5); +} + +BOOL +qxeScrollConsoleScreenBuffer (HANDLE arg1, const SMALL_RECT* arg2, const SMALL_RECT* arg3, COORD arg4, const CHAR_INFO* arg5) +{ + if (XEUNICODE_P) + return ScrollConsoleScreenBufferW (arg1, arg2, arg3, arg4, arg5); + else + return ScrollConsoleScreenBufferA (arg1, arg2, arg3, arg4, arg5); +} + +BOOL +qxeSetConsoleTitle (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return SetConsoleTitleW ((LPCWSTR) arg1); + else + return SetConsoleTitleA ((LPCSTR) arg1); +} + +BOOL +qxeWriteConsole (HANDLE arg1, PCVOID arg2, DWORD arg3, PDWORD arg4, PVOID arg5) +{ + if (XEUNICODE_P) + return WriteConsoleW (arg1, arg2, arg3, arg4, arg5); + else + return WriteConsoleA (arg1, arg2, arg3, arg4, arg5); +} + +BOOL +qxeWriteConsoleInput (HANDLE arg1, const INPUT_RECORD* arg2, DWORD arg3, PDWORD arg4) +{ + if (XEUNICODE_P) + return WriteConsoleInputW (arg1, arg2, arg3, arg4); + else + return WriteConsoleInputA (arg1, arg2, arg3, arg4); +} + +BOOL +qxeWriteConsoleOutput (HANDLE arg1, const CHAR_INFO* arg2, COORD arg3, COORD arg4, PSMALL_RECT arg5) +{ + if (XEUNICODE_P) + return WriteConsoleOutputW (arg1, arg2, arg3, arg4, arg5); + else + return WriteConsoleOutputA (arg1, arg2, arg3, arg4, arg5); +} + +BOOL +qxeWriteConsoleOutputCharacter (HANDLE arg1, const Extbyte * arg2, DWORD arg3, COORD arg4, PDWORD arg5) +{ + if (XEUNICODE_P) + return WriteConsoleOutputCharacterW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5); + else + return WriteConsoleOutputCharacterA (arg1, (LPCSTR) arg2, arg3, arg4, arg5); +} + + +/*----------------------------------------------------------------------*/ /* Processing file SHELLAPI.H */ /*----------------------------------------------------------------------*/ -UINT +/* Error if CommandLineToArgv used: Unicode-only */ + +UINT qxeDragQueryFile (HDROP arg1, UINT arg2, Extbyte * arg3, UINT arg4) { if (XEUNICODE_P) @@ -25,103 +142,87 @@ return DragQueryFileA (arg1, arg2, (LPSTR) arg3, arg4); } -HINSTANCE -qxeShellExecute (HWND hwnd, const Extbyte * lpOperation, const Extbyte * lpFile, const Extbyte * lpParameters, const Extbyte * lpDirectory, INT nShowCmd) -{ - if (XEUNICODE_P) - return ShellExecuteW (hwnd, (LPCWSTR) lpOperation, (LPCWSTR) lpFile, (LPCWSTR) lpParameters, (LPCWSTR) lpDirectory, nShowCmd); - else - return ShellExecuteA (hwnd, (LPCSTR) lpOperation, (LPCSTR) lpFile, (LPCSTR) lpParameters, (LPCSTR) lpDirectory, nShowCmd); -} - -HINSTANCE -qxeFindExecutable (const Extbyte * lpFile, const Extbyte * lpDirectory, Extbyte * lpResult) -{ - if (XEUNICODE_P) - return FindExecutableW ((LPCWSTR) lpFile, (LPCWSTR) lpDirectory, (LPWSTR) lpResult); - else - return FindExecutableA ((LPCSTR) lpFile, (LPCSTR) lpDirectory, (LPSTR) lpResult); -} - -/* Error if CommandLineToArgv used: Unicode-only */ - -INT -qxeShellAbout (HWND hWnd, const Extbyte * szApp, const Extbyte * szOtherStuff, HICON hIcon) -{ - if (XEUNICODE_P) - return ShellAboutW (hWnd, (LPCWSTR) szApp, (LPCWSTR) szOtherStuff, hIcon); - else - return ShellAboutA (hWnd, (LPCSTR) szApp, (LPCSTR) szOtherStuff, hIcon); -} - -HICON -qxeExtractAssociatedIcon (HINSTANCE hInst, Extbyte * lpIconPath, LPWORD lpiIcon) -{ - if (XEUNICODE_P) - return ExtractAssociatedIconW (hInst, (LPWSTR) lpIconPath, lpiIcon); - else - return ExtractAssociatedIconA (hInst, (LPSTR) lpIconPath, lpiIcon); -} - -HICON -qxeExtractIcon (HINSTANCE hInst, const Extbyte * lpszExeFileName, UINT nIconIndex) -{ - if (XEUNICODE_P) - return ExtractIconW (hInst, (LPCWSTR) lpszExeFileName, nIconIndex); - else - return ExtractIconA (hInst, (LPCSTR) lpszExeFileName, nIconIndex); -} - -#if !defined (CYGWIN_HEADERS) - -/* NOTE: NT 4.0+ only */ -DWORD -qxeDoEnvironmentSubst (Extbyte * szString, UINT cbString) -{ - if (XEUNICODE_P) - return DoEnvironmentSubstW ((LPWSTR) szString, cbString); - else - return DoEnvironmentSubstA ((LPSTR) szString, cbString); -} - -#endif /* !defined (CYGWIN_HEADERS) */ - -/* Error if FindEnvironmentString used: causes link error; NT 4.0+ only */ +HICON +qxeExtractAssociatedIcon (HINSTANCE arg1, const Extbyte * arg2, PWORD arg3) +{ + if (XEUNICODE_P) + return ExtractAssociatedIconW (arg1, (LPCWSTR) arg2, arg3); + else + return ExtractAssociatedIconA (arg1, (LPCSTR) arg2, arg3); +} + +HICON +qxeExtractIcon (HINSTANCE arg1, const Extbyte * arg2, UINT arg3) +{ + if (XEUNICODE_P) + return ExtractIconW (arg1, (LPCWSTR) arg2, arg3); + else + return ExtractIconA (arg1, (LPCSTR) arg2, arg3); +} /* Skipping ExtractIconEx because NT 4.0+ only, error in Cygwin prototype */ -/* NOTE: NT 4.0+ only */ +HINSTANCE +qxeFindExecutable (const Extbyte * arg1, const Extbyte * arg2, Extbyte * arg3) +{ + if (XEUNICODE_P) + return FindExecutableW ((LPCWSTR) arg1, (LPCWSTR) arg2, (LPWSTR) arg3); + else + return FindExecutableA ((LPCSTR) arg1, (LPCSTR) arg2, (LPSTR) arg3); +} + +/* Error if Shell_NotifyIcon used: split-sized NOTIFYICONDATA, NT 4.0+ only */ + int -qxeSHFileOperation (LPSHFILEOPSTRUCTW lpFileOp) -{ - if (XEUNICODE_P) - return SHFileOperationW (lpFileOp); - else - return SHFileOperationA ((LPSHFILEOPSTRUCTA) lpFileOp); +qxeShellAbout (HWND arg1, const Extbyte * arg2, const Extbyte * arg3, HICON arg4) +{ + if (XEUNICODE_P) + return ShellAboutW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, arg4); + else + return ShellAboutA (arg1, (LPCSTR) arg2, (LPCSTR) arg3, arg4); +} + +HINSTANCE +qxeShellExecute (HWND arg1, const Extbyte * arg2, const Extbyte * arg3, const Extbyte * arg4, const Extbyte * arg5, INT arg6) +{ + if (XEUNICODE_P) + return ShellExecuteW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, (LPCWSTR) arg4, (LPCWSTR) arg5, arg6); + else + return ShellExecuteA (arg1, (LPCSTR) arg2, (LPCSTR) arg3, (LPCSTR) arg4, (LPCSTR) arg5, arg6); } /* NOTE: NT 4.0+ only */ BOOL -qxeShellExecuteEx (LPSHELLEXECUTEINFOW lpExecInfo) -{ - if (XEUNICODE_P) - return ShellExecuteExW (lpExecInfo); - else - return ShellExecuteExA ((LPSHELLEXECUTEINFOA) lpExecInfo); -} - -/* Error if WinExecError used: causes link error; NT 4.0+ only */ +qxeShellExecuteEx (LPSHELLEXECUTEINFOW arg1) +{ + if (XEUNICODE_P) + return ShellExecuteExW (arg1); + else + return ShellExecuteExA ((LPSHELLEXECUTEINFOA) arg1); +} + +/* NOTE: NT 4.0+ only */ +int +qxeSHFileOperation (LPSHFILEOPSTRUCTW arg1) +{ + if (XEUNICODE_P) + return SHFileOperationW (arg1); + else + return SHFileOperationA ((LPSHFILEOPSTRUCTA) arg1); +} + +/* Skipping SHGetFileInfo because split-sized SHFILEINFO, NT 4.0+ only */ #if !defined (CYGWIN_HEADERS) /* NOTE: NT 4.0+ only */ HRESULT -qxeSHQueryRecycleBin (const Extbyte * pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo) -{ - if (XEUNICODE_P) - return SHQueryRecycleBinW ((LPCWSTR) pszRootPath, pSHQueryRBInfo); - else - return SHQueryRecycleBinA ((LPCSTR) pszRootPath, pSHQueryRBInfo); +qxeSHQueryRecycleBin (const Extbyte * arg1, LPSHQUERYRBINFO arg2) +{ + if (XEUNICODE_P) + return SHQueryRecycleBinW ((LPCWSTR) arg1, arg2); + else + return SHQueryRecycleBinA ((LPCSTR) arg1, arg2); } #endif /* !defined (CYGWIN_HEADERS) */ @@ -130,46 +231,12 @@ /* NOTE: NT 4.0+ only */ HRESULT -qxeSHEmptyRecycleBin (HWND hwnd, const Extbyte * pszRootPath, DWORD dwFlags) -{ - if (XEUNICODE_P) - return SHEmptyRecycleBinW (hwnd, (LPCWSTR) pszRootPath, dwFlags); - else - return SHEmptyRecycleBinA (hwnd, (LPCSTR) pszRootPath, dwFlags); -} - -#endif /* !defined (CYGWIN_HEADERS) */ - -/* Error if Shell_NotifyIcon used: split-sized NOTIFYICONDATA, NT 4.0+ only */ - -/* Skipping SHGetFileInfo because split-sized SHFILEINFO, NT 4.0+ only */ - -/* Error if SHGetDiskFreeSpace used: causes link error; NT 4.0+ only */ - -#if !defined (CYGWIN_HEADERS) - -/* NOTE: NT 4.0+ only */ -BOOL -qxeSHGetNewLinkInfo (const Extbyte * pszLinkTo, const Extbyte * pszDir, Extbyte * pszName, BOOL * pfMustCopy, UINT uFlags) -{ - if (XEUNICODE_P) - return SHGetNewLinkInfoW ((LPCWSTR) pszLinkTo, (LPCWSTR) pszDir, (LPWSTR) pszName, pfMustCopy, uFlags); - else - return SHGetNewLinkInfoA ((LPCSTR) pszLinkTo, (LPCSTR) pszDir, (LPSTR) pszName, pfMustCopy, uFlags); -} - -#endif /* !defined (CYGWIN_HEADERS) */ - -#if !defined (CYGWIN_HEADERS) - -/* NOTE: NT 4.0+ only */ -BOOL -qxeSHInvokePrinterCommand (HWND hwnd, UINT uAction, const Extbyte * lpBuf1, const Extbyte * lpBuf2, BOOL fModal) -{ - if (XEUNICODE_P) - return SHInvokePrinterCommandW (hwnd, uAction, (LPCWSTR) lpBuf1, (LPCWSTR) lpBuf2, fModal); - else - return SHInvokePrinterCommandA (hwnd, uAction, (LPCSTR) lpBuf1, (LPCSTR) lpBuf2, fModal); +qxeSHEmptyRecycleBin (HWND arg1, const Extbyte * arg2, DWORD arg3) +{ + if (XEUNICODE_P) + return SHEmptyRecycleBinW (arg1, (LPCWSTR) arg2, arg3); + else + return SHEmptyRecycleBinA (arg1, (LPCSTR) arg2, arg3); } #endif /* !defined (CYGWIN_HEADERS) */ @@ -181,33 +248,195 @@ #if defined (HAVE_MS_WINDOWS) +/* Error if AddForm used: not used, complicated interface with split structures */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if AddJob used: not used, complicated interface with split structures */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if AddMonitor used: not used, complicated interface with split structures */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if AddPort used: not used, complicated interface with split structures */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if AddPrinter used: split-sized DEVMODE pointer in split PRINTER_INFO_2 */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if AddPrinterConnection used: not used, complicated interface with split structures */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if AddPrinterDriver used: not used, complicated interface with split structures */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if AddPrintProcessor used: not used, complicated interface with split structures */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if AddPrintProvidor used: not used, complicated interface with split structures */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if AdvancedDocumentProperties used: not used, complicated interface with split structures */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if ConfigurePort used: not used, complicated interface with split structures */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if DeleteForm used: not used, complicated interface with split structures */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if DeleteMonitor used: not used, complicated interface with split structures */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if DeletePort used: not used, complicated interface with split structures */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if DeletePrinterConnection used: not used, complicated interface with split structures */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if DeletePrinterData used: not used, complicated interface with split structures */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if DeletePrinterDriver used: not used, complicated interface with split structures */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if DeletePrintProcessor used: not used, complicated interface with split structures */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if DeletePrintProvidor used: not used, complicated interface with split structures */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Skipping DocumentProperties because split-sized DEVMODE, error in Cygwin prototype */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if EnumForms used: not used, complicated interface with split structures */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if EnumJobs used: split-sized DEVMODE pointer in split JOB_INFO_2 */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if EnumMonitors used: not used, complicated interface with split structures */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if EnumPorts used: not used, complicated interface with split structures */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if EnumPrinterData used: not used, complicated interface with split structures */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if EnumPrinterDrivers used: not used, complicated interface with split structures */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + /* NOTE: #### problems with DEVMODE pointer in PRINTER_INFO_2 */ BOOL -qxeEnumPrinters (DWORD Flags, Extbyte * Name, DWORD Level, LPBYTE pPrinterEnum, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned) -{ - if (XEUNICODE_P) - return EnumPrintersW (Flags, (LPWSTR) Name, Level, pPrinterEnum, cbBuf, pcbNeeded, pcReturned); - else - return EnumPrintersA (Flags, (LPSTR) Name, Level, pPrinterEnum, cbBuf, pcbNeeded, pcReturned); +qxeEnumPrinters (DWORD arg1, Extbyte * arg2, DWORD arg3, PBYTE arg4, DWORD arg5, PDWORD arg6, PDWORD arg7) +{ + if (XEUNICODE_P) + return EnumPrintersW (arg1, (LPWSTR) arg2, arg3, arg4, arg5, arg6, arg7); + else + return EnumPrintersA (arg1, (LPSTR) arg2, arg3, arg4, arg5, arg6, arg7); } #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -/* Skipping OpenPrinter because split-sized DEVMODE pointer in split PRINTER_DEFAULTS */ +/* Error if EnumPrintProcessorDatatypes used: not used, complicated interface with split structures */ #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -/* Error if ResetPrinter used: split-sized DEVMODE pointer in split PRINTER_DEFAULTS */ +/* Error if EnumPrintProcessors used: not used, complicated interface with split structures */ #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -/* Error if SetJob used: split-sized DEVMODE pointer in split JOB_INFO_2 */ +/* Error if GetDefaultPrinter used: Function needs review to determine how to handle it */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if GetForm used: not used, complicated interface with split structures */ #endif /* defined (HAVE_MS_WINDOWS) */ @@ -219,43 +448,13 @@ #if defined (HAVE_MS_WINDOWS) -/* Error if EnumJobs used: split-sized DEVMODE pointer in split JOB_INFO_2 */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if AddPrinter used: split-sized DEVMODE pointer in split PRINTER_INFO_2 */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if SetPrinter used: split-sized DEVMODE pointer in split PRINTER_INFO_2 */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - /* Error if GetPrinter used: split-sized DEVMODE pointer in split PRINTER_INFO_2 */ #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -/* Error if AddPrinterDriver used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if AddPrinterDriverEx used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if EnumPrinterDrivers used: not used, complicated interface with split structures */ +/* Error if GetPrinterData used: not used, complicated interface with split structures */ #endif /* defined (HAVE_MS_WINDOWS) */ @@ -273,145 +472,13 @@ #if defined (HAVE_MS_WINDOWS) -/* Error if DeletePrinterDriver used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if DeletePrinterDriverEx used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if AddPerMachineConnection used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if DeletePerMachineConnection used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if EnumPerMachineConnections used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if AddPrintProcessor used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if EnumPrintProcessors used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - /* Error if GetPrintProcessorDirectory used: not used, complicated interface with split structures */ #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -/* Error if EnumPrintProcessorDatatypes used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if DeletePrintProcessor used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if StartDocPrinter used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if AddJob used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Skipping DocumentProperties because split-sized DEVMODE, error in Cygwin prototype */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if AdvancedDocumentProperties used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if GetPrinterData used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if GetPrinterDataEx used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if EnumPrinterData used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if EnumPrinterDataEx used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if EnumPrinterKey used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if SetPrinterData used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if SetPrinterDataEx used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if DeletePrinterData used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if DeletePrinterDataEx used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if DeletePrinterKey used: not used, complicated interface with split structures */ +/* Skipping OpenPrinter because split-sized DEVMODE pointer in split PRINTER_DEFAULTS */ #endif /* defined (HAVE_MS_WINDOWS) */ @@ -423,19 +490,7 @@ #if defined (HAVE_MS_WINDOWS) -/* Error if AddForm used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if DeleteForm used: not used, complicated interface with split structures */ - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* Error if GetForm used: not used, complicated interface with split structures */ +/* Error if ResetPrinter used: split-sized DEVMODE pointer in split PRINTER_DEFAULTS */ #endif /* defined (HAVE_MS_WINDOWS) */ @@ -447,97 +502,270 @@ #if defined (HAVE_MS_WINDOWS) -/* Error if EnumForms used: not used, complicated interface with split structures */ +/* Error if SetJob used: split-sized DEVMODE pointer in split JOB_INFO_2 */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if SetPrinter used: split-sized DEVMODE pointer in split PRINTER_INFO_2 */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if SetPrinterData used: not used, complicated interface with split structures */ #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -/* Error if EnumMonitors used: not used, complicated interface with split structures */ +/* Error if StartDocPrinter used: not used, complicated interface with split structures */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + + +/*----------------------------------------------------------------------*/ +/* Processing file WINNETWK.H */ +/*----------------------------------------------------------------------*/ + +#if defined (HAVE_MS_WINDOWS) + +DWORD +qxeWNetAddConnection (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3) +{ + if (XEUNICODE_P) + return WNetAddConnectionW ((LPCWSTR) arg1, (LPCWSTR) arg2, (LPCWSTR) arg3); + else + return WNetAddConnectionA ((LPCSTR) arg1, (LPCSTR) arg2, (LPCSTR) arg3); +} #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -/* Error if AddMonitor used: not used, complicated interface with split structures */ +DWORD +qxeWNetAddConnection2 (LPNETRESOURCEW arg1, const Extbyte * arg2, const Extbyte * arg3, DWORD arg4) +{ + if (XEUNICODE_P) + return WNetAddConnection2W (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, arg4); + else + return WNetAddConnection2A ((LPNETRESOURCEA) arg1, (LPCSTR) arg2, (LPCSTR) arg3, arg4); +} #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -/* Error if DeleteMonitor used: not used, complicated interface with split structures */ +DWORD +qxeWNetAddConnection3 (HWND arg1, LPNETRESOURCEW arg2, const Extbyte * arg3, const Extbyte * arg4, DWORD arg5) +{ + if (XEUNICODE_P) + return WNetAddConnection3W (arg1, arg2, (LPCWSTR) arg3, (LPCWSTR) arg4, arg5); + else + return WNetAddConnection3A (arg1, (LPNETRESOURCEA) arg2, (LPCSTR) arg3, (LPCSTR) arg4, arg5); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +DWORD +qxeWNetCancelConnection (const Extbyte * arg1, BOOL arg2) +{ + if (XEUNICODE_P) + return WNetCancelConnectionW ((LPCWSTR) arg1, arg2); + else + return WNetCancelConnectionA ((LPCSTR) arg1, arg2); +} #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -/* Error if EnumPorts used: not used, complicated interface with split structures */ +DWORD +qxeWNetCancelConnection2 (const Extbyte * arg1, DWORD arg2, BOOL arg3) +{ + if (XEUNICODE_P) + return WNetCancelConnection2W ((LPCWSTR) arg1, arg2, arg3); + else + return WNetCancelConnection2A ((LPCSTR) arg1, arg2, arg3); +} #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -/* Error if AddPort used: not used, complicated interface with split structures */ +DWORD +qxeWNetGetConnection (const Extbyte * arg1, Extbyte * arg2, PDWORD arg3) +{ + if (XEUNICODE_P) + return WNetGetConnectionW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3); + else + return WNetGetConnectionA ((LPCSTR) arg1, (LPSTR) arg2, arg3); +} #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -/* Error if ConfigurePort used: not used, complicated interface with split structures */ +DWORD +qxeWNetUseConnection (HWND arg1, LPNETRESOURCEW arg2, const Extbyte * arg3, const Extbyte * arg4, DWORD arg5, Extbyte * arg6, PDWORD arg7, PDWORD arg8) +{ + if (XEUNICODE_P) + return WNetUseConnectionW (arg1, arg2, (LPCWSTR) arg3, (LPCWSTR) arg4, arg5, (LPWSTR) arg6, arg7, arg8); + else + return WNetUseConnectionA (arg1, (LPNETRESOURCEA) arg2, (LPCSTR) arg3, (LPCSTR) arg4, arg5, (LPSTR) arg6, arg7, arg8); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if WNetSetConnection used: Function needs review to determine how to handle it */ #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -/* Error if DeletePort used: not used, complicated interface with split structures */ +/* NOTE: contains split-simple LPNETRESOURCE */ +DWORD +qxeWNetConnectionDialog1 (LPCONNECTDLGSTRUCTW arg1) +{ + if (XEUNICODE_P) + return WNetConnectionDialog1W (arg1); + else + return WNetConnectionDialog1A ((LPCONNECTDLGSTRUCTA) arg1); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +DWORD +qxeWNetDisconnectDialog1 (LPDISCDLGSTRUCTW arg1) +{ + if (XEUNICODE_P) + return WNetDisconnectDialog1W (arg1); + else + return WNetDisconnectDialog1A ((LPDISCDLGSTRUCTA) arg1); +} #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -/* Error if XcvData used: not used, complicated interface with split structures */ +DWORD +qxeWNetOpenEnum (DWORD arg1, DWORD arg2, DWORD arg3, LPNETRESOURCEW arg4, LPHANDLE arg5) +{ + if (XEUNICODE_P) + return WNetOpenEnumW (arg1, arg2, arg3, arg4, arg5); + else + return WNetOpenEnumA (arg1, arg2, arg3, (LPNETRESOURCEA) arg4, arg5); +} #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -/* Error if SetPort used: not used, complicated interface with split structures */ +DWORD +qxeWNetEnumResource (HANDLE arg1, PDWORD arg2, PVOID arg3, PDWORD arg4) +{ + if (XEUNICODE_P) + return WNetEnumResourceW (arg1, arg2, arg3, arg4); + else + return WNetEnumResourceA (arg1, arg2, arg3, arg4); +} #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -/* Error if AddPrinterConnection used: not used, complicated interface with split structures */ +DWORD +qxeWNetGetUniversalName (const Extbyte * arg1, DWORD arg2, PVOID arg3, PDWORD arg4) +{ + if (XEUNICODE_P) + return WNetGetUniversalNameW ((LPCWSTR) arg1, arg2, arg3, arg4); + else + return WNetGetUniversalNameA ((LPCSTR) arg1, arg2, arg3, arg4); +} #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -/* Error if DeletePrinterConnection used: not used, complicated interface with split structures */ +DWORD +qxeWNetGetUser (const Extbyte * arg1, Extbyte * arg2, PDWORD arg3) +{ + if (XEUNICODE_P) + return WNetGetUserW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3); + else + return WNetGetUserA ((LPCSTR) arg1, (LPSTR) arg2, arg3); +} #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -/* Error if AddPrintProvidor used: not used, complicated interface with split structures */ +DWORD +qxeWNetGetProviderName (DWORD arg1, Extbyte * arg2, PDWORD arg3) +{ + if (XEUNICODE_P) + return WNetGetProviderNameW (arg1, (LPWSTR) arg2, arg3); + else + return WNetGetProviderNameA (arg1, (LPSTR) arg2, arg3); +} #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -/* Error if DeletePrintProvidor used: not used, complicated interface with split structures */ +DWORD +qxeWNetGetNetworkInformation (const Extbyte * arg1, LPNETINFOSTRUCT arg2) +{ + if (XEUNICODE_P) + return WNetGetNetworkInformationW ((LPCWSTR) arg1, arg2); + else + return WNetGetNetworkInformationA ((LPCSTR) arg1, arg2); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if WNetGetResourceInformation used: Function needs review to determine how to handle it */ #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -/* Error if SetPrinterHTMLView used: not used, complicated interface with split structures */ +/* Error if WNetGetResourceParent used: Function needs review to determine how to handle it */ #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -/* Error if GetPrinterHTMLView used: not used, complicated interface with split structures */ +DWORD +qxeWNetGetLastError (PDWORD arg1, Extbyte * arg2, DWORD arg3, Extbyte * arg4, DWORD arg5) +{ + if (XEUNICODE_P) + return WNetGetLastErrorW (arg1, (LPWSTR) arg2, arg3, (LPWSTR) arg4, arg5); + else + return WNetGetLastErrorA (arg1, (LPSTR) arg2, arg3, (LPSTR) arg4, arg5); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +DWORD +qxeMultinetGetConnectionPerformance (LPNETRESOURCEW arg1, LPNETCONNECTINFOSTRUCT arg2) +{ + if (XEUNICODE_P) + return MultinetGetConnectionPerformanceW (arg1, arg2); + else + return MultinetGetConnectionPerformanceA ((LPNETRESOURCEA) arg1, arg2); +} #endif /* defined (HAVE_MS_WINDOWS) */ @@ -546,207 +774,366 @@ /* Processing file WINUSER.H */ /*----------------------------------------------------------------------*/ -int -qxewvsprintf (Extbyte * arg1, const Extbyte * arg2, va_list arglist) -{ - if (XEUNICODE_P) - return wvsprintfW ((LPWSTR) arg1, (LPCWSTR) arg2, arglist); - else - return wvsprintfA ((LPSTR) arg1, (LPCSTR) arg2, arglist); -} - -HKL -qxeLoadKeyboardLayout (const Extbyte * pwszKLID, UINT Flags) -{ - if (XEUNICODE_P) - return LoadKeyboardLayoutW ((LPCWSTR) pwszKLID, Flags); - else - return LoadKeyboardLayoutA ((LPCSTR) pwszKLID, Flags); +BOOL +qxeAppendMenu (HMENU arg1, UINT arg2, UINT_PTR arg3, const Extbyte * arg4) +{ + if (XEUNICODE_P) + return AppendMenuW (arg1, arg2, arg3, (LPCWSTR) arg4); + else + return AppendMenuA (arg1, arg2, arg3, (LPCSTR) arg4); +} + +/* Error if BroadcastSystemMessage used: win95 version not split; NT 4.0+ only */ + +/* Error if BroadcastSystemMessageEx used: Function needs review to determine how to handle it */ + +#if !defined (CYGWIN_HEADERS) + +BOOL +qxeCallMsgFilter (LPMSG arg1, INT arg2) +{ + if (XEUNICODE_P) + return CallMsgFilterW (arg1, arg2); + else + return CallMsgFilterA (arg1, arg2); +} + +#endif /* !defined (CYGWIN_HEADERS) */ + +/* Error if CallWindowProc used: two versions, STRICT and non-STRICT */ + +/* Error if ChangeDisplaySettings used: split-sized LPDEVMODE */ + +/* Error if ChangeDisplaySettingsEx used: split-sized LPDEVMODE; NT 5.0/Win98+ only */ + +BOOL +qxeChangeMenu (HMENU arg1, UINT arg2, const Extbyte * arg3, UINT arg4, UINT arg5) +{ + if (XEUNICODE_P) + return ChangeMenuW (arg1, arg2, (LPCWSTR) arg3, arg4, arg5); + else + return ChangeMenuA (arg1, arg2, (LPCSTR) arg3, arg4, arg5); +} + +Extbyte * +qxeCharLower (Extbyte * arg1) +{ + if (XEUNICODE_P) + return (Extbyte *) CharLowerW ((LPWSTR) arg1); + else + return (Extbyte *) CharLowerA ((LPSTR) arg1); +} + +DWORD +qxeCharLowerBuff (Extbyte * arg1, DWORD arg2) +{ + if (XEUNICODE_P) + return CharLowerBuffW ((LPWSTR) arg1, arg2); + else + return CharLowerBuffA ((LPSTR) arg1, arg2); +} + +Extbyte * +qxeCharNext (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return (Extbyte *) CharNextW ((LPCWSTR) arg1); + else + return (Extbyte *) CharNextA ((LPCSTR) arg1); +} + +Extbyte * +qxeCharPrev (const Extbyte * arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return (Extbyte *) CharPrevW ((LPCWSTR) arg1, (LPCWSTR) arg2); + else + return (Extbyte *) CharPrevA ((LPCSTR) arg1, (LPCSTR) arg2); } BOOL -qxeGetKeyboardLayoutName (Extbyte * pwszKLID) -{ - if (XEUNICODE_P) - return GetKeyboardLayoutNameW ((LPWSTR) pwszKLID); - else - return GetKeyboardLayoutNameA ((LPSTR) pwszKLID); +qxeCharToOem (const Extbyte * arg1, LPSTR arg2) +{ + if (XEUNICODE_P) + return CharToOemW ((LPCWSTR) arg1, arg2); + else + return CharToOemA ((LPCSTR) arg1, arg2); +} + +BOOL +qxeCharToOemBuff (const Extbyte * arg1, LPSTR arg2, DWORD arg3) +{ + if (XEUNICODE_P) + return CharToOemBuffW ((LPCWSTR) arg1, arg2, arg3); + else + return CharToOemBuffA ((LPCSTR) arg1, arg2, arg3); +} + +Extbyte * +qxeCharUpper (Extbyte * arg1) +{ + if (XEUNICODE_P) + return (Extbyte *) CharUpperW ((LPWSTR) arg1); + else + return (Extbyte *) CharUpperA ((LPSTR) arg1); +} + +DWORD +qxeCharUpperBuff (Extbyte * arg1, DWORD arg2) +{ + if (XEUNICODE_P) + return CharUpperBuffW ((LPWSTR) arg1, arg2); + else + return CharUpperBuffA ((LPSTR) arg1, arg2); +} + +int +qxeCopyAcceleratorTable (HACCEL arg1, LPACCEL arg2, int arg3) +{ + if (XEUNICODE_P) + return CopyAcceleratorTableW (arg1, arg2, arg3); + else + return CopyAcceleratorTableA (arg1, arg2, arg3); +} + +HACCEL +qxeCreateAcceleratorTable (LPACCEL arg1, int arg2) +{ + if (XEUNICODE_P) + return CreateAcceleratorTableW (arg1, arg2); + else + return CreateAcceleratorTableA (arg1, arg2); } /* Error if CreateDesktop used: split-sized LPDEVMODE */ -HDESK -qxeOpenDesktop (Extbyte * lpszDesktop, DWORD dwFlags, BOOL fInherit, ACCESS_MASK dwDesiredAccess) -{ - if (XEUNICODE_P) - return OpenDesktopW ((LPWSTR) lpszDesktop, dwFlags, fInherit, dwDesiredAccess); - else - return OpenDesktopA ((LPSTR) lpszDesktop, dwFlags, fInherit, dwDesiredAccess); -} - -/* NOTE: // callback fun differs only in string pointer type */ -BOOL -qxeEnumDesktops (HWINSTA hwinsta, DESKTOPENUMPROCW lpEnumFunc, LPARAM lParam) -{ - if (XEUNICODE_P) - return EnumDesktopsW (hwinsta, lpEnumFunc, lParam); - else - return EnumDesktopsA (hwinsta, (DESKTOPENUMPROCA) lpEnumFunc, lParam); +/* NOTE: error in Cygwin prototype (no split) but fixable with typedef */ +HWND +qxeCreateDialogIndirectParam (HINSTANCE arg1, LPCDLGTEMPLATE arg2, HWND arg3, DLGPROC arg4, LPARAM arg5) +{ + if (XEUNICODE_P) + return CreateDialogIndirectParamW (arg1, arg2, arg3, arg4, arg5); + else + return CreateDialogIndirectParamA (arg1, arg2, arg3, arg4, arg5); +} + +HWND +qxeCreateDialogParam (HINSTANCE arg1, const Extbyte * arg2, HWND arg3, DLGPROC arg4, LPARAM arg5) +{ + if (XEUNICODE_P) + return CreateDialogParamW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5); + else + return CreateDialogParamA (arg1, (LPCSTR) arg2, arg3, arg4, arg5); +} + +HWND +qxeCreateMDIWindow (const Extbyte * arg1, const Extbyte * arg2, DWORD arg3, int arg4, int arg5, int arg6, int arg7, HWND arg8, HINSTANCE arg9, LPARAM arg10) +{ + if (XEUNICODE_P) + return CreateMDIWindowW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); + else + return CreateMDIWindowA ((LPCSTR) arg1, (LPCSTR) arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); +} + +HWND +qxeCreateWindowEx (DWORD arg1, const Extbyte * arg2, const Extbyte * arg3, DWORD arg4, int arg5, int arg6, int arg7, int arg8, HWND arg9, HMENU arg10, HINSTANCE arg11, LPVOID arg12) +{ + if (XEUNICODE_P) + return CreateWindowExW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); + else + return CreateWindowExA (arg1, (LPCSTR) arg2, (LPCSTR) arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); } HWINSTA -qxeCreateWindowStation (Extbyte * lpwinsta, DWORD dwReserved, ACCESS_MASK dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa) -{ - if (XEUNICODE_P) - return CreateWindowStationW ((LPWSTR) lpwinsta, dwReserved, dwDesiredAccess, lpsa); - else - return CreateWindowStationA ((LPSTR) lpwinsta, dwReserved, dwDesiredAccess, lpsa); -} - -HWINSTA -qxeOpenWindowStation (Extbyte * lpszWinSta, BOOL fInherit, ACCESS_MASK dwDesiredAccess) -{ - if (XEUNICODE_P) - return OpenWindowStationW ((LPWSTR) lpszWinSta, fInherit, dwDesiredAccess); - else - return OpenWindowStationA ((LPSTR) lpszWinSta, fInherit, dwDesiredAccess); +qxeCreateWindowStation (const Extbyte * arg1, DWORD arg2, DWORD arg3, LPSECURITY_ATTRIBUTES arg4) +{ + if (XEUNICODE_P) + return CreateWindowStationW ((LPCWSTR) arg1, arg2, arg3, arg4); + else + return CreateWindowStationA ((LPCSTR) arg1, arg2, arg3, arg4); +} + +/* Error if DefDlgProc used: return value is conditionalized on _MAC, messes up parser */ + +LRESULT +qxeDefFrameProc (HWND arg1, HWND arg2, UINT arg3, WPARAM arg4, LPARAM arg5) +{ + if (XEUNICODE_P) + return DefFrameProcW (arg1, arg2, arg3, arg4, arg5); + else + return DefFrameProcA (arg1, arg2, arg3, arg4, arg5); +} + +/* Error if DefMDIChildProc used: return value is conditionalized on _MAC, messes up parser */ + +/* Skipping DefWindowProc because return value is conditionalized on _MAC, messes up parser */ + +/* NOTE: error in Cygwin prototype (no split) but fixable with typedef */ +int +qxeDialogBoxIndirectParam (HINSTANCE arg1, LPCDLGTEMPLATE arg2, HWND arg3, DLGPROC arg4, LPARAM arg5) +{ + if (XEUNICODE_P) + return DialogBoxIndirectParamW (arg1, arg2, arg3, arg4, arg5); + else + return DialogBoxIndirectParamA (arg1, arg2, arg3, arg4, arg5); +} + +int +qxeDialogBoxParam (HINSTANCE arg1, const Extbyte * arg2, HWND arg3, DLGPROC arg4, LPARAM arg5) +{ + if (XEUNICODE_P) + return DialogBoxParamW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5); + else + return DialogBoxParamA (arg1, (LPCSTR) arg2, arg3, arg4, arg5); +} + +LONG +qxeDispatchMessage (const MSG* arg1) +{ + if (XEUNICODE_P) + return DispatchMessageW (arg1); + else + return DispatchMessageA (arg1); +} + +int +qxeDlgDirList (HWND arg1, Extbyte * arg2, int arg3, int arg4, UINT arg5) +{ + if (XEUNICODE_P) + return DlgDirListW (arg1, (LPWSTR) arg2, arg3, arg4, arg5); + else + return DlgDirListA (arg1, (LPSTR) arg2, arg3, arg4, arg5); +} + +int +qxeDlgDirListComboBox (HWND arg1, Extbyte * arg2, int arg3, int arg4, UINT arg5) +{ + if (XEUNICODE_P) + return DlgDirListComboBoxW (arg1, (LPWSTR) arg2, arg3, arg4, arg5); + else + return DlgDirListComboBoxA (arg1, (LPSTR) arg2, arg3, arg4, arg5); +} + +BOOL +qxeDlgDirSelectComboBoxEx (HWND arg1, Extbyte * arg2, int arg3, int arg4) +{ + if (XEUNICODE_P) + return DlgDirSelectComboBoxExW (arg1, (LPWSTR) arg2, arg3, arg4); + else + return DlgDirSelectComboBoxExA (arg1, (LPSTR) arg2, arg3, arg4); +} + +BOOL +qxeDlgDirSelectEx (HWND arg1, Extbyte * arg2, int arg3, int arg4) +{ + if (XEUNICODE_P) + return DlgDirSelectExW (arg1, (LPWSTR) arg2, arg3, arg4); + else + return DlgDirSelectExA (arg1, (LPSTR) arg2, arg3, arg4); +} + +/* NOTE: NT 4.0+ only */ +BOOL +qxeDrawState (HDC arg1, HBRUSH arg2, DRAWSTATEPROC arg3, LPARAM arg4, WPARAM arg5, int arg6, int arg7, int arg8, int arg9, UINT arg10) +{ + if (XEUNICODE_P) + return DrawStateW (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); + else + return DrawStateA (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); +} + +int +qxeDrawText (HDC arg1, const Extbyte * arg2, int arg3, LPRECT arg4, UINT arg5) +{ + if (XEUNICODE_P) + return DrawTextW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5); + else + return DrawTextA (arg1, (LPCSTR) arg2, arg3, arg4, arg5); +} + +/* NOTE: NT 4.0+ only */ +int +qxeDrawTextEx (HDC arg1, Extbyte * arg2, int arg3, LPRECT arg4, UINT arg5, LPDRAWTEXTPARAMS arg6) +{ + if (XEUNICODE_P) + return DrawTextExW (arg1, (LPWSTR) arg2, arg3, arg4, arg5, arg6); + else + return DrawTextExA (arg1, (LPSTR) arg2, arg3, arg4, arg5, arg6); } /* NOTE: // callback fun differs only in string pointer type */ BOOL -qxeEnumWindowStations (WINSTAENUMPROCW lpEnumFunc, LPARAM lParam) -{ - if (XEUNICODE_P) - return EnumWindowStationsW (lpEnumFunc, lParam); - else - return EnumWindowStationsA ((WINSTAENUMPROCA) lpEnumFunc, lParam); -} - -BOOL -qxeGetUserObjectInformation (HANDLE hObj, int nIndex, PVOID pvInfo, DWORD nLength, LPDWORD lpnLengthNeeded) -{ - if (XEUNICODE_P) - return GetUserObjectInformationW (hObj, nIndex, pvInfo, nLength, lpnLengthNeeded); - else - return GetUserObjectInformationA (hObj, nIndex, pvInfo, nLength, lpnLengthNeeded); -} - +qxeEnumDesktops (HWINSTA arg1, DESKTOPENUMPROCW arg2, LPARAM arg3) +{ + if (XEUNICODE_P) + return EnumDesktopsW (arg1, arg2, arg3); + else + return EnumDesktopsA (arg1, (DESKTOPENUMPROCA) arg2, arg3); +} + +/* Error if EnumDisplaySettings used: split-sized LPDEVMODE */ + +/* Error if EnumDisplaySettingsEx used: Function needs review to determine how to handle it */ + +/* Error if EnumDisplayDevices used: split-sized PDISPLAY_DEVICE; NT 5.0+ only, no Win98 */ + +/* NOTE: // callback fun differs only in string pointer type */ +int +qxeEnumProps (HWND arg1, PROPENUMPROCW arg2) +{ + if (XEUNICODE_P) + return EnumPropsW (arg1, arg2); + else + return EnumPropsA (arg1, (PROPENUMPROCA) arg2); +} + +/* NOTE: // callback fun differs only in string pointer type */ +int +qxeEnumPropsEx (HWND arg1, PROPENUMPROCEXW arg2, LPARAM arg3) +{ + if (XEUNICODE_P) + return EnumPropsExW (arg1, arg2, arg3); + else + return EnumPropsExA (arg1, (PROPENUMPROCEXA) arg2, arg3); +} + +/* NOTE: // callback fun differs only in string pointer type */ BOOL -qxeSetUserObjectInformation (HANDLE hObj, int nIndex, PVOID pvInfo, DWORD nLength) -{ - if (XEUNICODE_P) - return SetUserObjectInformationW (hObj, nIndex, pvInfo, nLength); - else - return SetUserObjectInformationA (hObj, nIndex, pvInfo, nLength); -} - -UINT -qxeRegisterWindowMessage (const Extbyte * lpString) -{ - if (XEUNICODE_P) - return RegisterWindowMessageW ((LPCWSTR) lpString); - else - return RegisterWindowMessageA ((LPCSTR) lpString); -} - -BOOL -qxeGetMessage (LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax) -{ - if (XEUNICODE_P) - return GetMessageW (lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax); - else - return GetMessageA (lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax); -} - -LONG -qxeDispatchMessage (CONST MSG * lpMsg) -{ - if (XEUNICODE_P) - return DispatchMessageW (lpMsg); - else - return DispatchMessageA (lpMsg); +qxeEnumWindowStations (WINSTAENUMPROCW arg1, LPARAM arg2) +{ + if (XEUNICODE_P) + return EnumWindowStationsW (arg1, arg2); + else + return EnumWindowStationsA ((WINSTAENUMPROCA) arg1, arg2); +} + +/* NOTE: NT 4.0+ only */ +HWND +qxeFindWindowEx (HWND arg1, HWND arg2, const Extbyte * arg3, const Extbyte * arg4) +{ + if (XEUNICODE_P) + return FindWindowExW (arg1, arg2, (LPCWSTR) arg3, (LPCWSTR) arg4); + else + return FindWindowExA (arg1, arg2, (LPCSTR) arg3, (LPCSTR) arg4); +} + +HWND +qxeFindWindow (const Extbyte * arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return FindWindowW ((LPCWSTR) arg1, (LPCWSTR) arg2); + else + return FindWindowA ((LPCSTR) arg1, (LPCSTR) arg2); } BOOL -qxePeekMessage (LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg) -{ - if (XEUNICODE_P) - return PeekMessageW (lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax, wRemoveMsg); - else - return PeekMessageA (lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax, wRemoveMsg); -} - -/* Skipping SendMessage because split messages and structures */ - -LRESULT -qxeSendMessageTimeout (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, UINT fuFlags, UINT uTimeout, LPDWORD lpdwResult) -{ - if (XEUNICODE_P) - return SendMessageTimeoutW (hWnd, Msg, wParam, lParam, fuFlags, uTimeout, lpdwResult); - else - return SendMessageTimeoutA (hWnd, Msg, wParam, lParam, fuFlags, uTimeout, lpdwResult); -} - -BOOL -qxeSendNotifyMessage (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) -{ - if (XEUNICODE_P) - return SendNotifyMessageW (hWnd, Msg, wParam, lParam); - else - return SendNotifyMessageA (hWnd, Msg, wParam, lParam); -} - -BOOL -qxeSendMessageCallback (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, SENDASYNCPROC lpResultCallBack, DWORD dwData) -{ - if (XEUNICODE_P) - return SendMessageCallbackW (hWnd, Msg, wParam, lParam, lpResultCallBack, dwData); - else - return SendMessageCallbackA (hWnd, Msg, wParam, lParam, lpResultCallBack, dwData); -} - -/* Error if BroadcastSystemMessage used: win95 version not split; NT 4.0+ only */ - -/* Error if RegisterDeviceNotification used: NT 5.0+ only */ - -BOOL -qxePostMessage (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) -{ - if (XEUNICODE_P) - return PostMessageW (hWnd, Msg, wParam, lParam); - else - return PostMessageA (hWnd, Msg, wParam, lParam); -} - -BOOL -qxePostThreadMessage (DWORD idThread, UINT Msg, WPARAM wParam, LPARAM lParam) -{ - if (XEUNICODE_P) - return PostThreadMessageW (idThread, Msg, wParam, lParam); - else - return PostThreadMessageA (idThread, Msg, wParam, lParam); -} - -/* Skipping DefWindowProc because return value is conditionalized on _MAC, messes up parser */ - -/* Error if CallWindowProc used: two versions, STRICT and non-STRICT */ - -/* Error if CallWindowProc used: two versions, STRICT and non-STRICT */ - -/* Skipping RegisterClass because need to intercept so we can provide our own window procedure and handle split notify messages; split-simple WNDCLASS */ - -/* Skipping UnregisterClass because need to intercept for reasons related to RegisterClass */ - -BOOL -qxeGetClassInfo (HINSTANCE hInstance, const Extbyte * lpClassName, LPWNDCLASSW lpWndClass) -{ - if (XEUNICODE_P) - return GetClassInfoW (hInstance, (LPCWSTR) lpClassName, lpWndClass); - else - return GetClassInfoA (hInstance, (LPCSTR) lpClassName, (LPWNDCLASSA) lpWndClass); -} - -/* Skipping RegisterClassEx because need to intercept so we can provide our own window procedure and handle split notify messages; split-simple WNDCLASSEX; NT 4.0+ only */ +qxeGetClassInfo (HINSTANCE arg1, const Extbyte * arg2, LPWNDCLASSW arg3) +{ + if (XEUNICODE_P) + return GetClassInfoW (arg1, (LPCWSTR) arg2, arg3); + else + return GetClassInfoA (arg1, (LPCSTR) arg2, (LPWNDCLASSA) arg3); +} /* NOTE: NT 4.0+ only */ BOOL @@ -758,340 +1145,170 @@ return GetClassInfoExA (arg1, (LPCSTR) arg2, (LPWNDCLASSEXA) arg3); } -HWND -qxeCreateWindowEx (DWORD dwExStyle, const Extbyte * lpClassName, const Extbyte * lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam) -{ - if (XEUNICODE_P) - return CreateWindowExW (dwExStyle, (LPCWSTR) lpClassName, (LPCWSTR) lpWindowName, dwStyle, X, Y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam); - else - return CreateWindowExA (dwExStyle, (LPCSTR) lpClassName, (LPCSTR) lpWindowName, dwStyle, X, Y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam); -} - -HWND -qxeCreateDialogParam (HINSTANCE hInstance, const Extbyte * lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam) -{ - if (XEUNICODE_P) - return CreateDialogParamW (hInstance, (LPCWSTR) lpTemplateName, hWndParent, lpDialogFunc, dwInitParam); - else - return CreateDialogParamA (hInstance, (LPCSTR) lpTemplateName, hWndParent, lpDialogFunc, dwInitParam); -} - -/* NOTE: error in Cygwin prototype (no split) but fixable with typedef */ -HWND -qxeCreateDialogIndirectParam (HINSTANCE hInstance, LPCDLGTEMPLATEW lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam) -{ - if (XEUNICODE_P) - return CreateDialogIndirectParamW (hInstance, lpTemplate, hWndParent, lpDialogFunc, dwInitParam); - else - return CreateDialogIndirectParamA (hInstance, (LPCDLGTEMPLATEA) lpTemplate, hWndParent, lpDialogFunc, dwInitParam); +DWORD +qxeGetClassLong (HWND arg1, int arg2) +{ + if (XEUNICODE_P) + return GetClassLongW (arg1, arg2); + else + return GetClassLongA (arg1, arg2); +} + +/* Error if GetClassLongPtr used: Function needs review to determine how to handle it */ + +int +qxeGetClassName (HWND arg1, Extbyte * arg2, int arg3) +{ + if (XEUNICODE_P) + return GetClassNameW (arg1, (LPWSTR) arg2, arg3); + else + return GetClassNameA (arg1, (LPSTR) arg2, arg3); } int -qxeDialogBoxParam (HINSTANCE hInstance, const Extbyte * lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam) -{ - if (XEUNICODE_P) - return DialogBoxParamW (hInstance, (LPCWSTR) lpTemplateName, hWndParent, lpDialogFunc, dwInitParam); - else - return DialogBoxParamA (hInstance, (LPCSTR) lpTemplateName, hWndParent, lpDialogFunc, dwInitParam); -} - -/* NOTE: error in Cygwin prototype (no split) but fixable with typedef */ -int -qxeDialogBoxIndirectParam (HINSTANCE hInstance, LPCDLGTEMPLATEW hDialogTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam) -{ - if (XEUNICODE_P) - return DialogBoxIndirectParamW (hInstance, hDialogTemplate, hWndParent, lpDialogFunc, dwInitParam); - else - return DialogBoxIndirectParamA (hInstance, (LPCDLGTEMPLATEA) hDialogTemplate, hWndParent, lpDialogFunc, dwInitParam); -} - -BOOL -qxeSetDlgItemText (HWND hDlg, int nIDDlgItem, const Extbyte * lpString) -{ - if (XEUNICODE_P) - return SetDlgItemTextW (hDlg, nIDDlgItem, (LPCWSTR) lpString); - else - return SetDlgItemTextA (hDlg, nIDDlgItem, (LPCSTR) lpString); +qxeGetClipboardFormatName (UINT arg1, Extbyte * arg2, int arg3) +{ + if (XEUNICODE_P) + return GetClipboardFormatNameW (arg1, (LPWSTR) arg2, arg3); + else + return GetClipboardFormatNameA (arg1, (LPSTR) arg2, arg3); } UINT -qxeGetDlgItemText (HWND hDlg, int nIDDlgItem, Extbyte * lpString, int nMaxCount) -{ - if (XEUNICODE_P) - return GetDlgItemTextW (hDlg, nIDDlgItem, (LPWSTR) lpString, nMaxCount); - else - return GetDlgItemTextA (hDlg, nIDDlgItem, (LPSTR) lpString, nMaxCount); -} - -LONG -qxeSendDlgItemMessage (HWND hDlg, int nIDDlgItem, UINT Msg, WPARAM wParam, LPARAM lParam) -{ - if (XEUNICODE_P) - return SendDlgItemMessageW (hDlg, nIDDlgItem, Msg, wParam, lParam); - else - return SendDlgItemMessageA (hDlg, nIDDlgItem, Msg, wParam, lParam); -} - -/* Error if DefDlgProc used: return value is conditionalized on _MAC, messes up parser */ - -#if !defined (CYGWIN_HEADERS) +qxeGetDlgItemText (HWND arg1, int arg2, Extbyte * arg3, int arg4) +{ + if (XEUNICODE_P) + return GetDlgItemTextW (arg1, arg2, (LPWSTR) arg3, arg4); + else + return GetDlgItemTextA (arg1, arg2, (LPSTR) arg3, arg4); +} BOOL -qxeCallMsgFilter (LPMSG lpMsg, int nCode) -{ - if (XEUNICODE_P) - return CallMsgFilterW (lpMsg, nCode); - else - return CallMsgFilterA (lpMsg, nCode); -} - -#endif /* !defined (CYGWIN_HEADERS) */ - -UINT -qxeRegisterClipboardFormat (const Extbyte * lpszFormat) -{ - if (XEUNICODE_P) - return RegisterClipboardFormatW ((LPCWSTR) lpszFormat); - else - return RegisterClipboardFormatA ((LPCSTR) lpszFormat); +qxeGetKeyboardLayoutName (Extbyte * arg1) +{ + if (XEUNICODE_P) + return GetKeyboardLayoutNameW ((LPWSTR) arg1); + else + return GetKeyboardLayoutNameA ((LPSTR) arg1); } int -qxeGetClipboardFormatName (UINT format, Extbyte * lpszFormatName, int cchMaxCount) -{ - if (XEUNICODE_P) - return GetClipboardFormatNameW (format, (LPWSTR) lpszFormatName, cchMaxCount); - else - return GetClipboardFormatNameA (format, (LPSTR) lpszFormatName, cchMaxCount); -} - +qxeGetKeyNameText (LONG arg1, Extbyte * arg2, int arg3) +{ + if (XEUNICODE_P) + return GetKeyNameTextW (arg1, (LPWSTR) arg2, arg3); + else + return GetKeyNameTextA (arg1, (LPSTR) arg2, arg3); +} + +/* NOTE: NT 4.0+ only */ BOOL -qxeCharToOem (const Extbyte * lpszSrc, LPSTR lpszDst) -{ - if (XEUNICODE_P) - return CharToOemW ((LPCWSTR) lpszSrc, lpszDst); - else - return CharToOemA ((LPCSTR) lpszSrc, lpszDst); -} - -BOOL -qxeOemToChar (LPCSTR lpszSrc, Extbyte * lpszDst) -{ - if (XEUNICODE_P) - return OemToCharW (lpszSrc, (LPWSTR) lpszDst); - else - return OemToCharA (lpszSrc, (LPSTR) lpszDst); -} - -BOOL -qxeCharToOemBuff (const Extbyte * lpszSrc, LPSTR lpszDst, DWORD cchDstLength) -{ - if (XEUNICODE_P) - return CharToOemBuffW ((LPCWSTR) lpszSrc, lpszDst, cchDstLength); - else - return CharToOemBuffA ((LPCSTR) lpszSrc, lpszDst, cchDstLength); +qxeGetMenuItemInfo (HMENU arg1, UINT arg2, BOOL arg3, LPMENUITEMINFOW arg4) +{ + if (XEUNICODE_P) + return GetMenuItemInfoW (arg1, arg2, arg3, arg4); + else + return GetMenuItemInfoA (arg1, arg2, arg3, (LPMENUITEMINFOA) arg4); +} + +int +qxeGetMenuString (HMENU arg1, UINT arg2, Extbyte * arg3, int arg4, UINT arg5) +{ + if (XEUNICODE_P) + return GetMenuStringW (arg1, arg2, (LPWSTR) arg3, arg4, arg5); + else + return GetMenuStringA (arg1, arg2, (LPSTR) arg3, arg4, arg5); } BOOL -qxeOemToCharBuff (LPCSTR lpszSrc, Extbyte * lpszDst, DWORD cchDstLength) -{ - if (XEUNICODE_P) - return OemToCharBuffW (lpszSrc, (LPWSTR) lpszDst, cchDstLength); - else - return OemToCharBuffA (lpszSrc, (LPSTR) lpszDst, cchDstLength); -} - -Extbyte * -qxeCharUpper (Extbyte * lpsz) -{ - if (XEUNICODE_P) - return (Extbyte *) CharUpperW ((LPWSTR) lpsz); - else - return (Extbyte *) CharUpperA ((LPSTR) lpsz); -} - -DWORD -qxeCharUpperBuff (Extbyte * lpsz, DWORD cchLength) -{ - if (XEUNICODE_P) - return CharUpperBuffW ((LPWSTR) lpsz, cchLength); - else - return CharUpperBuffA ((LPSTR) lpsz, cchLength); -} - -Extbyte * -qxeCharLower (Extbyte * lpsz) -{ - if (XEUNICODE_P) - return (Extbyte *) CharLowerW ((LPWSTR) lpsz); - else - return (Extbyte *) CharLowerA ((LPSTR) lpsz); -} +qxeGetMessage (LPMSG arg1, HWND arg2, UINT arg3, UINT arg4) +{ + if (XEUNICODE_P) + return GetMessageW (arg1, arg2, arg3, arg4); + else + return GetMessageA (arg1, arg2, arg3, arg4); +} + +HANDLE +qxeGetProp (HWND arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return GetPropW (arg1, (LPCWSTR) arg2); + else + return GetPropA (arg1, (LPCSTR) arg2); +} + +/* Error if GetRawInputDeviceInfo used: Function needs review to determine how to handle it */ DWORD -qxeCharLowerBuff (Extbyte * lpsz, DWORD cchLength) -{ - if (XEUNICODE_P) - return CharLowerBuffW ((LPWSTR) lpsz, cchLength); - else - return CharLowerBuffA ((LPSTR) lpsz, cchLength); -} - -Extbyte * -qxeCharNext (const Extbyte * lpsz) -{ - if (XEUNICODE_P) - return (Extbyte *) CharNextW ((LPCWSTR) lpsz); - else - return (Extbyte *) CharNextA ((LPCSTR) lpsz); -} - -Extbyte * -qxeCharPrev (const Extbyte * lpszStart, const Extbyte * lpszCurrent) -{ - if (XEUNICODE_P) - return (Extbyte *) CharPrevW ((LPCWSTR) lpszStart, (LPCWSTR) lpszCurrent); - else - return (Extbyte *) CharPrevA ((LPCSTR) lpszStart, (LPCSTR) lpszCurrent); -} - -/* Error if IsCharAlpha used: split CHAR */ - -/* Error if IsCharAlphaNumeric used: split CHAR */ - -/* Error if IsCharUpper used: split CHAR */ - -/* Error if IsCharLower used: split CHAR */ - -int -qxeGetKeyNameText (LONG lParam, Extbyte * lpString, int nSize) -{ - if (XEUNICODE_P) - return GetKeyNameTextW (lParam, (LPWSTR) lpString, nSize); - else - return GetKeyNameTextA (lParam, (LPSTR) lpString, nSize); -} - -/* Skipping VkKeyScan because split CHAR */ - -/* Error if VkKeyScanEx used: split CHAR; NT 4.0+ only */ - -UINT -qxeMapVirtualKey (UINT uCode, UINT uMapType) -{ - if (XEUNICODE_P) - return MapVirtualKeyW (uCode, uMapType); - else - return MapVirtualKeyA (uCode, uMapType); -} - -/* NOTE: NT 4.0+ only */ -UINT -qxeMapVirtualKeyEx (UINT uCode, UINT uMapType, HKL dwhkl) -{ - if (XEUNICODE_P) - return MapVirtualKeyExW (uCode, uMapType, dwhkl); - else - return MapVirtualKeyExA (uCode, uMapType, dwhkl); -} - -HACCEL -qxeLoadAccelerators (HINSTANCE hInstance, const Extbyte * lpTableName) -{ - if (XEUNICODE_P) - return LoadAcceleratorsW (hInstance, (LPCWSTR) lpTableName); - else - return LoadAcceleratorsA (hInstance, (LPCSTR) lpTableName); -} - -HACCEL -qxeCreateAcceleratorTable (LPACCEL arg1, int arg2) -{ - if (XEUNICODE_P) - return CreateAcceleratorTableW (arg1, arg2); - else - return CreateAcceleratorTableA (arg1, arg2); +qxeGetTabbedTextExtent (HDC arg1, const Extbyte * arg2, int arg3, int arg4, LPINT arg5) +{ + if (XEUNICODE_P) + return GetTabbedTextExtentW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5); + else + return GetTabbedTextExtentA (arg1, (LPCSTR) arg2, arg3, arg4, arg5); +} + +LONG +qxeGetWindowLong (HWND arg1, int arg2) +{ + if (XEUNICODE_P) + return GetWindowLongW (arg1, arg2); + else + return GetWindowLongA (arg1, arg2); +} + +/* Error if GetWindowLongPtr used: Function needs review to determine how to handle it */ + +BOOL +qxeGetUserObjectInformation (HANDLE arg1, int arg2, PVOID arg3, DWORD arg4, PDWORD arg5) +{ + if (XEUNICODE_P) + return GetUserObjectInformationW (arg1, arg2, arg3, arg4, arg5); + else + return GetUserObjectInformationA (arg1, arg2, arg3, arg4, arg5); } int -qxeCopyAcceleratorTable (HACCEL hAccelSrc, LPACCEL lpAccelDst, int cAccelEntries) -{ - if (XEUNICODE_P) - return CopyAcceleratorTableW (hAccelSrc, lpAccelDst, cAccelEntries); - else - return CopyAcceleratorTableA (hAccelSrc, lpAccelDst, cAccelEntries); +qxeGetWindowTextLength (HWND arg1) +{ + if (XEUNICODE_P) + return GetWindowTextLengthW (arg1); + else + return GetWindowTextLengthA (arg1); } int -qxeTranslateAccelerator (HWND hWnd, HACCEL hAccTable, LPMSG lpMsg) -{ - if (XEUNICODE_P) - return TranslateAcceleratorW (hWnd, hAccTable, lpMsg); - else - return TranslateAcceleratorA (hWnd, hAccTable, lpMsg); -} - -HMENU -qxeLoadMenu (HINSTANCE hInstance, const Extbyte * lpMenuName) -{ - if (XEUNICODE_P) - return LoadMenuW (hInstance, (LPCWSTR) lpMenuName); - else - return LoadMenuA (hInstance, (LPCSTR) lpMenuName); -} - -HMENU -qxeLoadMenuIndirect (CONST MENUTEMPLATEW * lpMenuTemplate) -{ - if (XEUNICODE_P) - return LoadMenuIndirectW (lpMenuTemplate); - else - return LoadMenuIndirectA ((CONST MENUTEMPLATEA *) lpMenuTemplate); +qxeGetWindowText (HWND arg1, Extbyte * arg2, int arg3) +{ + if (XEUNICODE_P) + return GetWindowTextW (arg1, (LPWSTR) arg2, arg3); + else + return GetWindowTextA (arg1, (LPSTR) arg2, arg3); +} + +/* Error if GetAltTabInfo used: NT 5.0+ only */ + +/* Error if GetMonitorInfo used: NT 5.0/Win98+ only */ + +/* Error if GetWindowModuleFileName used: NT 5.0+ only */ + +BOOL +qxeGrayString (HDC arg1, HBRUSH arg2, GRAYSTRINGPROC arg3, LPARAM arg4, int arg5, int arg6, int arg7, int arg8, int arg9) +{ + if (XEUNICODE_P) + return GrayStringW (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + else + return GrayStringA (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); } BOOL -qxeChangeMenu (HMENU hMenu, UINT cmd, const Extbyte * lpszNewItem, UINT cmdInsert, UINT flags) -{ - if (XEUNICODE_P) - return ChangeMenuW (hMenu, cmd, (LPCWSTR) lpszNewItem, cmdInsert, flags); - else - return ChangeMenuA (hMenu, cmd, (LPCSTR) lpszNewItem, cmdInsert, flags); -} - -int -qxeGetMenuString (HMENU hMenu, UINT uIDItem, Extbyte * lpString, int nMaxCount, UINT uFlag) -{ - if (XEUNICODE_P) - return GetMenuStringW (hMenu, uIDItem, (LPWSTR) lpString, nMaxCount, uFlag); - else - return GetMenuStringA (hMenu, uIDItem, (LPSTR) lpString, nMaxCount, uFlag); -} - -BOOL -qxeInsertMenu (HMENU hMenu, UINT uPosition, UINT uFlags, UINT uIDNewItem, const Extbyte * lpNewItem) -{ - if (XEUNICODE_P) - return InsertMenuW (hMenu, uPosition, uFlags, uIDNewItem, (LPCWSTR) lpNewItem); - else - return InsertMenuA (hMenu, uPosition, uFlags, uIDNewItem, (LPCSTR) lpNewItem); -} - -BOOL -qxeAppendMenu (HMENU hMenu, UINT uFlags, UINT uIDNewItem, const Extbyte * lpNewItem) -{ - if (XEUNICODE_P) - return AppendMenuW (hMenu, uFlags, uIDNewItem, (LPCWSTR) lpNewItem); - else - return AppendMenuA (hMenu, uFlags, uIDNewItem, (LPCSTR) lpNewItem); -} - -BOOL -qxeModifyMenu (HMENU hMnu, UINT uPosition, UINT uFlags, UINT uIDNewItem, const Extbyte * lpNewItem) -{ - if (XEUNICODE_P) - return ModifyMenuW (hMnu, uPosition, uFlags, uIDNewItem, (LPCWSTR) lpNewItem); - else - return ModifyMenuA (hMnu, uPosition, uFlags, uIDNewItem, (LPCSTR) lpNewItem); +qxeInsertMenu (HMENU arg1, UINT arg2, UINT arg3, UINT arg4, const Extbyte * arg5) +{ + if (XEUNICODE_P) + return InsertMenuW (arg1, arg2, arg3, arg4, (LPCWSTR) arg5); + else + return InsertMenuA (arg1, arg2, arg3, arg4, (LPCSTR) arg5); } /* NOTE: NT 4.0+ only */ @@ -1104,14 +1321,316 @@ return InsertMenuItemA (arg1, arg2, arg3, (LPCMENUITEMINFOA) arg4); } +/* Error if IsCharAlphaNumeric used: split CHAR */ + +/* Error if IsCharAlpha used: split CHAR */ + +/* Error if IsCharLower used: split CHAR */ + +/* Error if IsCharUpper used: split CHAR */ + +BOOL +qxeIsDialogMessage (HWND arg1, LPMSG arg2) +{ + if (XEUNICODE_P) + return IsDialogMessageW (arg1, arg2); + else + return IsDialogMessageA (arg1, arg2); +} + +HACCEL +qxeLoadAccelerators (HINSTANCE arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return LoadAcceleratorsW (arg1, (LPCWSTR) arg2); + else + return LoadAcceleratorsA (arg1, (LPCSTR) arg2); +} + +HBITMAP +qxeLoadBitmap (HINSTANCE arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return LoadBitmapW (arg1, (LPCWSTR) arg2); + else + return LoadBitmapA (arg1, (LPCSTR) arg2); +} + +HCURSOR +qxeLoadCursorFromFile (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return LoadCursorFromFileW ((LPCWSTR) arg1); + else + return LoadCursorFromFileA ((LPCSTR) arg1); +} + +HCURSOR +qxeLoadCursor (HINSTANCE arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return LoadCursorW (arg1, (LPCWSTR) arg2); + else + return LoadCursorA (arg1, (LPCSTR) arg2); +} + +HICON +qxeLoadIcon (HINSTANCE arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return LoadIconW (arg1, (LPCWSTR) arg2); + else + return LoadIconA (arg1, (LPCSTR) arg2); +} + /* NOTE: NT 4.0+ only */ +HANDLE +qxeLoadImage (HINSTANCE arg1, const Extbyte * arg2, UINT arg3, int arg4, int arg5, UINT arg6) +{ + if (XEUNICODE_P) + return LoadImageW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5, arg6); + else + return LoadImageA (arg1, (LPCSTR) arg2, arg3, arg4, arg5, arg6); +} + +HKL +qxeLoadKeyboardLayout (const Extbyte * arg1, UINT arg2) +{ + if (XEUNICODE_P) + return LoadKeyboardLayoutW ((LPCWSTR) arg1, arg2); + else + return LoadKeyboardLayoutA ((LPCSTR) arg1, arg2); +} + +HMENU +qxeLoadMenuIndirect (const MENUTEMPLATE* arg1) +{ + if (XEUNICODE_P) + return LoadMenuIndirectW (arg1); + else + return LoadMenuIndirectA (arg1); +} + +HMENU +qxeLoadMenu (HINSTANCE arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return LoadMenuW (arg1, (LPCWSTR) arg2); + else + return LoadMenuA (arg1, (LPCSTR) arg2); +} + +int +qxeLoadString (HINSTANCE arg1, UINT arg2, Extbyte * arg3, int arg4) +{ + if (XEUNICODE_P) + return LoadStringW (arg1, arg2, (LPWSTR) arg3, arg4); + else + return LoadStringA (arg1, arg2, (LPSTR) arg3, arg4); +} + +/* NOTE: NT 4.0+ only */ +UINT +qxeMapVirtualKeyEx (UINT arg1, UINT arg2, HKL arg3) +{ + if (XEUNICODE_P) + return MapVirtualKeyExW (arg1, arg2, arg3); + else + return MapVirtualKeyExA (arg1, arg2, arg3); +} + +UINT +qxeMapVirtualKey (UINT arg1, UINT arg2) +{ + if (XEUNICODE_P) + return MapVirtualKeyW (arg1, arg2); + else + return MapVirtualKeyA (arg1, arg2); +} + +int +qxeMessageBox (HWND arg1, const Extbyte * arg2, const Extbyte * arg3, UINT arg4) +{ + if (XEUNICODE_P) + return MessageBoxW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, arg4); + else + return MessageBoxA (arg1, (LPCSTR) arg2, (LPCSTR) arg3, arg4); +} + +int +qxeMessageBoxEx (HWND arg1, const Extbyte * arg2, const Extbyte * arg3, UINT arg4, WORD arg5) +{ + if (XEUNICODE_P) + return MessageBoxExW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, arg4, arg5); + else + return MessageBoxExA (arg1, (LPCSTR) arg2, (LPCSTR) arg3, arg4, arg5); +} + +/* Error if MessageBoxIndirect used: Cygwin has split MSGBOXPARAMS* instead of LPMSGBOXPARAMS */ + BOOL -qxeGetMenuItemInfo (HMENU arg1, UINT arg2, BOOL arg3, LPMENUITEMINFOW arg4) -{ - if (XEUNICODE_P) - return GetMenuItemInfoW (arg1, arg2, arg3, arg4); - else - return GetMenuItemInfoA (arg1, arg2, arg3, (LPMENUITEMINFOA) arg4); +qxeModifyMenu (HMENU arg1, UINT arg2, UINT arg3, UINT arg4, const Extbyte * arg5) +{ + if (XEUNICODE_P) + return ModifyMenuW (arg1, arg2, arg3, arg4, (LPCWSTR) arg5); + else + return ModifyMenuA (arg1, arg2, arg3, arg4, (LPCSTR) arg5); +} + +BOOL +qxeOemToCharBuff (LPCSTR arg1, Extbyte * arg2, DWORD arg3) +{ + if (XEUNICODE_P) + return OemToCharBuffW (arg1, (LPWSTR) arg2, arg3); + else + return OemToCharBuffA (arg1, (LPSTR) arg2, arg3); +} + +BOOL +qxeOemToChar (LPCSTR arg1, Extbyte * arg2) +{ + if (XEUNICODE_P) + return OemToCharW (arg1, (LPWSTR) arg2); + else + return OemToCharA (arg1, (LPSTR) arg2); +} + +HDESK +qxeOpenDesktop (Extbyte * arg1, DWORD arg2, BOOL arg3, DWORD arg4) +{ + if (XEUNICODE_P) + return OpenDesktopW ((LPWSTR) arg1, arg2, arg3, arg4); + else + return OpenDesktopA ((LPSTR) arg1, arg2, arg3, arg4); +} + +HWINSTA +qxeOpenWindowStation (Extbyte * arg1, BOOL arg2, DWORD arg3) +{ + if (XEUNICODE_P) + return OpenWindowStationW ((LPWSTR) arg1, arg2, arg3); + else + return OpenWindowStationA ((LPSTR) arg1, arg2, arg3); +} + +BOOL +qxePeekMessage (LPMSG arg1, HWND arg2, UINT arg3, UINT arg4, UINT arg5) +{ + if (XEUNICODE_P) + return PeekMessageW (arg1, arg2, arg3, arg4, arg5); + else + return PeekMessageA (arg1, arg2, arg3, arg4, arg5); +} + +BOOL +qxePostMessage (HWND arg1, UINT arg2, WPARAM arg3, LPARAM arg4) +{ + if (XEUNICODE_P) + return PostMessageW (arg1, arg2, arg3, arg4); + else + return PostMessageA (arg1, arg2, arg3, arg4); +} + +BOOL +qxePostThreadMessage (DWORD arg1, UINT arg2, WPARAM arg3, LPARAM arg4) +{ + if (XEUNICODE_P) + return PostThreadMessageW (arg1, arg2, arg3, arg4); + else + return PostThreadMessageA (arg1, arg2, arg3, arg4); +} + +/* Error if RealGetWindowClass used: NT 5.0+ only */ + +/* Skipping RegisterClass because need to intercept so we can provide our own window procedure and handle split notify messages; split-simple WNDCLASS */ + +/* Skipping RegisterClassEx because need to intercept so we can provide our own window procedure and handle split notify messages; split-simple WNDCLASSEX; NT 4.0+ only */ + +UINT +qxeRegisterClipboardFormat (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return RegisterClipboardFormatW ((LPCWSTR) arg1); + else + return RegisterClipboardFormatA ((LPCSTR) arg1); +} + +/* Error if RegisterDeviceNotification used: NT 5.0+ only */ + +UINT +qxeRegisterWindowMessage (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return RegisterWindowMessageW ((LPCWSTR) arg1); + else + return RegisterWindowMessageA ((LPCSTR) arg1); +} + +HANDLE +qxeRemoveProp (HWND arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return RemovePropW (arg1, (LPCWSTR) arg2); + else + return RemovePropA (arg1, (LPCSTR) arg2); +} + +LONG +qxeSendDlgItemMessage (HWND arg1, int arg2, UINT arg3, WPARAM arg4, LPARAM arg5) +{ + if (XEUNICODE_P) + return SendDlgItemMessageW (arg1, arg2, arg3, arg4, arg5); + else + return SendDlgItemMessageA (arg1, arg2, arg3, arg4, arg5); +} + +BOOL +qxeSendMessageCallback (HWND arg1, UINT arg2, WPARAM arg3, LPARAM arg4, SENDASYNCPROC arg5, DWORD arg6) +{ + if (XEUNICODE_P) + return SendMessageCallbackW (arg1, arg2, arg3, arg4, arg5, arg6); + else + return SendMessageCallbackA (arg1, arg2, arg3, arg4, arg5, arg6); +} + +LRESULT +qxeSendMessageTimeout (HWND arg1, UINT arg2, WPARAM arg3, LPARAM arg4, UINT arg5, UINT arg6, PDWORD_PTR arg7) +{ + if (XEUNICODE_P) + return SendMessageTimeoutW (arg1, arg2, arg3, arg4, arg5, arg6, arg7); + else + return SendMessageTimeoutA (arg1, arg2, arg3, arg4, arg5, arg6, arg7); +} + +/* Skipping SendMessage because split messages and structures */ + +BOOL +qxeSendNotifyMessage (HWND arg1, UINT arg2, WPARAM arg3, LPARAM arg4) +{ + if (XEUNICODE_P) + return SendNotifyMessageW (arg1, arg2, arg3, arg4); + else + return SendNotifyMessageA (arg1, arg2, arg3, arg4); +} + +DWORD +qxeSetClassLong (HWND arg1, int arg2, LONG arg3) +{ + if (XEUNICODE_P) + return SetClassLongW (arg1, arg2, arg3); + else + return SetClassLongA (arg1, arg2, arg3); +} + +/* Error if SetClassLongPtr used: Function needs review to determine how to handle it */ + +BOOL +qxeSetDlgItemText (HWND arg1, int arg2, const Extbyte * arg3) +{ + if (XEUNICODE_P) + return SetDlgItemTextW (arg1, arg2, (LPCWSTR) arg3); + else + return SetDlgItemTextA (arg1, arg2, (LPCSTR) arg3); } /* NOTE: NT 4.0+ only */ @@ -1124,402 +1643,1047 @@ return SetMenuItemInfoA (arg1, arg2, arg3, (LPCMENUITEMINFOA) arg4); } -int -qxeDrawText (HDC hDC, const Extbyte * lpString, int nCount, LPRECT lpRect, UINT uFormat) -{ - if (XEUNICODE_P) - return DrawTextW (hDC, (LPCWSTR) lpString, nCount, lpRect, uFormat); - else - return DrawTextA (hDC, (LPCSTR) lpString, nCount, lpRect, uFormat); -} - -/* NOTE: NT 4.0+ only */ -int -qxeDrawTextEx (HDC arg1, Extbyte * arg2, int arg3, LPRECT arg4, UINT arg5, LPDRAWTEXTPARAMS arg6) -{ - if (XEUNICODE_P) - return DrawTextExW (arg1, (LPWSTR) arg2, arg3, arg4, arg5, arg6); - else - return DrawTextExA (arg1, (LPSTR) arg2, arg3, arg4, arg5, arg6); -} - BOOL -qxeGrayString (HDC hDC, HBRUSH hBrush, GRAYSTRINGPROC lpOutputFunc, LPARAM lpData, int nCount, int X, int Y, int nWidth, int nHeight) -{ - if (XEUNICODE_P) - return GrayStringW (hDC, hBrush, lpOutputFunc, lpData, nCount, X, Y, nWidth, nHeight); - else - return GrayStringA (hDC, hBrush, lpOutputFunc, lpData, nCount, X, Y, nWidth, nHeight); -} - -/* NOTE: NT 4.0+ only */ -BOOL -qxeDrawState (HDC arg1, HBRUSH arg2, DRAWSTATEPROC arg3, LPARAM arg4, WPARAM arg5, int arg6, int arg7, int arg8, int arg9, UINT arg10) -{ - if (XEUNICODE_P) - return DrawStateW (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); - else - return DrawStateA (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); -} - -LONG -qxeTabbedTextOut (HDC hDC, int X, int Y, const Extbyte * lpString, int nCount, int nTabPositions, LPINT lpnTabStopPositions, int nTabOrigin) -{ - if (XEUNICODE_P) - return TabbedTextOutW (hDC, X, Y, (LPCWSTR) lpString, nCount, nTabPositions, lpnTabStopPositions, nTabOrigin); - else - return TabbedTextOutA (hDC, X, Y, (LPCSTR) lpString, nCount, nTabPositions, lpnTabStopPositions, nTabOrigin); -} - -DWORD -qxeGetTabbedTextExtent (HDC hDC, const Extbyte * lpString, int nCount, int nTabPositions, LPINT lpnTabStopPositions) -{ - if (XEUNICODE_P) - return GetTabbedTextExtentW (hDC, (LPCWSTR) lpString, nCount, nTabPositions, lpnTabStopPositions); - else - return GetTabbedTextExtentA (hDC, (LPCSTR) lpString, nCount, nTabPositions, lpnTabStopPositions); -} - -BOOL -qxeSetProp (HWND hWnd, const Extbyte * lpString, HANDLE hData) -{ - if (XEUNICODE_P) - return SetPropW (hWnd, (LPCWSTR) lpString, hData); - else - return SetPropA (hWnd, (LPCSTR) lpString, hData); -} - -HANDLE -qxeGetProp (HWND hWnd, const Extbyte * lpString) -{ - if (XEUNICODE_P) - return GetPropW (hWnd, (LPCWSTR) lpString); - else - return GetPropA (hWnd, (LPCSTR) lpString); -} - -HANDLE -qxeRemoveProp (HWND hWnd, const Extbyte * lpString) -{ - if (XEUNICODE_P) - return RemovePropW (hWnd, (LPCWSTR) lpString); - else - return RemovePropA (hWnd, (LPCSTR) lpString); -} - -/* NOTE: // callback fun differs only in string pointer type */ -int -qxeEnumPropsEx (HWND hWnd, PROPENUMPROCEXW lpEnumFunc, LPARAM lParam) -{ - if (XEUNICODE_P) - return EnumPropsExW (hWnd, lpEnumFunc, lParam); - else - return EnumPropsExA (hWnd, (PROPENUMPROCEXA) lpEnumFunc, lParam); -} - -/* NOTE: // callback fun differs only in string pointer type */ -int -qxeEnumProps (HWND hWnd, PROPENUMPROCW lpEnumFunc) -{ - if (XEUNICODE_P) - return EnumPropsW (hWnd, lpEnumFunc); - else - return EnumPropsA (hWnd, (PROPENUMPROCA) lpEnumFunc); +qxeSetProp (HWND arg1, const Extbyte * arg2, HANDLE arg3) +{ + if (XEUNICODE_P) + return SetPropW (arg1, (LPCWSTR) arg2, arg3); + else + return SetPropA (arg1, (LPCSTR) arg2, arg3); } BOOL -qxeSetWindowText (HWND hWnd, const Extbyte * lpString) -{ - if (XEUNICODE_P) - return SetWindowTextW (hWnd, (LPCWSTR) lpString); - else - return SetWindowTextA (hWnd, (LPCSTR) lpString); -} - -int -qxeGetWindowText (HWND hWnd, Extbyte * lpString, int nMaxCount) -{ - if (XEUNICODE_P) - return GetWindowTextW (hWnd, (LPWSTR) lpString, nMaxCount); - else - return GetWindowTextA (hWnd, (LPSTR) lpString, nMaxCount); -} - -int -qxeGetWindowTextLength (HWND hWnd) -{ - if (XEUNICODE_P) - return GetWindowTextLengthW (hWnd); - else - return GetWindowTextLengthA (hWnd); -} - -int -qxeMessageBox (HWND hWnd, const Extbyte * lpText, const Extbyte * lpCaption, UINT uType) -{ - if (XEUNICODE_P) - return MessageBoxW (hWnd, (LPCWSTR) lpText, (LPCWSTR) lpCaption, uType); - else - return MessageBoxA (hWnd, (LPCSTR) lpText, (LPCSTR) lpCaption, uType); -} - -int -qxeMessageBoxEx (HWND hWnd, const Extbyte * lpText, const Extbyte * lpCaption, UINT uType, WORD wLanguageId) -{ - if (XEUNICODE_P) - return MessageBoxExW (hWnd, (LPCWSTR) lpText, (LPCWSTR) lpCaption, uType, wLanguageId); - else - return MessageBoxExA (hWnd, (LPCSTR) lpText, (LPCSTR) lpCaption, uType, wLanguageId); -} - -/* NOTE: NT 4.0+ only */ -int -qxeMessageBoxIndirect (LPMSGBOXPARAMSW arg1) -{ - if (XEUNICODE_P) - return MessageBoxIndirectW (arg1); - else - return MessageBoxIndirectA ((LPMSGBOXPARAMSA) arg1); +qxeSetUserObjectInformation (HANDLE arg1, int arg2, PVOID arg3, DWORD arg4) +{ + if (XEUNICODE_P) + return SetUserObjectInformationW (arg1, arg2, arg3, arg4); + else + return SetUserObjectInformationA (arg1, arg2, arg3, arg4); } LONG -qxeGetWindowLong (HWND hWnd, int nIndex) -{ - if (XEUNICODE_P) - return GetWindowLongW (hWnd, nIndex); - else - return GetWindowLongA (hWnd, nIndex); -} - -LONG -qxeSetWindowLong (HWND hWnd, int nIndex, LONG dwNewLong) -{ - if (XEUNICODE_P) - return SetWindowLongW (hWnd, nIndex, dwNewLong); - else - return SetWindowLongA (hWnd, nIndex, dwNewLong); -} - -DWORD -qxeGetClassLong (HWND hWnd, int nIndex) -{ - if (XEUNICODE_P) - return GetClassLongW (hWnd, nIndex); - else - return GetClassLongA (hWnd, nIndex); -} - -DWORD -qxeSetClassLong (HWND hWnd, int nIndex, LONG dwNewLong) -{ - if (XEUNICODE_P) - return SetClassLongW (hWnd, nIndex, dwNewLong); - else - return SetClassLongA (hWnd, nIndex, dwNewLong); -} - -HWND -qxeFindWindow (const Extbyte * lpClassName, const Extbyte * lpWindowName) -{ - if (XEUNICODE_P) - return FindWindowW ((LPCWSTR) lpClassName, (LPCWSTR) lpWindowName); - else - return FindWindowA ((LPCSTR) lpClassName, (LPCSTR) lpWindowName); -} - -/* NOTE: NT 4.0+ only */ -HWND -qxeFindWindowEx (HWND arg1, HWND arg2, const Extbyte * arg3, const Extbyte * arg4) -{ - if (XEUNICODE_P) - return FindWindowExW (arg1, arg2, (LPCWSTR) arg3, (LPCWSTR) arg4); - else - return FindWindowExA (arg1, arg2, (LPCSTR) arg3, (LPCSTR) arg4); -} - -int -qxeGetClassName (HWND hWnd, Extbyte * lpClassName, int nMaxCount) -{ - if (XEUNICODE_P) - return GetClassNameW (hWnd, (LPWSTR) lpClassName, nMaxCount); - else - return GetClassNameA (hWnd, (LPSTR) lpClassName, nMaxCount); -} - -/* Error if SetWindowsHook used: obsolete; two versions, STRICT and non-STRICT */ +qxeSetWindowLong (HWND arg1, int arg2, LONG arg3) +{ + if (XEUNICODE_P) + return SetWindowLongW (arg1, arg2, arg3); + else + return SetWindowLongA (arg1, arg2, arg3); +} + +/* Error if SetWindowLongPtr used: Function needs review to determine how to handle it */ /* Error if SetWindowsHook used: obsolete; two versions, STRICT and non-STRICT */ HHOOK -qxeSetWindowsHookEx (int idHook, HOOKPROC lpfn, HINSTANCE hmod, DWORD dwThreadId) -{ - if (XEUNICODE_P) - return SetWindowsHookExW (idHook, lpfn, hmod, dwThreadId); - else - return SetWindowsHookExA (idHook, lpfn, hmod, dwThreadId); -} - -HBITMAP -qxeLoadBitmap (HINSTANCE hInstance, const Extbyte * lpBitmapName) -{ - if (XEUNICODE_P) - return LoadBitmapW (hInstance, (LPCWSTR) lpBitmapName); - else - return LoadBitmapA (hInstance, (LPCSTR) lpBitmapName); -} - -HCURSOR -qxeLoadCursor (HINSTANCE hInstance, const Extbyte * lpCursorName) -{ - if (XEUNICODE_P) - return LoadCursorW (hInstance, (LPCWSTR) lpCursorName); - else - return LoadCursorA (hInstance, (LPCSTR) lpCursorName); -} - -HCURSOR -qxeLoadCursorFromFile (const Extbyte * lpFileName) -{ - if (XEUNICODE_P) - return LoadCursorFromFileW ((LPCWSTR) lpFileName); - else - return LoadCursorFromFileA ((LPCSTR) lpFileName); -} - -HICON -qxeLoadIcon (HINSTANCE hInstance, const Extbyte * lpIconName) -{ - if (XEUNICODE_P) - return LoadIconW (hInstance, (LPCWSTR) lpIconName); - else - return LoadIconA (hInstance, (LPCSTR) lpIconName); -} - -/* NOTE: NT 4.0+ only */ -HANDLE -qxeLoadImage (HINSTANCE arg1, const Extbyte * arg2, UINT arg3, int arg4, int arg5, UINT arg6) -{ - if (XEUNICODE_P) - return LoadImageW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5, arg6); - else - return LoadImageA (arg1, (LPCSTR) arg2, arg3, arg4, arg5, arg6); +qxeSetWindowsHookEx (int arg1, HOOKPROC arg2, HINSTANCE arg3, DWORD arg4) +{ + if (XEUNICODE_P) + return SetWindowsHookExW (arg1, arg2, arg3, arg4); + else + return SetWindowsHookExA (arg1, arg2, arg3, arg4); +} + +BOOL +qxeSetWindowText (HWND arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return SetWindowTextW (arg1, (LPCWSTR) arg2); + else + return SetWindowTextA (arg1, (LPCSTR) arg2); +} + +/* NOTE: probs w/ICONMETRICS, NONCLIENTMETRICS */ +BOOL +qxeSystemParametersInfo (UINT arg1, UINT arg2, PVOID arg3, UINT arg4) +{ + if (XEUNICODE_P) + return SystemParametersInfoW (arg1, arg2, arg3, arg4); + else + return SystemParametersInfoA (arg1, arg2, arg3, arg4); +} + +LONG +qxeTabbedTextOut (HDC arg1, int arg2, int arg3, const Extbyte * arg4, int arg5, int arg6, LPINT arg7, int arg8) +{ + if (XEUNICODE_P) + return TabbedTextOutW (arg1, arg2, arg3, (LPCWSTR) arg4, arg5, arg6, arg7, arg8); + else + return TabbedTextOutA (arg1, arg2, arg3, (LPCSTR) arg4, arg5, arg6, arg7, arg8); } int -qxeLoadString (HINSTANCE hInstance, UINT uID, Extbyte * lpBuffer, int nBufferMax) -{ - if (XEUNICODE_P) - return LoadStringW (hInstance, uID, (LPWSTR) lpBuffer, nBufferMax); - else - return LoadStringA (hInstance, uID, (LPSTR) lpBuffer, nBufferMax); -} +qxeTranslateAccelerator (HWND arg1, HACCEL arg2, LPMSG arg3) +{ + if (XEUNICODE_P) + return TranslateAcceleratorW (arg1, arg2, arg3); + else + return TranslateAcceleratorA (arg1, arg2, arg3); +} + +/* Skipping UnregisterClass because need to intercept for reasons related to RegisterClass */ + +/* Error if VkKeyScanEx used: split CHAR; NT 4.0+ only */ + +/* Skipping VkKeyScan because split CHAR */ BOOL -qxeIsDialogMessage (HWND hDlg, LPMSG lpMsg) -{ - if (XEUNICODE_P) - return IsDialogMessageW (hDlg, lpMsg); - else - return IsDialogMessageA (hDlg, lpMsg); +qxeWinHelp (HWND arg1, const Extbyte * arg2, UINT arg3, DWORD arg4) +{ + if (XEUNICODE_P) + return WinHelpW (arg1, (LPCWSTR) arg2, arg3, arg4); + else + return WinHelpA (arg1, (LPCSTR) arg2, arg3, arg4); } int -qxeDlgDirList (HWND hDlg, Extbyte * lpPathSpec, int nIDListBox, int nIDStaticPath, UINT uFileType) -{ - if (XEUNICODE_P) - return DlgDirListW (hDlg, (LPWSTR) lpPathSpec, nIDListBox, nIDStaticPath, uFileType); - else - return DlgDirListA (hDlg, (LPSTR) lpPathSpec, nIDListBox, nIDStaticPath, uFileType); +qxewvsprintf (Extbyte * arg1, const Extbyte * arg2, va_list arglist) +{ + if (XEUNICODE_P) + return wvsprintfW ((LPWSTR) arg1, (LPCWSTR) arg2, arglist); + else + return wvsprintfA ((LPSTR) arg1, (LPCSTR) arg2, arglist); +} + + +/*----------------------------------------------------------------------*/ +/* Processing file DDEML.H */ +/*----------------------------------------------------------------------*/ + +/* Skipping DdeCreateStringHandle because error in Cygwin prototype */ + +UINT +qxeDdeInitialize (PDWORD arg1, PFNCALLBACK arg2, DWORD arg3, DWORD arg4) +{ + if (XEUNICODE_P) + return DdeInitializeW (arg1, arg2, arg3, arg4); + else + return DdeInitializeA (arg1, arg2, arg3, arg4); +} + +DWORD +qxeDdeQueryString (DWORD arg1, HSZ arg2, Extbyte * arg3, DWORD arg4, int arg5) +{ + if (XEUNICODE_P) + return DdeQueryStringW (arg1, arg2, (LPWSTR) arg3, arg4, arg5); + else + return DdeQueryStringA (arg1, arg2, (LPSTR) arg3, arg4, arg5); +} + + +/*----------------------------------------------------------------------*/ +/* Processing file WINREG.H */ +/*----------------------------------------------------------------------*/ + +BOOL +qxeAbortSystemShutdown (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return AbortSystemShutdownW ((LPCWSTR) arg1); + else + return AbortSystemShutdownA ((LPCSTR) arg1); } BOOL -qxeDlgDirSelectEx (HWND hDlg, Extbyte * lpString, int nCount, int nIDListBox) -{ - if (XEUNICODE_P) - return DlgDirSelectExW (hDlg, (LPWSTR) lpString, nCount, nIDListBox); - else - return DlgDirSelectExA (hDlg, (LPSTR) lpString, nCount, nIDListBox); -} +qxeInitiateSystemShutdown (Extbyte * arg1, Extbyte * arg2, DWORD arg3, BOOL arg4, BOOL arg5) +{ + if (XEUNICODE_P) + return InitiateSystemShutdownW ((LPWSTR) arg1, (LPWSTR) arg2, arg3, arg4, arg5); + else + return InitiateSystemShutdownA ((LPSTR) arg1, (LPSTR) arg2, arg3, arg4, arg5); +} + +/* Skipping RegConnectRegistry because error in Cygwin prototype */ + +LONG +qxeRegCreateKeyEx (HKEY arg1, const Extbyte * arg2, DWORD arg3, Extbyte * arg4, DWORD arg5, REGSAM arg6, LPSECURITY_ATTRIBUTES arg7, PHKEY arg8, PDWORD arg9) +{ + if (XEUNICODE_P) + return RegCreateKeyExW (arg1, (LPCWSTR) arg2, arg3, (LPWSTR) arg4, arg5, arg6, arg7, arg8, arg9); + else + return RegCreateKeyExA (arg1, (LPCSTR) arg2, arg3, (LPSTR) arg4, arg5, arg6, arg7, arg8, arg9); +} + +LONG +qxeRegCreateKey (HKEY arg1, const Extbyte * arg2, PHKEY arg3) +{ + if (XEUNICODE_P) + return RegCreateKeyW (arg1, (LPCWSTR) arg2, arg3); + else + return RegCreateKeyA (arg1, (LPCSTR) arg2, arg3); +} + +LONG +qxeRegDeleteKey (HKEY arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return RegDeleteKeyW (arg1, (LPCWSTR) arg2); + else + return RegDeleteKeyA (arg1, (LPCSTR) arg2); +} + +/* Error if RegDeleteKeyEx used: Function needs review to determine how to handle it */ + +LONG +qxeRegDeleteValue (HKEY arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return RegDeleteValueW (arg1, (LPCWSTR) arg2); + else + return RegDeleteValueA (arg1, (LPCSTR) arg2); +} + +LONG +qxeRegEnumKey (HKEY arg1, DWORD arg2, Extbyte * arg3, DWORD arg4) +{ + if (XEUNICODE_P) + return RegEnumKeyW (arg1, arg2, (LPWSTR) arg3, arg4); + else + return RegEnumKeyA (arg1, arg2, (LPSTR) arg3, arg4); +} + +LONG +qxeRegEnumKeyEx (HKEY arg1, DWORD arg2, Extbyte * arg3, PDWORD arg4, PDWORD arg5, Extbyte * arg6, PDWORD arg7, PFILETIME arg8) +{ + if (XEUNICODE_P) + return RegEnumKeyExW (arg1, arg2, (LPWSTR) arg3, arg4, arg5, (LPWSTR) arg6, arg7, arg8); + else + return RegEnumKeyExA (arg1, arg2, (LPSTR) arg3, arg4, arg5, (LPSTR) arg6, arg7, arg8); +} + +LONG +qxeRegEnumValue (HKEY arg1, DWORD arg2, Extbyte * arg3, PDWORD arg4, PDWORD arg5, PDWORD arg6, LPBYTE arg7, PDWORD arg8) +{ + if (XEUNICODE_P) + return RegEnumValueW (arg1, arg2, (LPWSTR) arg3, arg4, arg5, arg6, arg7, arg8); + else + return RegEnumValueA (arg1, arg2, (LPSTR) arg3, arg4, arg5, arg6, arg7, arg8); +} + +LONG +qxeRegLoadKey (HKEY arg1, const Extbyte * arg2, const Extbyte * arg3) +{ + if (XEUNICODE_P) + return RegLoadKeyW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3); + else + return RegLoadKeyA (arg1, (LPCSTR) arg2, (LPCSTR) arg3); +} + +LONG +qxeRegOpenKeyEx (HKEY arg1, const Extbyte * arg2, DWORD arg3, REGSAM arg4, PHKEY arg5) +{ + if (XEUNICODE_P) + return RegOpenKeyExW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5); + else + return RegOpenKeyExA (arg1, (LPCSTR) arg2, arg3, arg4, arg5); +} + +LONG +qxeRegOpenKey (HKEY arg1, const Extbyte * arg2, PHKEY arg3) +{ + if (XEUNICODE_P) + return RegOpenKeyW (arg1, (LPCWSTR) arg2, arg3); + else + return RegOpenKeyA (arg1, (LPCSTR) arg2, arg3); +} + +LONG +qxeRegQueryInfoKey (HKEY arg1, Extbyte * arg2, PDWORD arg3, PDWORD arg4, PDWORD arg5, PDWORD arg6, PDWORD arg7, PDWORD arg8, PDWORD arg9, PDWORD arg10, PDWORD arg11, PFILETIME arg12) +{ + if (XEUNICODE_P) + return RegQueryInfoKeyW (arg1, (LPWSTR) arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); + else + return RegQueryInfoKeyA (arg1, (LPSTR) arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); +} + +LONG +qxeRegQueryMultipleValues (HKEY arg1, PVALENTW arg2, DWORD arg3, Extbyte * arg4, LPDWORD arg5) +{ + if (XEUNICODE_P) + return RegQueryMultipleValuesW (arg1, arg2, arg3, (LPWSTR) arg4, arg5); + else + return RegQueryMultipleValuesA (arg1, (PVALENTA) arg2, arg3, (LPSTR) arg4, arg5); +} + +LONG +qxeRegQueryValueEx (HKEY arg1, const Extbyte * arg2, LPDWORD arg3, LPDWORD arg4, LPBYTE arg5, LPDWORD arg6) +{ + if (XEUNICODE_P) + return RegQueryValueExW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5, arg6); + else + return RegQueryValueExA (arg1, (LPCSTR) arg2, arg3, arg4, arg5, arg6); +} + +LONG +qxeRegQueryValue (HKEY arg1, const Extbyte * arg2, Extbyte * arg3, PLONG arg4) +{ + if (XEUNICODE_P) + return RegQueryValueW (arg1, (LPCWSTR) arg2, (LPWSTR) arg3, arg4); + else + return RegQueryValueA (arg1, (LPCSTR) arg2, (LPSTR) arg3, arg4); +} + +LONG +qxeRegReplaceKey (HKEY arg1, const Extbyte * arg2, const Extbyte * arg3, const Extbyte * arg4) +{ + if (XEUNICODE_P) + return RegReplaceKeyW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, (LPCWSTR) arg4); + else + return RegReplaceKeyA (arg1, (LPCSTR) arg2, (LPCSTR) arg3, (LPCSTR) arg4); +} + +LONG +qxeRegRestoreKey (HKEY arg1, const Extbyte * arg2, DWORD arg3) +{ + if (XEUNICODE_P) + return RegRestoreKeyW (arg1, (LPCWSTR) arg2, arg3); + else + return RegRestoreKeyA (arg1, (LPCSTR) arg2, arg3); +} + +LONG +qxeRegSaveKey (HKEY arg1, const Extbyte * arg2, LPSECURITY_ATTRIBUTES arg3) +{ + if (XEUNICODE_P) + return RegSaveKeyW (arg1, (LPCWSTR) arg2, arg3); + else + return RegSaveKeyA (arg1, (LPCSTR) arg2, arg3); +} + +LONG +qxeRegSetValueEx (HKEY arg1, const Extbyte * arg2, DWORD arg3, DWORD arg4, const BYTE* arg5, DWORD arg6) +{ + if (XEUNICODE_P) + return RegSetValueExW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5, arg6); + else + return RegSetValueExA (arg1, (LPCSTR) arg2, arg3, arg4, arg5, arg6); +} + +LONG +qxeRegSetValue (HKEY arg1, const Extbyte * arg2, DWORD arg3, const Extbyte * arg4, DWORD arg5) +{ + if (XEUNICODE_P) + return RegSetValueW (arg1, (LPCWSTR) arg2, arg3, (LPCWSTR) arg4, arg5); + else + return RegSetValueA (arg1, (LPCSTR) arg2, arg3, (LPCSTR) arg4, arg5); +} + +LONG +qxeRegUnLoadKey (HKEY arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return RegUnLoadKeyW (arg1, (LPCWSTR) arg2); + else + return RegUnLoadKeyA (arg1, (LPCSTR) arg2); +} + + +/*----------------------------------------------------------------------*/ +/* Processing file WINNLS.H */ +/*----------------------------------------------------------------------*/ + +/* Error if CompareString used: not used, not examined yet */ + +/* Error if EnumCalendarInfo used: not used, not examined yet */ + +/* Error if EnumDateFormats used: not used, not examined yet */ + +/* Error if EnumSystemCodePages used: not used, not examined yet */ + +/* Error if EnumSystemLocales used: not used, not examined yet */ + +/* Error if EnumTimeFormats used: not used, not examined yet */ + +/* Error if FoldString used: not used, not examined yet */ + +/* Error if GetCalendarInfo used: Function needs review to determine how to handle it */ + +/* Error if GetCPInfoEx used: not used, not examined yet */ + +/* Error if GetCurrencyFormat used: not used, not examined yet */ + +/* Error if GetDateFormat used: not used, not examined yet */ + +/* Error if GetGeoInfo used: Function needs review to determine how to handle it */ int -qxeDlgDirListComboBox (HWND hDlg, Extbyte * lpPathSpec, int nIDComboBox, int nIDStaticPath, UINT uFiletype) -{ - if (XEUNICODE_P) - return DlgDirListComboBoxW (hDlg, (LPWSTR) lpPathSpec, nIDComboBox, nIDStaticPath, uFiletype); - else - return DlgDirListComboBoxA (hDlg, (LPSTR) lpPathSpec, nIDComboBox, nIDStaticPath, uFiletype); -} +qxeGetLocaleInfo (LCID arg1, LCTYPE arg2, Extbyte * arg3, int arg4) +{ + if (XEUNICODE_P) + return GetLocaleInfoW (arg1, arg2, (LPWSTR) arg3, arg4); + else + return GetLocaleInfoA (arg1, arg2, (LPSTR) arg3, arg4); +} + +/* Error if GetNumberFormat used: not used, not examined yet */ + +/* Error if GetStringType used: no such fun; A and W versions have different nos. of args */ + +/* Error if GetStringTypeEx used: not used, not examined yet */ + +/* Error if GetTimeFormat used: not used, not examined yet */ + +/* Error if LCMapString used: not used, not examined yet */ + +/* Error if SetCalendarInfo used: Function needs review to determine how to handle it */ BOOL -qxeDlgDirSelectComboBoxEx (HWND hDlg, Extbyte * lpString, int nCount, int nIDComboBox) -{ - if (XEUNICODE_P) - return DlgDirSelectComboBoxExW (hDlg, (LPWSTR) lpString, nCount, nIDComboBox); - else - return DlgDirSelectComboBoxExA (hDlg, (LPSTR) lpString, nCount, nIDComboBox); -} - -LRESULT -qxeDefFrameProc (HWND hWnd, HWND hWndMDIClient, UINT uMsg, WPARAM wParam, LPARAM lParam) -{ - if (XEUNICODE_P) - return DefFrameProcW (hWnd, hWndMDIClient, uMsg, wParam, lParam); - else - return DefFrameProcA (hWnd, hWndMDIClient, uMsg, wParam, lParam); -} - -/* Error if DefMDIChildProc used: return value is conditionalized on _MAC, messes up parser */ - -HWND -qxeCreateMDIWindow (Extbyte * lpClassName, Extbyte * lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight, HWND hWndParent, HINSTANCE hInstance, LPARAM lParam) -{ - if (XEUNICODE_P) - return CreateMDIWindowW ((LPWSTR) lpClassName, (LPWSTR) lpWindowName, dwStyle, X, Y, nWidth, nHeight, hWndParent, hInstance, lParam); - else - return CreateMDIWindowA ((LPSTR) lpClassName, (LPSTR) lpWindowName, dwStyle, X, Y, nWidth, nHeight, hWndParent, hInstance, lParam); -} - -BOOL -qxeWinHelp (HWND hWndMain, const Extbyte * lpszHelp, UINT uCommand, DWORD dwData) -{ - if (XEUNICODE_P) - return WinHelpW (hWndMain, (LPCWSTR) lpszHelp, uCommand, dwData); - else - return WinHelpA (hWndMain, (LPCSTR) lpszHelp, uCommand, dwData); -} - -/* Error if ChangeDisplaySettings used: split-sized LPDEVMODE */ - -/* Error if ChangeDisplaySettingsEx used: split-sized LPDEVMODE; NT 5.0/Win98+ only */ - -/* Error if EnumDisplaySettings used: split-sized LPDEVMODE */ - -/* Error if EnumDisplayDevices used: split-sized PDISPLAY_DEVICE; NT 5.0+ only, no Win98 */ - -/* NOTE: probs w/ICONMETRICS, NONCLIENTMETRICS */ -BOOL -qxeSystemParametersInfo (UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni) -{ - if (XEUNICODE_P) - return SystemParametersInfoW (uiAction, uiParam, pvParam, fWinIni); - else - return SystemParametersInfoA (uiAction, uiParam, pvParam, fWinIni); -} - -/* Error if GetMonitorInfo used: NT 5.0/Win98+ only */ - -/* Error if GetWindowModuleFileName used: NT 5.0+ only */ - -/* Error if RealGetWindowClass used: NT 5.0+ only */ - -/* Error if GetAltTabInfo used: NT 5.0+ only */ +qxeSetLocaleInfo (LCID arg1, LCTYPE arg2, const Extbyte * arg3) +{ + if (XEUNICODE_P) + return SetLocaleInfoW (arg1, arg2, (LPCWSTR) arg3); + else + return SetLocaleInfoA (arg1, arg2, (LPCSTR) arg3); +} + +/* Error if EnumCalendarInfoEx used: not used, not examined yet */ + +/* Error if EnumDateFormatsEx used: not used, not examined yet */ + +/* Error if EnumSystemLanguageGroups used: Function needs review to determine how to handle it */ + +/* Error if EnumLanguageGroupLocales used: Function needs review to determine how to handle it */ + +/* Error if EnumUILanguages used: Function needs review to determine how to handle it */ /*----------------------------------------------------------------------*/ -/* Processing file IME.H */ +/* Processing file WINGDI.H */ /*----------------------------------------------------------------------*/ -/* Error if SendIMEMessageEx used: obsolete, no docs available */ +#if defined (HAVE_MS_WINDOWS) + +int +qxeAddFontResource (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return AddFontResourceW ((LPCWSTR) arg1); + else + return AddFontResourceA ((LPCSTR) arg1); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if AddFontResourceEx used: NT 5.0+ only */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +HENHMETAFILE +qxeCopyEnhMetaFile (HENHMETAFILE arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return CopyEnhMetaFileW (arg1, (LPCWSTR) arg2); + else + return CopyEnhMetaFileA (arg1, (LPCSTR) arg2); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +HMETAFILE +qxeCopyMetaFile (HMETAFILE arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return CopyMetaFileW (arg1, (LPCWSTR) arg2); + else + return CopyMetaFileA (arg1, (LPCSTR) arg2); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if CreateColorSpace used: split-sized LPLOGCOLORSPACE; NT 4.0+ only */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Skipping CreateDC because split-sized DEVMODE */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +HDC +qxeCreateEnhMetaFile (HDC arg1, const Extbyte * arg2, LPCRECT arg3, const Extbyte * arg4) +{ + if (XEUNICODE_P) + return CreateEnhMetaFileW (arg1, (LPCWSTR) arg2, arg3, (LPCWSTR) arg4); + else + return CreateEnhMetaFileA (arg1, (LPCSTR) arg2, arg3, (LPCSTR) arg4); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +HFONT +qxeCreateFont (int arg1, int arg2, int arg3, int arg4, int arg5, DWORD arg6, DWORD arg7, DWORD arg8, DWORD arg9, DWORD arg10, DWORD arg11, DWORD arg12, DWORD arg13, const Extbyte * arg14) +{ + if (XEUNICODE_P) + return CreateFontW (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, (LPCWSTR) arg14); + else + return CreateFontA (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, (LPCSTR) arg14); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Skipping CreateFontIndirect because split-sized LOGFONT */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Skipping CreateIC because split-sized DEVMODE */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +HDC +qxeCreateMetaFile (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return CreateMetaFileW ((LPCWSTR) arg1); + else + return CreateMetaFileA ((LPCSTR) arg1); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +BOOL +qxeCreateScalableFontResource (DWORD arg1, const Extbyte * arg2, const Extbyte * arg3, const Extbyte * arg4) +{ + if (XEUNICODE_P) + return CreateScalableFontResourceW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, (LPCWSTR) arg4); + else + return CreateScalableFontResourceA (arg1, (LPCSTR) arg2, (LPCSTR) arg3, (LPCSTR) arg4); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Skipping DeviceCapabilities because split-sized DEVMODE */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if EnumFontFamilies used: split-complex FONTENUMPROC */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Skipping EnumFontFamiliesEx because split-complex FONTENUMPROC; NT 4.0+ only */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if EnumFonts used: split-complex FONTENUMPROC */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* NOTE: NT 4.0+ only */ +int +qxeEnumICMProfiles (HDC arg1, ICMENUMPROCW arg2, LPARAM arg3) +{ + if (XEUNICODE_P) + return EnumICMProfilesW (arg1, arg2, arg3); + else + return EnumICMProfilesA (arg1, (ICMENUMPROCA) arg2, arg3); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +BOOL +qxeExtTextOut (HDC arg1, int arg2, int arg3, UINT arg4, LPCRECT arg5, const Extbyte * arg6, UINT arg7, const INT* arg8) +{ + if (XEUNICODE_P) + return ExtTextOutW (arg1, arg2, arg3, arg4, arg5, (LPCWSTR) arg6, arg7, arg8); + else + return ExtTextOutA (arg1, arg2, arg3, arg4, arg5, (LPCSTR) arg6, arg7, arg8); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +BOOL +qxeGetCharABCWidths (HDC arg1, UINT arg2, UINT arg3, LPABC arg4) +{ + if (XEUNICODE_P) + return GetCharABCWidthsW (arg1, arg2, arg3, arg4); + else + return GetCharABCWidthsA (arg1, arg2, arg3, arg4); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +BOOL +qxeGetCharABCWidthsFloat (HDC arg1, UINT arg2, UINT arg3, LPABCFLOAT arg4) +{ + if (XEUNICODE_P) + return GetCharABCWidthsFloatW (arg1, arg2, arg3, arg4); + else + return GetCharABCWidthsFloatA (arg1, arg2, arg3, arg4); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* NOTE: NT 4.0+ only */ +DWORD +qxeGetCharacterPlacement (HDC arg1, const Extbyte * arg2, int arg3, int arg4, LPGCP_RESULTSW arg5, DWORD arg6) +{ + if (XEUNICODE_P) + return GetCharacterPlacementW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5, arg6); + else + return GetCharacterPlacementA (arg1, (LPCSTR) arg2, arg3, arg4, (LPGCP_RESULTSA) arg5, arg6); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +BOOL +qxeGetCharWidth32 (HDC arg1, UINT arg2, UINT arg3, LPINT arg4) +{ + if (XEUNICODE_P) + return GetCharWidth32W (arg1, arg2, arg3, arg4); + else + return GetCharWidth32A (arg1, arg2, arg3, arg4); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +BOOL +qxeGetCharWidth (HDC arg1, UINT arg2, UINT arg3, LPINT arg4) +{ + if (XEUNICODE_P) + return GetCharWidthW (arg1, arg2, arg3, arg4); + else + return GetCharWidthA (arg1, arg2, arg3, arg4); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +BOOL +qxeGetCharWidthFloat (HDC arg1, UINT arg2, UINT arg3, PFLOAT arg4) +{ + if (XEUNICODE_P) + return GetCharWidthFloatW (arg1, arg2, arg3, arg4); + else + return GetCharWidthFloatA (arg1, arg2, arg3, arg4); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +HENHMETAFILE +qxeGetEnhMetaFile (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return GetEnhMetaFileW ((LPCWSTR) arg1); + else + return GetEnhMetaFileA ((LPCSTR) arg1); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +UINT +qxeGetEnhMetaFileDescription (HENHMETAFILE arg1, UINT arg2, Extbyte * arg3) +{ + if (XEUNICODE_P) + return GetEnhMetaFileDescriptionW (arg1, arg2, (LPWSTR) arg3); + else + return GetEnhMetaFileDescriptionA (arg1, arg2, (LPSTR) arg3); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +DWORD +qxeGetGlyphOutline (HDC arg1, UINT arg2, UINT arg3, LPGLYPHMETRICS arg4, DWORD arg5, PVOID arg6, const MAT2* arg7) +{ + if (XEUNICODE_P) + return GetGlyphOutlineW (arg1, arg2, arg3, arg4, arg5, arg6, arg7); + else + return GetGlyphOutlineA (arg1, arg2, arg3, arg4, arg5, arg6, arg7); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Skipping GetICMProfile because NT 4.0+ only, error in Cygwin prototype */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +DWORD +qxeGetKerningPairs (HDC arg1, DWORD arg2, LPKERNINGPAIR arg3) +{ + if (XEUNICODE_P) + return GetKerningPairsW (arg1, arg2, arg3); + else + return GetKerningPairsA (arg1, arg2, arg3); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if GetLogColorSpace used: split-sized LPLOGCOLORSPACE; NT 4.0+ only */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +HMETAFILE +qxeGetMetaFile (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return GetMetaFileW ((LPCWSTR) arg1); + else + return GetMetaFileA ((LPCSTR) arg1); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Skipping GetObject because split-sized LOGFONT */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if GetOutlineTextMetrics used: split-sized LPOUTLINETEXTMETRIC */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +BOOL +qxeGetTextExtentExPoint (HDC arg1, const Extbyte * arg2, int arg3, int arg4, LPINT arg5, LPINT arg6, LPSIZE arg7) +{ + if (XEUNICODE_P) + return GetTextExtentExPointW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5, arg6, arg7); + else + return GetTextExtentExPointA (arg1, (LPCSTR) arg2, arg3, arg4, arg5, arg6, arg7); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +BOOL +qxeGetTextExtentPoint (HDC arg1, const Extbyte * arg2, int arg3, LPSIZE arg4) +{ + if (XEUNICODE_P) + return GetTextExtentPointW (arg1, (LPCWSTR) arg2, arg3, arg4); + else + return GetTextExtentPointA (arg1, (LPCSTR) arg2, arg3, arg4); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +BOOL +qxeGetTextExtentPoint32 (HDC arg1, const Extbyte * arg2, int arg3, LPSIZE arg4) +{ + if (XEUNICODE_P) + return GetTextExtentPoint32W (arg1, (LPCWSTR) arg2, arg3, arg4); + else + return GetTextExtentPoint32A (arg1, (LPCSTR) arg2, arg3, arg4); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +int +qxeGetTextFace (HDC arg1, int arg2, Extbyte * arg3) +{ + if (XEUNICODE_P) + return GetTextFaceW (arg1, arg2, (LPWSTR) arg3); + else + return GetTextFaceA (arg1, arg2, (LPSTR) arg3); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Skipping GetTextMetrics because split-sized LPTEXTMETRIC */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +BOOL +qxePolyTextOut (HDC arg1, const POLYTEXTW* arg2, int arg3) +{ + if (XEUNICODE_P) + return PolyTextOutW (arg1, arg2, arg3); + else + return PolyTextOutA (arg1, (const POLYTEXTA*) arg2, arg3); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +BOOL +qxeRemoveFontResource (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return RemoveFontResourceW ((LPCWSTR) arg1); + else + return RemoveFontResourceA ((LPCSTR) arg1); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if RemoveFontResourceEx used: NT 5.0+ only */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Skipping ResetDC because split-sized DEVMODE */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* NOTE: NT 4.0+ only */ +BOOL +qxeSetICMProfile (HDC arg1, Extbyte * arg2) +{ + if (XEUNICODE_P) + return SetICMProfileW (arg1, (LPWSTR) arg2); + else + return SetICMProfileA (arg1, (LPSTR) arg2); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +int +qxeStartDoc (HDC arg1, const DOCINFOW* arg2) +{ + if (XEUNICODE_P) + return StartDocW (arg1, arg2); + else + return StartDocA (arg1, (const DOCINFOA*) arg2); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +BOOL +qxeTextOut (HDC arg1, int arg2, int arg3, const Extbyte * arg4, int arg5) +{ + if (XEUNICODE_P) + return TextOutW (arg1, arg2, arg3, (LPCWSTR) arg4, arg5); + else + return TextOutA (arg1, arg2, arg3, (LPCSTR) arg4, arg5); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Skipping UpdateICMRegKey because NT 4.0+ only, error in Cygwin prototype */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if wglUseFontBitmaps used: causes link error */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if wglUseFontOutlines used: causes link error */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if GetGlyphIndices used: NT 5.0+ only */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + + +/*----------------------------------------------------------------------*/ +/* Processing file SHLOBJ.H */ +/*----------------------------------------------------------------------*/ + +/* Skipping SHBrowseForFolder because need to intercept callback for SendMessage */ + +/* Skipping SHGetDataFromIDList because split-sized WIN32_FIND_DATA or split-simple NETRESOURCE, missing from Cygwin libraries */ + +BOOL +qxeSHGetPathFromIDList (LPCITEMIDLIST arg1, Extbyte * arg2) +{ + if (XEUNICODE_P) + return SHGetPathFromIDListW (arg1, (LPWSTR) arg2); + else + return SHGetPathFromIDListA (arg1, (LPSTR) arg2); +} + +/* Skipping SHGetSpecialFolderPath because error in Cygwin prototype, missing from Cygwin libraries */ + +/* Error if SHGetFolderPath used: Function needs review to determine how to handle it */ + +/* Error if SHGetIconOverlayIndex used: Function needs review to determine how to handle it */ + +/* Error if SHCreateDirectoryEx used: Function needs review to determine how to handle it */ + +/* Error if SHGetFolderPathAndSubDir used: Function needs review to determine how to handle it */ + + +/*----------------------------------------------------------------------*/ +/* Processing file COMMDLG.H */ +/*----------------------------------------------------------------------*/ + +#if defined (HAVE_MS_WINDOWS) + +BOOL +qxeChooseColor (LPCHOOSECOLORW arg1) +{ + if (XEUNICODE_P) + return ChooseColorW (arg1); + else + return ChooseColorA ((LPCHOOSECOLORA) arg1); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if ChooseFont used: split-sized LPLOGFONT in LPCHOOSEFONT */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +HWND +qxeFindText (LPFINDREPLACEW arg1) +{ + if (XEUNICODE_P) + return FindTextW (arg1); + else + return FindTextA ((LPFINDREPLACEA) arg1); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +short +qxeGetFileTitle (const Extbyte * arg1, Extbyte * arg2, WORD arg3) +{ + if (XEUNICODE_P) + return GetFileTitleW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3); + else + return GetFileTitleA ((LPCSTR) arg1, (LPSTR) arg2, arg3); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +BOOL +qxeGetOpenFileName (LPOPENFILENAMEW arg1) +{ + if (XEUNICODE_P) + return GetOpenFileNameW (arg1); + else + return GetOpenFileNameA ((LPOPENFILENAMEA) arg1); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +BOOL +qxeGetSaveFileName (LPOPENFILENAMEW arg1) +{ + if (XEUNICODE_P) + return GetSaveFileNameW (arg1); + else + return GetSaveFileNameA ((LPOPENFILENAMEA) arg1); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Skipping PageSetupDlg because LPPAGESETUPDLG with split-sized DEVMODE handle */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Skipping PrintDlg because LPPRINTDLG with split-sized DEVMODE handle */ + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +HWND +qxeReplaceText (LPFINDREPLACEW arg1) +{ + if (XEUNICODE_P) + return ReplaceTextW (arg1); + else + return ReplaceTextA ((LPFINDREPLACEA) arg1); +} + +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) + +/* Error if PrintDlgEx used: Function needs review to determine how to handle it */ + +#endif /* defined (HAVE_MS_WINDOWS) */ /*----------------------------------------------------------------------*/ @@ -1529,12 +2693,12 @@ #if defined (HAVE_MS_WINDOWS) HKL -qxeImmInstallIME (const Extbyte * lpszIMEFileName, const Extbyte * lpszLayoutText) -{ - if (XEUNICODE_P) - return ImmInstallIMEW ((LPCWSTR) lpszIMEFileName, (LPCWSTR) lpszLayoutText); - else - return ImmInstallIMEA ((LPCSTR) lpszIMEFileName, (LPCSTR) lpszLayoutText); +qxeImmInstallIME (const Extbyte * arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return ImmInstallIMEW ((LPCWSTR) arg1, (LPCWSTR) arg2); + else + return ImmInstallIMEA ((LPCSTR) arg1, (LPCSTR) arg2); } #endif /* defined (HAVE_MS_WINDOWS) */ @@ -1542,12 +2706,12 @@ #if defined (HAVE_MS_WINDOWS) UINT -qxeImmGetDescription (HKL arg1, Extbyte * arg2, UINT uBufLen) -{ - if (XEUNICODE_P) - return ImmGetDescriptionW (arg1, (LPWSTR) arg2, uBufLen); - else - return ImmGetDescriptionA (arg1, (LPSTR) arg2, uBufLen); +qxeImmGetDescription (HKL arg1, Extbyte * arg2, UINT arg3) +{ + if (XEUNICODE_P) + return ImmGetDescriptionW (arg1, (LPWSTR) arg2, arg3); + else + return ImmGetDescriptionA (arg1, (LPSTR) arg2, arg3); } #endif /* defined (HAVE_MS_WINDOWS) */ @@ -1555,12 +2719,12 @@ #if defined (HAVE_MS_WINDOWS) UINT -qxeImmGetIMEFileName (HKL arg1, Extbyte * arg2, UINT uBufLen) -{ - if (XEUNICODE_P) - return ImmGetIMEFileNameW (arg1, (LPWSTR) arg2, uBufLen); - else - return ImmGetIMEFileNameA (arg1, (LPSTR) arg2, uBufLen); +qxeImmGetIMEFileName (HKL arg1, Extbyte * arg2, UINT arg3) +{ + if (XEUNICODE_P) + return ImmGetIMEFileNameW (arg1, (LPWSTR) arg2, arg3); + else + return ImmGetIMEFileNameA (arg1, (LPSTR) arg2, arg3); } #endif /* defined (HAVE_MS_WINDOWS) */ @@ -1568,7 +2732,7 @@ #if defined (HAVE_MS_WINDOWS) LONG -qxeImmGetCompositionString (HIMC arg1, DWORD arg2, LPVOID arg3, DWORD arg4) +qxeImmGetCompositionString (HIMC arg1, DWORD arg2, PVOID arg3, DWORD arg4) { if (XEUNICODE_P) return ImmGetCompositionStringW (arg1, arg2, arg3, arg4); @@ -1587,12 +2751,12 @@ #if defined (HAVE_MS_WINDOWS) DWORD -qxeImmGetCandidateListCount (HIMC arg1, LPDWORD lpdwListCount) -{ - if (XEUNICODE_P) - return ImmGetCandidateListCountW (arg1, lpdwListCount); - else - return ImmGetCandidateListCountA (arg1, lpdwListCount); +qxeImmGetCandidateListCount (HIMC arg1, PDWORD arg2) +{ + if (XEUNICODE_P) + return ImmGetCandidateListCountW (arg1, arg2); + else + return ImmGetCandidateListCountA (arg1, arg2); } #endif /* defined (HAVE_MS_WINDOWS) */ @@ -1600,12 +2764,12 @@ #if defined (HAVE_MS_WINDOWS) DWORD -qxeImmGetCandidateList (HIMC arg1, DWORD deIndex, LPCANDIDATELIST arg3, DWORD dwBufLen) -{ - if (XEUNICODE_P) - return ImmGetCandidateListW (arg1, deIndex, arg3, dwBufLen); - else - return ImmGetCandidateListA (arg1, deIndex, arg3, dwBufLen); +qxeImmGetCandidateList (HIMC arg1, DWORD arg2, PCANDIDATELIST arg3, DWORD arg4) +{ + if (XEUNICODE_P) + return ImmGetCandidateListW (arg1, arg2, arg3, arg4); + else + return ImmGetCandidateListA (arg1, arg2, arg3, arg4); } #endif /* defined (HAVE_MS_WINDOWS) */ @@ -1613,12 +2777,12 @@ #if defined (HAVE_MS_WINDOWS) DWORD -qxeImmGetGuideLine (HIMC arg1, DWORD dwIndex, Extbyte * arg3, DWORD dwBufLen) -{ - if (XEUNICODE_P) - return ImmGetGuideLineW (arg1, dwIndex, (LPWSTR) arg3, dwBufLen); - else - return ImmGetGuideLineA (arg1, dwIndex, (LPSTR) arg3, dwBufLen); +qxeImmGetGuideLine (HIMC arg1, DWORD arg2, Extbyte * arg3, DWORD arg4) +{ + if (XEUNICODE_P) + return ImmGetGuideLineW (arg1, arg2, (LPWSTR) arg3, arg4); + else + return ImmGetGuideLineA (arg1, arg2, (LPSTR) arg3, arg4); } #endif /* defined (HAVE_MS_WINDOWS) */ @@ -1639,7 +2803,7 @@ /* NOTE: // split-simple REGISTERWORD */ BOOL -qxeImmConfigureIME (HKL arg1, HWND arg2, DWORD arg3, LPVOID arg4) +qxeImmConfigureIME (HKL arg1, HWND arg2, DWORD arg3, PVOID arg4) { if (XEUNICODE_P) return ImmConfigureIMEW (arg1, arg2, arg3, arg4); @@ -1653,7 +2817,7 @@ /* NOTE: // strings of various sorts */ LRESULT -qxeImmEscape (HKL arg1, HIMC arg2, UINT arg3, LPVOID arg4) +qxeImmEscape (HKL arg1, HIMC arg2, UINT arg3, PVOID arg4) { if (XEUNICODE_P) return ImmEscapeW (arg1, arg2, arg3, arg4); @@ -1666,12 +2830,12 @@ #if defined (HAVE_MS_WINDOWS) DWORD -qxeImmGetConversionList (HKL arg1, HIMC arg2, const Extbyte * arg3, LPCANDIDATELIST arg4, DWORD dwBufLen, UINT uFlag) -{ - if (XEUNICODE_P) - return ImmGetConversionListW (arg1, arg2, (LPCWSTR) arg3, arg4, dwBufLen, uFlag); - else - return ImmGetConversionListA (arg1, arg2, (LPCSTR) arg3, arg4, dwBufLen, uFlag); +qxeImmGetConversionList (HKL arg1, HIMC arg2, const Extbyte * arg3, PCANDIDATELIST arg4, DWORD arg5, UINT arg6) +{ + if (XEUNICODE_P) + return ImmGetConversionListW (arg1, arg2, (LPCWSTR) arg3, arg4, arg5, arg6); + else + return ImmGetConversionListA (arg1, arg2, (LPCSTR) arg3, arg4, arg5, arg6); } #endif /* defined (HAVE_MS_WINDOWS) */ @@ -1692,12 +2856,12 @@ #if defined (HAVE_MS_WINDOWS) BOOL -qxeImmRegisterWord (HKL arg1, const Extbyte * lpszReading, DWORD arg3, const Extbyte * lpszRegister) -{ - if (XEUNICODE_P) - return ImmRegisterWordW (arg1, (LPCWSTR) lpszReading, arg3, (LPCWSTR) lpszRegister); - else - return ImmRegisterWordA (arg1, (LPCSTR) lpszReading, arg3, (LPCSTR) lpszRegister); +qxeImmRegisterWord (HKL arg1, const Extbyte * arg2, DWORD arg3, const Extbyte * arg4) +{ + if (XEUNICODE_P) + return ImmRegisterWordW (arg1, (LPCWSTR) arg2, arg3, (LPCWSTR) arg4); + else + return ImmRegisterWordA (arg1, (LPCSTR) arg2, arg3, (LPCSTR) arg4); } #endif /* defined (HAVE_MS_WINDOWS) */ @@ -1705,12 +2869,12 @@ #if defined (HAVE_MS_WINDOWS) BOOL -qxeImmUnregisterWord (HKL arg1, const Extbyte * lpszReading, DWORD arg3, const Extbyte * lpszUnregister) -{ - if (XEUNICODE_P) - return ImmUnregisterWordW (arg1, (LPCWSTR) lpszReading, arg3, (LPCWSTR) lpszUnregister); - else - return ImmUnregisterWordA (arg1, (LPCSTR) lpszReading, arg3, (LPCSTR) lpszUnregister); +qxeImmUnregisterWord (HKL arg1, const Extbyte * arg2, DWORD arg3, const Extbyte * arg4) +{ + if (XEUNICODE_P) + return ImmUnregisterWordW (arg1, (LPCWSTR) arg2, arg3, (LPCWSTR) arg4); + else + return ImmUnregisterWordA (arg1, (LPCSTR) arg2, arg3, (LPCSTR) arg4); } #endif /* defined (HAVE_MS_WINDOWS) */ @@ -1724,12 +2888,12 @@ #if defined (HAVE_MS_WINDOWS) UINT -qxeImmEnumRegisterWord (HKL arg1, REGISTERWORDENUMPROCW arg2, const Extbyte * lpszReading, DWORD arg4, const Extbyte * lpszRegister, LPVOID arg6) -{ - if (XEUNICODE_P) - return ImmEnumRegisterWordW (arg1, arg2, (LPCWSTR) lpszReading, arg4, (LPCWSTR) lpszRegister, arg6); - else - return ImmEnumRegisterWordA (arg1, (REGISTERWORDENUMPROCA) arg2, (LPCSTR) lpszReading, arg4, (LPCSTR) lpszRegister, arg6); +qxeImmEnumRegisterWord (HKL arg1, REGISTERWORDENUMPROCW arg2, const Extbyte * arg3, DWORD arg4, const Extbyte * arg5, PVOID arg6) +{ + if (XEUNICODE_P) + return ImmEnumRegisterWordW (arg1, arg2, (LPCWSTR) arg3, arg4, (LPCWSTR) arg5, arg6); + else + return ImmEnumRegisterWordA (arg1, (REGISTERWORDENUMPROCA) arg2, (LPCSTR) arg3, arg4, (LPCSTR) arg5, arg6); } #endif /* defined (HAVE_MS_WINDOWS) */ @@ -1742,69 +2906,1311 @@ /*----------------------------------------------------------------------*/ +/* Processing file WINBASE.H */ +/*----------------------------------------------------------------------*/ + +BOOL +qxeAccessCheckAndAuditAlarm (const Extbyte * arg1, LPVOID arg2, Extbyte * arg3, Extbyte * arg4, PSECURITY_DESCRIPTOR arg5, DWORD arg6, PGENERIC_MAPPING arg7, BOOL arg8, PDWORD arg9, PBOOL arg10, PBOOL arg11) +{ + if (XEUNICODE_P) + return AccessCheckAndAuditAlarmW ((LPCWSTR) arg1, arg2, (LPWSTR) arg3, (LPWSTR) arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); + else + return AccessCheckAndAuditAlarmA ((LPCSTR) arg1, arg2, (LPSTR) arg3, (LPSTR) arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); +} + +ATOM +qxeAddAtom (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return AddAtomW ((LPCWSTR) arg1); + else + return AddAtomA ((LPCSTR) arg1); +} + +BOOL +qxeBackupEventLog (HANDLE arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return BackupEventLogW (arg1, (LPCWSTR) arg2); + else + return BackupEventLogA (arg1, (LPCSTR) arg2); +} + +HANDLE +qxeBeginUpdateResource (const Extbyte * arg1, BOOL arg2) +{ + if (XEUNICODE_P) + return BeginUpdateResourceW ((LPCWSTR) arg1, arg2); + else + return BeginUpdateResourceA ((LPCSTR) arg1, arg2); +} + +BOOL +qxeBuildCommDCB (const Extbyte * arg1, LPDCB arg2) +{ + if (XEUNICODE_P) + return BuildCommDCBW ((LPCWSTR) arg1, arg2); + else + return BuildCommDCBA ((LPCSTR) arg1, arg2); +} + +BOOL +qxeBuildCommDCBAndTimeouts (const Extbyte * arg1, LPDCB arg2, LPCOMMTIMEOUTS arg3) +{ + if (XEUNICODE_P) + return BuildCommDCBAndTimeoutsW ((LPCWSTR) arg1, arg2, arg3); + else + return BuildCommDCBAndTimeoutsA ((LPCSTR) arg1, arg2, arg3); +} + +BOOL +qxeCallNamedPipe (const Extbyte * arg1, PVOID arg2, DWORD arg3, PVOID arg4, DWORD arg5, PDWORD arg6, DWORD arg7) +{ + if (XEUNICODE_P) + return CallNamedPipeW ((LPCWSTR) arg1, arg2, arg3, arg4, arg5, arg6, arg7); + else + return CallNamedPipeA ((LPCSTR) arg1, arg2, arg3, arg4, arg5, arg6, arg7); +} + +/* Error if CheckNameLegalDOS8Dot3 used: Function needs review to determine how to handle it */ + +BOOL +qxeClearEventLog (HANDLE arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return ClearEventLogW (arg1, (LPCWSTR) arg2); + else + return ClearEventLogA (arg1, (LPCSTR) arg2); +} + +BOOL +qxeCommConfigDialog (const Extbyte * arg1, HWND arg2, LPCOMMCONFIG arg3) +{ + if (XEUNICODE_P) + return CommConfigDialogW ((LPCWSTR) arg1, arg2, arg3); + else + return CommConfigDialogA ((LPCSTR) arg1, arg2, arg3); +} + +BOOL +qxeCopyFile (const Extbyte * arg1, const Extbyte * arg2, BOOL arg3) +{ + if (XEUNICODE_P) + return CopyFileW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3); + else + return CopyFileA ((LPCSTR) arg1, (LPCSTR) arg2, arg3); +} + +/* NOTE: NT 4.0+ only */ +BOOL +qxeCopyFileEx (const Extbyte * arg1, const Extbyte * arg2, LPPROGRESS_ROUTINE arg3, LPVOID arg4, LPBOOL arg5, DWORD arg6) +{ + if (XEUNICODE_P) + return CopyFileExW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3, arg4, arg5, arg6); + else + return CopyFileExA ((LPCSTR) arg1, (LPCSTR) arg2, arg3, arg4, arg5, arg6); +} + +/* Error if CreateActCtx used: Function needs review to determine how to handle it */ + +BOOL +qxeCreateDirectory (const Extbyte * arg1, LPSECURITY_ATTRIBUTES arg2) +{ + if (XEUNICODE_P) + return CreateDirectoryW ((LPCWSTR) arg1, arg2); + else + return CreateDirectoryA ((LPCSTR) arg1, arg2); +} + +BOOL +qxeCreateDirectoryEx (const Extbyte * arg1, const Extbyte * arg2, LPSECURITY_ATTRIBUTES arg3) +{ + if (XEUNICODE_P) + return CreateDirectoryExW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3); + else + return CreateDirectoryExA ((LPCSTR) arg1, (LPCSTR) arg2, arg3); +} + +HANDLE +qxeCreateEvent (LPSECURITY_ATTRIBUTES arg1, BOOL arg2, BOOL arg3, const Extbyte * arg4) +{ + if (XEUNICODE_P) + return CreateEventW (arg1, arg2, arg3, (LPCWSTR) arg4); + else + return CreateEventA (arg1, arg2, arg3, (LPCSTR) arg4); +} + +HANDLE +qxeCreateFile (const Extbyte * arg1, DWORD arg2, DWORD arg3, LPSECURITY_ATTRIBUTES arg4, DWORD arg5, DWORD arg6, HANDLE arg7) +{ + if (XEUNICODE_P) + return CreateFileW ((LPCWSTR) arg1, arg2, arg3, arg4, arg5, arg6, arg7); + else + return CreateFileA ((LPCSTR) arg1, arg2, arg3, arg4, arg5, arg6, arg7); +} + +HANDLE +qxeCreateFileMapping (HANDLE arg1, LPSECURITY_ATTRIBUTES arg2, DWORD arg3, DWORD arg4, DWORD arg5, const Extbyte * arg6) +{ + if (XEUNICODE_P) + return CreateFileMappingW (arg1, arg2, arg3, arg4, arg5, (LPCWSTR) arg6); + else + return CreateFileMappingA (arg1, arg2, arg3, arg4, arg5, (LPCSTR) arg6); +} + +/* Error if CreateHardLink used: NT 5.0+ only */ + +/* Error if CreateJobObject used: NT 5.0+ only */ + +HANDLE +qxeCreateMailslot (const Extbyte * arg1, DWORD arg2, DWORD arg3, LPSECURITY_ATTRIBUTES arg4) +{ + if (XEUNICODE_P) + return CreateMailslotW ((LPCWSTR) arg1, arg2, arg3, arg4); + else + return CreateMailslotA ((LPCSTR) arg1, arg2, arg3, arg4); +} + +HANDLE +qxeCreateMutex (LPSECURITY_ATTRIBUTES arg1, BOOL arg2, const Extbyte * arg3) +{ + if (XEUNICODE_P) + return CreateMutexW (arg1, arg2, (LPCWSTR) arg3); + else + return CreateMutexA (arg1, arg2, (LPCSTR) arg3); +} + +HANDLE +qxeCreateNamedPipe (const Extbyte * arg1, DWORD arg2, DWORD arg3, DWORD arg4, DWORD arg5, DWORD arg6, DWORD arg7, LPSECURITY_ATTRIBUTES arg8) +{ + if (XEUNICODE_P) + return CreateNamedPipeW ((LPCWSTR) arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + else + return CreateNamedPipeA ((LPCSTR) arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); +} + +BOOL +qxeCreateProcess (const Extbyte * arg1, Extbyte * arg2, LPSECURITY_ATTRIBUTES arg3, LPSECURITY_ATTRIBUTES arg4, BOOL arg5, DWORD arg6, PVOID arg7, const Extbyte * arg8, LPSTARTUPINFOW arg9, LPPROCESS_INFORMATION arg10) +{ + if (XEUNICODE_P) + return CreateProcessW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3, arg4, arg5, arg6, arg7, (LPCWSTR) arg8, arg9, arg10); + else + return CreateProcessA ((LPCSTR) arg1, (LPSTR) arg2, arg3, arg4, arg5, arg6, arg7, (LPCSTR) arg8, (LPSTARTUPINFOA) arg9, arg10); +} + +BOOL +qxeCreateProcessAsUser (HANDLE arg1, const Extbyte * arg2, Extbyte * arg3, LPSECURITY_ATTRIBUTES arg4, LPSECURITY_ATTRIBUTES arg5, BOOL arg6, DWORD arg7, PVOID arg8, const Extbyte * arg9, LPSTARTUPINFOW arg10, LPPROCESS_INFORMATION arg11) +{ + if (XEUNICODE_P) + return CreateProcessAsUserW (arg1, (LPCWSTR) arg2, (LPWSTR) arg3, arg4, arg5, arg6, arg7, arg8, (LPCWSTR) arg9, arg10, arg11); + else + return CreateProcessAsUserA (arg1, (LPCSTR) arg2, (LPSTR) arg3, arg4, arg5, arg6, arg7, arg8, (LPCSTR) arg9, (LPSTARTUPINFOA) arg10, arg11); +} + +/* Error if CreateProcessWithLogon used: Function needs review to determine how to handle it */ + +HANDLE +qxeCreateSemaphore (LPSECURITY_ATTRIBUTES arg1, LONG arg2, LONG arg3, const Extbyte * arg4) +{ + if (XEUNICODE_P) + return CreateSemaphoreW (arg1, arg2, arg3, (LPCWSTR) arg4); + else + return CreateSemaphoreA (arg1, arg2, arg3, (LPCSTR) arg4); +} + +HANDLE +qxeCreateWaitableTimer (LPSECURITY_ATTRIBUTES arg1, BOOL arg2, const Extbyte * arg3) +{ + if (XEUNICODE_P) + return CreateWaitableTimerW (arg1, arg2, (LPCWSTR) arg3); + else + return CreateWaitableTimerA (arg1, arg2, (LPCSTR) arg3); +} + +BOOL +qxeDefineDosDevice (DWORD arg1, const Extbyte * arg2, const Extbyte * arg3) +{ + if (XEUNICODE_P) + return DefineDosDeviceW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3); + else + return DefineDosDeviceA (arg1, (LPCSTR) arg2, (LPCSTR) arg3); +} + +BOOL +qxeDeleteFile (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return DeleteFileW ((LPCWSTR) arg1); + else + return DeleteFileA ((LPCSTR) arg1); +} + +/* Error if DeleteVolumeMountPoint used: Function needs review to determine how to handle it */ + +/* Error if DnsHostnameToComputerName used: Function needs review to determine how to handle it */ + +#if !defined (CYGWIN_HEADERS) + +/* Error if EncryptFile used: Win2K+ only */ + +#endif /* !defined (CYGWIN_HEADERS) */ + +BOOL +qxeEndUpdateResource (HANDLE arg1, BOOL arg2) +{ + if (XEUNICODE_P) + return EndUpdateResourceW (arg1, arg2); + else + return EndUpdateResourceA (arg1, arg2); +} + +/* Skipping EnumResourceLanguages because different prototypes in VC6 and VC7 */ + +/* Skipping EnumResourceNames because different prototypes in VC6 and VC7 */ + +/* Skipping EnumResourceTypes because different prototypes in VC6 and VC7 */ + +DWORD +qxeExpandEnvironmentStrings (const Extbyte * arg1, Extbyte * arg2, DWORD arg3) +{ + if (XEUNICODE_P) + return ExpandEnvironmentStringsW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3); + else + return ExpandEnvironmentStringsA ((LPCSTR) arg1, (LPSTR) arg2, arg3); +} + +void +qxeFatalAppExit (UINT arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + FatalAppExitW (arg1, (LPCWSTR) arg2); + else + FatalAppExitA (arg1, (LPCSTR) arg2); +} + +/* Error if FileEncryptionStatus used: Function needs review to determine how to handle it */ + +/* Error if FindActCtxSectionString used: Function needs review to determine how to handle it */ + +ATOM +qxeFindAtom (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return FindAtomW ((LPCWSTR) arg1); + else + return FindAtomA ((LPCSTR) arg1); +} + +HANDLE +qxeFindFirstChangeNotification (const Extbyte * arg1, BOOL arg2, DWORD arg3) +{ + if (XEUNICODE_P) + return FindFirstChangeNotificationW ((LPCWSTR) arg1, arg2, arg3); + else + return FindFirstChangeNotificationA ((LPCSTR) arg1, arg2, arg3); +} + +/* Skipping FindFirstFile because split-sized LPWIN32_FIND_DATA */ + +/* Error if FindFirstFileEx used: split-sized LPWIN32_FIND_DATA; not used, NT 4.0+ only */ + +/* Error if FindFirstVolume used: Function needs review to determine how to handle it */ + +/* Error if FindFirstVolumeMountPoint used: Function needs review to determine how to handle it */ + +/* Skipping FindNextFile because split-sized LPWIN32_FIND_DATA */ + +/* Error if FindNextVolume used: Function needs review to determine how to handle it */ + +/* Error if FindNextVolumeMountPoint used: Function needs review to determine how to handle it */ + +HRSRC +qxeFindResource (HINSTANCE arg1, const Extbyte * arg2, const Extbyte * arg3) +{ + if (XEUNICODE_P) + return FindResourceW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3); + else + return FindResourceA (arg1, (LPCSTR) arg2, (LPCSTR) arg3); +} + +HRSRC +qxeFindResourceEx (HINSTANCE arg1, const Extbyte * arg2, const Extbyte * arg3, WORD arg4) +{ + if (XEUNICODE_P) + return FindResourceExW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, arg4); + else + return FindResourceExA (arg1, (LPCSTR) arg2, (LPCSTR) arg3, arg4); +} + +/* Error if GetFirmwareEnvironmentVariable used: Function needs review to determine how to handle it */ + +DWORD +qxeFormatMessage (DWORD arg1, PCVOID arg2, DWORD arg3, DWORD arg4, Extbyte * arg5, DWORD arg6, va_list* arg7) +{ + if (XEUNICODE_P) + return FormatMessageW (arg1, arg2, arg3, arg4, (LPWSTR) arg5, arg6, arg7); + else + return FormatMessageA (arg1, arg2, arg3, arg4, (LPSTR) arg5, arg6, arg7); +} + +BOOL +qxeFreeEnvironmentStrings (Extbyte * arg1) +{ + if (XEUNICODE_P) + return FreeEnvironmentStringsW ((LPWSTR) arg1); + else + return FreeEnvironmentStringsA ((LPSTR) arg1); +} + +UINT +qxeGetAtomName (ATOM arg1, Extbyte * arg2, int arg3) +{ + if (XEUNICODE_P) + return GetAtomNameW (arg1, (LPWSTR) arg2, arg3); + else + return GetAtomNameA (arg1, (LPSTR) arg2, arg3); +} + +BOOL +qxeGetBinaryType (const Extbyte * arg1, PDWORD arg2) +{ + if (XEUNICODE_P) + return GetBinaryTypeW ((LPCWSTR) arg1, arg2); + else + return GetBinaryTypeA ((LPCSTR) arg1, arg2); +} + +Extbyte * +qxeGetCommandLine (void) +{ + if (XEUNICODE_P) + return (Extbyte *) GetCommandLineW (); + else + return (Extbyte *) GetCommandLineA (); +} + +DWORD +qxeGetCompressedFileSize (const Extbyte * arg1, PDWORD arg2) +{ + if (XEUNICODE_P) + return GetCompressedFileSizeW ((LPCWSTR) arg1, arg2); + else + return GetCompressedFileSizeA ((LPCSTR) arg1, arg2); +} + +BOOL +qxeGetComputerName (Extbyte * arg1, PDWORD arg2) +{ + if (XEUNICODE_P) + return GetComputerNameW ((LPWSTR) arg1, arg2); + else + return GetComputerNameA ((LPSTR) arg1, arg2); +} + +/* Error if GetComputerNameEx used: Function needs review to determine how to handle it */ + +DWORD +qxeGetCurrentDirectory (DWORD arg1, Extbyte * arg2) +{ + if (XEUNICODE_P) + return GetCurrentDirectoryW (arg1, (LPWSTR) arg2); + else + return GetCurrentDirectoryA (arg1, (LPSTR) arg2); +} + +/* Error if GetCurrentHwProfile used: split-sized LPHW_PROFILE_INFO; NT 4.0+ only */ + +BOOL +qxeGetDefaultCommConfig (const Extbyte * arg1, LPCOMMCONFIG arg2, PDWORD arg3) +{ + if (XEUNICODE_P) + return GetDefaultCommConfigW ((LPCWSTR) arg1, arg2, arg3); + else + return GetDefaultCommConfigA ((LPCSTR) arg1, arg2, arg3); +} + +BOOL +qxeGetDiskFreeSpace (const Extbyte * arg1, PDWORD arg2, PDWORD arg3, PDWORD arg4, PDWORD arg5) +{ + if (XEUNICODE_P) + return GetDiskFreeSpaceW ((LPCWSTR) arg1, arg2, arg3, arg4, arg5); + else + return GetDiskFreeSpaceA ((LPCSTR) arg1, arg2, arg3, arg4, arg5); +} + +BOOL +qxeGetDiskFreeSpaceEx (const Extbyte * arg1, PULARGE_INTEGER arg2, PULARGE_INTEGER arg3, PULARGE_INTEGER arg4) +{ + if (XEUNICODE_P) + return GetDiskFreeSpaceExW ((LPCWSTR) arg1, arg2, arg3, arg4); + else + return GetDiskFreeSpaceExA ((LPCSTR) arg1, arg2, arg3, arg4); +} + +/* Error if GetDllDirectory used: Function needs review to determine how to handle it */ + +UINT +qxeGetDriveType (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return GetDriveTypeW ((LPCWSTR) arg1); + else + return GetDriveTypeA ((LPCSTR) arg1); +} + +DWORD +qxeGetEnvironmentVariable (const Extbyte * arg1, Extbyte * arg2, DWORD arg3) +{ + if (XEUNICODE_P) + return GetEnvironmentVariableW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3); + else + return GetEnvironmentVariableA ((LPCSTR) arg1, (LPSTR) arg2, arg3); +} + +DWORD +qxeGetFileAttributes (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return GetFileAttributesW ((LPCWSTR) arg1); + else + return GetFileAttributesA ((LPCSTR) arg1); +} + +BOOL +qxeGetFileAttributesEx (const Extbyte * arg1, GET_FILEEX_INFO_LEVELS arg2, PVOID arg3) +{ + if (XEUNICODE_P) + return GetFileAttributesExW ((LPCWSTR) arg1, arg2, arg3); + else + return GetFileAttributesExA ((LPCSTR) arg1, arg2, arg3); +} + +BOOL +qxeGetFileSecurity (const Extbyte * arg1, SECURITY_INFORMATION arg2, PSECURITY_DESCRIPTOR arg3, DWORD arg4, PDWORD arg5) +{ + if (XEUNICODE_P) + return GetFileSecurityW ((LPCWSTR) arg1, arg2, arg3, arg4, arg5); + else + return GetFileSecurityA ((LPCSTR) arg1, arg2, arg3, arg4, arg5); +} + +DWORD +qxeGetFullPathName (const Extbyte * arg1, DWORD arg2, Extbyte * arg3, Extbyte ** arg4) +{ + if (XEUNICODE_P) + return GetFullPathNameW ((LPCWSTR) arg1, arg2, (LPWSTR) arg3, (LPWSTR*) arg4); + else + return GetFullPathNameA ((LPCSTR) arg1, arg2, (LPSTR) arg3, (LPSTR*) arg4); +} + +DWORD +qxeGetLogicalDriveStrings (DWORD arg1, Extbyte * arg2) +{ + if (XEUNICODE_P) + return GetLogicalDriveStringsW (arg1, (LPWSTR) arg2); + else + return GetLogicalDriveStringsA (arg1, (LPSTR) arg2); +} + +/* Error if GetLongPathName used: Win98/2K+ only */ + +DWORD +qxeGetModuleFileName (HINSTANCE arg1, Extbyte * arg2, DWORD arg3) +{ + if (XEUNICODE_P) + return GetModuleFileNameW (arg1, (LPWSTR) arg2, arg3); + else + return GetModuleFileNameA (arg1, (LPSTR) arg2, arg3); +} + +HMODULE +qxeGetModuleHandle (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return GetModuleHandleW ((LPCWSTR) arg1); + else + return GetModuleHandleA ((LPCSTR) arg1); +} + +/* Error if GetModuleHandleEx used: Function needs review to determine how to handle it */ + +BOOL +qxeGetNamedPipeHandleState (HANDLE arg1, PDWORD arg2, PDWORD arg3, PDWORD arg4, PDWORD arg5, Extbyte * arg6, DWORD arg7) +{ + if (XEUNICODE_P) + return GetNamedPipeHandleStateW (arg1, arg2, arg3, arg4, arg5, (LPWSTR) arg6, arg7); + else + return GetNamedPipeHandleStateA (arg1, arg2, arg3, arg4, arg5, (LPSTR) arg6, arg7); +} + +UINT +qxeGetPrivateProfileInt (const Extbyte * arg1, const Extbyte * arg2, INT arg3, const Extbyte * arg4) +{ + if (XEUNICODE_P) + return GetPrivateProfileIntW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3, (LPCWSTR) arg4); + else + return GetPrivateProfileIntA ((LPCSTR) arg1, (LPCSTR) arg2, arg3, (LPCSTR) arg4); +} + +DWORD +qxeGetPrivateProfileSection (const Extbyte * arg1, Extbyte * arg2, DWORD arg3, const Extbyte * arg4) +{ + if (XEUNICODE_P) + return GetPrivateProfileSectionW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3, (LPCWSTR) arg4); + else + return GetPrivateProfileSectionA ((LPCSTR) arg1, (LPSTR) arg2, arg3, (LPCSTR) arg4); +} + +DWORD +qxeGetPrivateProfileSectionNames (Extbyte * arg1, DWORD arg2, const Extbyte * arg3) +{ + if (XEUNICODE_P) + return GetPrivateProfileSectionNamesW ((LPWSTR) arg1, arg2, (LPCWSTR) arg3); + else + return GetPrivateProfileSectionNamesA ((LPSTR) arg1, arg2, (LPCSTR) arg3); +} + +DWORD +qxeGetPrivateProfileString (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3, Extbyte * arg4, DWORD arg5, const Extbyte * arg6) +{ + if (XEUNICODE_P) + return GetPrivateProfileStringW ((LPCWSTR) arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, (LPWSTR) arg4, arg5, (LPCWSTR) arg6); + else + return GetPrivateProfileStringA ((LPCSTR) arg1, (LPCSTR) arg2, (LPCSTR) arg3, (LPSTR) arg4, arg5, (LPCSTR) arg6); +} + +BOOL +qxeGetPrivateProfileStruct (const Extbyte * arg1, const Extbyte * arg2, LPVOID arg3, UINT arg4, const Extbyte * arg5) +{ + if (XEUNICODE_P) + return GetPrivateProfileStructW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3, arg4, (LPCWSTR) arg5); + else + return GetPrivateProfileStructA ((LPCSTR) arg1, (LPCSTR) arg2, arg3, arg4, (LPCSTR) arg5); +} + +UINT +qxeGetProfileInt (const Extbyte * arg1, const Extbyte * arg2, INT arg3) +{ + if (XEUNICODE_P) + return GetProfileIntW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3); + else + return GetProfileIntA ((LPCSTR) arg1, (LPCSTR) arg2, arg3); +} + +DWORD +qxeGetProfileSection (const Extbyte * arg1, Extbyte * arg2, DWORD arg3) +{ + if (XEUNICODE_P) + return GetProfileSectionW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3); + else + return GetProfileSectionA ((LPCSTR) arg1, (LPSTR) arg2, arg3); +} + +DWORD +qxeGetProfileString (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3, Extbyte * arg4, DWORD arg5) +{ + if (XEUNICODE_P) + return GetProfileStringW ((LPCWSTR) arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, (LPWSTR) arg4, arg5); + else + return GetProfileStringA ((LPCSTR) arg1, (LPCSTR) arg2, (LPCSTR) arg3, (LPSTR) arg4, arg5); +} + +DWORD +qxeGetShortPathName (const Extbyte * arg1, Extbyte * arg2, DWORD arg3) +{ + if (XEUNICODE_P) + return GetShortPathNameW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3); + else + return GetShortPathNameA ((LPCSTR) arg1, (LPSTR) arg2, arg3); +} + +VOID +qxeGetStartupInfo (LPSTARTUPINFOW arg1) +{ + if (XEUNICODE_P) + GetStartupInfoW (arg1); + else + GetStartupInfoA ((LPSTARTUPINFOA) arg1); +} + +UINT +qxeGetSystemDirectory (Extbyte * arg1, UINT arg2) +{ + if (XEUNICODE_P) + return GetSystemDirectoryW ((LPWSTR) arg1, arg2); + else + return GetSystemDirectoryA ((LPSTR) arg1, arg2); +} + +/* Error if GetSystemWindowsDirectory used: Function needs review to determine how to handle it */ + +/* Error if GetSystemWow64Directory used: Function needs review to determine how to handle it */ + +UINT +qxeGetTempFileName (const Extbyte * arg1, const Extbyte * arg2, UINT arg3, Extbyte * arg4) +{ + if (XEUNICODE_P) + return GetTempFileNameW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3, (LPWSTR) arg4); + else + return GetTempFileNameA ((LPCSTR) arg1, (LPCSTR) arg2, arg3, (LPSTR) arg4); +} + +DWORD +qxeGetTempPath (DWORD arg1, Extbyte * arg2) +{ + if (XEUNICODE_P) + return GetTempPathW (arg1, (LPWSTR) arg2); + else + return GetTempPathA (arg1, (LPSTR) arg2); +} + +BOOL +qxeGetUserName (Extbyte * arg1, PDWORD arg2) +{ + if (XEUNICODE_P) + return GetUserNameW ((LPWSTR) arg1, arg2); + else + return GetUserNameA ((LPSTR) arg1, arg2); +} + +/* Error if GetVersionEx used: split-sized LPOSVERSIONINFO */ + +BOOL +qxeGetVolumeInformation (const Extbyte * arg1, Extbyte * arg2, DWORD arg3, PDWORD arg4, PDWORD arg5, PDWORD arg6, Extbyte * arg7, DWORD arg8) +{ + if (XEUNICODE_P) + return GetVolumeInformationW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3, arg4, arg5, arg6, (LPWSTR) arg7, arg8); + else + return GetVolumeInformationA ((LPCSTR) arg1, (LPSTR) arg2, arg3, arg4, arg5, arg6, (LPSTR) arg7, arg8); +} + +/* Error if GetVolumeNameForVolumeMountPoint used: Function needs review to determine how to handle it */ + +/* Error if GetVolumePathName used: Function needs review to determine how to handle it */ + +/* Error if GetVolumePathNamesForVolumeName used: Function needs review to determine how to handle it */ + +UINT +qxeGetWindowsDirectory (Extbyte * arg1, UINT arg2) +{ + if (XEUNICODE_P) + return GetWindowsDirectoryW ((LPWSTR) arg1, arg2); + else + return GetWindowsDirectoryA ((LPSTR) arg1, arg2); +} + +ATOM +qxeGlobalAddAtom (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return GlobalAddAtomW ((LPCWSTR) arg1); + else + return GlobalAddAtomA ((LPCSTR) arg1); +} + +ATOM +qxeGlobalFindAtom (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return GlobalFindAtomW ((LPCWSTR) arg1); + else + return GlobalFindAtomA ((LPCSTR) arg1); +} + +UINT +qxeGlobalGetAtomName (ATOM arg1, Extbyte * arg2, int arg3) +{ + if (XEUNICODE_P) + return GlobalGetAtomNameW (arg1, (LPWSTR) arg2, arg3); + else + return GlobalGetAtomNameA (arg1, (LPSTR) arg2, arg3); +} + +BOOL +qxeIsBadStringPtr (const Extbyte * arg1, UINT arg2) +{ + if (XEUNICODE_P) + return IsBadStringPtrW ((LPCWSTR) arg1, arg2); + else + return IsBadStringPtrA ((LPCSTR) arg1, arg2); +} + +HINSTANCE +qxeLoadLibraryEx (const Extbyte * arg1, HANDLE arg2, DWORD arg3) +{ + if (XEUNICODE_P) + return LoadLibraryExW ((LPCWSTR) arg1, arg2, arg3); + else + return LoadLibraryExA ((LPCSTR) arg1, arg2, arg3); +} + +HINSTANCE +qxeLoadLibrary (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return LoadLibraryW ((LPCWSTR) arg1); + else + return LoadLibraryA ((LPCSTR) arg1); +} + +BOOL +qxeLogonUser (Extbyte * arg1, Extbyte * arg2, Extbyte * arg3, DWORD arg4, DWORD arg5, PHANDLE arg6) +{ + if (XEUNICODE_P) + return LogonUserW ((LPWSTR) arg1, (LPWSTR) arg2, (LPWSTR) arg3, arg4, arg5, arg6); + else + return LogonUserA ((LPSTR) arg1, (LPSTR) arg2, (LPSTR) arg3, arg4, arg5, arg6); +} + +BOOL +qxeLookupAccountName (const Extbyte * arg1, const Extbyte * arg2, PSID arg3, PDWORD arg4, Extbyte * arg5, PDWORD arg6, PSID_NAME_USE arg7) +{ + if (XEUNICODE_P) + return LookupAccountNameW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3, arg4, (LPWSTR) arg5, arg6, arg7); + else + return LookupAccountNameA ((LPCSTR) arg1, (LPCSTR) arg2, arg3, arg4, (LPSTR) arg5, arg6, arg7); +} + +BOOL +qxeLookupAccountSid (const Extbyte * arg1, PSID arg2, Extbyte * arg3, PDWORD arg4, Extbyte * arg5, PDWORD arg6, PSID_NAME_USE arg7) +{ + if (XEUNICODE_P) + return LookupAccountSidW ((LPCWSTR) arg1, arg2, (LPWSTR) arg3, arg4, (LPWSTR) arg5, arg6, arg7); + else + return LookupAccountSidA ((LPCSTR) arg1, arg2, (LPSTR) arg3, arg4, (LPSTR) arg5, arg6, arg7); +} + +BOOL +qxeLookupPrivilegeDisplayName (const Extbyte * arg1, const Extbyte * arg2, Extbyte * arg3, PDWORD arg4, PDWORD arg5) +{ + if (XEUNICODE_P) + return LookupPrivilegeDisplayNameW ((LPCWSTR) arg1, (LPCWSTR) arg2, (LPWSTR) arg3, arg4, arg5); + else + return LookupPrivilegeDisplayNameA ((LPCSTR) arg1, (LPCSTR) arg2, (LPSTR) arg3, arg4, arg5); +} + +BOOL +qxeLookupPrivilegeName (const Extbyte * arg1, PLUID arg2, Extbyte * arg3, PDWORD arg4) +{ + if (XEUNICODE_P) + return LookupPrivilegeNameW ((LPCWSTR) arg1, arg2, (LPWSTR) arg3, arg4); + else + return LookupPrivilegeNameA ((LPCSTR) arg1, arg2, (LPSTR) arg3, arg4); +} + +BOOL +qxeLookupPrivilegeValue (const Extbyte * arg1, const Extbyte * arg2, PLUID arg3) +{ + if (XEUNICODE_P) + return LookupPrivilegeValueW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3); + else + return LookupPrivilegeValueA ((LPCSTR) arg1, (LPCSTR) arg2, arg3); +} + +Extbyte * +qxelstrcat (Extbyte * arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return (Extbyte *) lstrcatW ((LPWSTR) arg1, (LPCWSTR) arg2); + else + return (Extbyte *) lstrcatA ((LPSTR) arg1, (LPCSTR) arg2); +} + +int +qxelstrcmpi (const Extbyte * arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return lstrcmpiW ((LPCWSTR) arg1, (LPCWSTR) arg2); + else + return lstrcmpiA ((LPCSTR) arg1, (LPCSTR) arg2); +} + +int +qxelstrcmp (const Extbyte * arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return lstrcmpW ((LPCWSTR) arg1, (LPCWSTR) arg2); + else + return lstrcmpA ((LPCSTR) arg1, (LPCSTR) arg2); +} + +Extbyte * +qxelstrcpyn (Extbyte * arg1, const Extbyte * arg2, int arg3) +{ + if (XEUNICODE_P) + return (Extbyte *) lstrcpynW ((LPWSTR) arg1, (LPCWSTR) arg2, arg3); + else + return (Extbyte *) lstrcpynA ((LPSTR) arg1, (LPCSTR) arg2, arg3); +} + +Extbyte * +qxelstrcpy (Extbyte * arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return (Extbyte *) lstrcpyW ((LPWSTR) arg1, (LPCWSTR) arg2); + else + return (Extbyte *) lstrcpyA ((LPSTR) arg1, (LPCSTR) arg2); +} + +int +qxelstrlen (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return lstrlenW ((LPCWSTR) arg1); + else + return lstrlenA ((LPCSTR) arg1); +} + +BOOL +qxeMoveFileEx (const Extbyte * arg1, const Extbyte * arg2, DWORD arg3) +{ + if (XEUNICODE_P) + return MoveFileExW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3); + else + return MoveFileExA ((LPCSTR) arg1, (LPCSTR) arg2, arg3); +} + +BOOL +qxeMoveFile (const Extbyte * arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return MoveFileW ((LPCWSTR) arg1, (LPCWSTR) arg2); + else + return MoveFileA ((LPCSTR) arg1, (LPCSTR) arg2); +} + +BOOL +qxeObjectCloseAuditAlarm (const Extbyte * arg1, PVOID arg2, BOOL arg3) +{ + if (XEUNICODE_P) + return ObjectCloseAuditAlarmW ((LPCWSTR) arg1, arg2, arg3); + else + return ObjectCloseAuditAlarmA ((LPCSTR) arg1, arg2, arg3); +} + +BOOL +qxeObjectDeleteAuditAlarm (const Extbyte * arg1, PVOID arg2, BOOL arg3) +{ + if (XEUNICODE_P) + return ObjectDeleteAuditAlarmW ((LPCWSTR) arg1, arg2, arg3); + else + return ObjectDeleteAuditAlarmA ((LPCSTR) arg1, arg2, arg3); +} + +BOOL +qxeObjectOpenAuditAlarm (const Extbyte * arg1, PVOID arg2, Extbyte * arg3, Extbyte * arg4, PSECURITY_DESCRIPTOR arg5, HANDLE arg6, DWORD arg7, DWORD arg8, PPRIVILEGE_SET arg9, BOOL arg10, BOOL arg11, PBOOL arg12) +{ + if (XEUNICODE_P) + return ObjectOpenAuditAlarmW ((LPCWSTR) arg1, arg2, (LPWSTR) arg3, (LPWSTR) arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); + else + return ObjectOpenAuditAlarmA ((LPCSTR) arg1, arg2, (LPSTR) arg3, (LPSTR) arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); +} + +BOOL +qxeObjectPrivilegeAuditAlarm (const Extbyte * arg1, PVOID arg2, HANDLE arg3, DWORD arg4, PPRIVILEGE_SET arg5, BOOL arg6) +{ + if (XEUNICODE_P) + return ObjectPrivilegeAuditAlarmW ((LPCWSTR) arg1, arg2, arg3, arg4, arg5, arg6); + else + return ObjectPrivilegeAuditAlarmA ((LPCSTR) arg1, arg2, arg3, arg4, arg5, arg6); +} + +HANDLE +qxeOpenBackupEventLog (const Extbyte * arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return OpenBackupEventLogW ((LPCWSTR) arg1, (LPCWSTR) arg2); + else + return OpenBackupEventLogA ((LPCSTR) arg1, (LPCSTR) arg2); +} + +HANDLE +qxeOpenEventLog (const Extbyte * arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return OpenEventLogW ((LPCWSTR) arg1, (LPCWSTR) arg2); + else + return OpenEventLogA ((LPCSTR) arg1, (LPCSTR) arg2); +} + +HANDLE +qxeOpenEvent (DWORD arg1, BOOL arg2, const Extbyte * arg3) +{ + if (XEUNICODE_P) + return OpenEventW (arg1, arg2, (LPCWSTR) arg3); + else + return OpenEventA (arg1, arg2, (LPCSTR) arg3); +} + +HANDLE +qxeOpenFileMapping (DWORD arg1, BOOL arg2, const Extbyte * arg3) +{ + if (XEUNICODE_P) + return OpenFileMappingW (arg1, arg2, (LPCWSTR) arg3); + else + return OpenFileMappingA (arg1, arg2, (LPCSTR) arg3); +} + +HANDLE +qxeOpenMutex (DWORD arg1, BOOL arg2, const Extbyte * arg3) +{ + if (XEUNICODE_P) + return OpenMutexW (arg1, arg2, (LPCWSTR) arg3); + else + return OpenMutexA (arg1, arg2, (LPCSTR) arg3); +} + +HANDLE +qxeOpenSemaphore (DWORD arg1, BOOL arg2, const Extbyte * arg3) +{ + if (XEUNICODE_P) + return OpenSemaphoreW (arg1, arg2, (LPCWSTR) arg3); + else + return OpenSemaphoreA (arg1, arg2, (LPCSTR) arg3); +} + +HANDLE +qxeOpenWaitableTimer (DWORD arg1, BOOL arg2, const Extbyte * arg3) +{ + if (XEUNICODE_P) + return OpenWaitableTimerW (arg1, arg2, (LPCWSTR) arg3); + else + return OpenWaitableTimerA (arg1, arg2, (LPCSTR) arg3); +} + +void +qxeOutputDebugString (const Extbyte * arg1) +{ + if (XEUNICODE_P) + OutputDebugStringW ((LPCWSTR) arg1); + else + OutputDebugStringA ((LPCSTR) arg1); +} + +BOOL +qxePrivilegedServiceAuditAlarm (const Extbyte * arg1, const Extbyte * arg2, HANDLE arg3, PPRIVILEGE_SET arg4, BOOL arg5) +{ + if (XEUNICODE_P) + return PrivilegedServiceAuditAlarmW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3, arg4, arg5); + else + return PrivilegedServiceAuditAlarmA ((LPCSTR) arg1, (LPCSTR) arg2, arg3, arg4, arg5); +} + +/* Error if QueryActCtx used: Function needs review to determine how to handle it */ + +DWORD +qxeQueryDosDevice (const Extbyte * arg1, Extbyte * arg2, DWORD arg3) +{ + if (XEUNICODE_P) + return QueryDosDeviceW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3); + else + return QueryDosDeviceA ((LPCSTR) arg1, (LPSTR) arg2, arg3); +} + +/* Error if ReadDirectoryChanges used: Unicode-only */ + +BOOL +qxeReadEventLog (HANDLE arg1, DWORD arg2, DWORD arg3, PVOID arg4, DWORD arg5, DWORD * arg6, DWORD * arg7) +{ + if (XEUNICODE_P) + return ReadEventLogW (arg1, arg2, arg3, arg4, arg5, arg6, arg7); + else + return ReadEventLogA (arg1, arg2, arg3, arg4, arg5, arg6, arg7); +} + +HANDLE +qxeRegisterEventSource (const Extbyte * arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return RegisterEventSourceW ((LPCWSTR) arg1, (LPCWSTR) arg2); + else + return RegisterEventSourceA ((LPCSTR) arg1, (LPCSTR) arg2); +} + +BOOL +qxeRemoveDirectory (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return RemoveDirectoryW ((LPCWSTR) arg1); + else + return RemoveDirectoryA ((LPCSTR) arg1); +} + +/* Error if ReplaceFile used: Function needs review to determine how to handle it */ + +BOOL +qxeReportEvent (HANDLE arg1, WORD arg2, WORD arg3, DWORD arg4, PSID arg5, WORD arg6, DWORD arg7, const Extbyte ** arg8, PVOID arg9) +{ + if (XEUNICODE_P) + return ReportEventW (arg1, arg2, arg3, arg4, arg5, arg6, arg7, (LPCWSTR*) arg8, arg9); + else + return ReportEventA (arg1, arg2, arg3, arg4, arg5, arg6, arg7, (LPCSTR*) arg8, arg9); +} + +DWORD +qxeSearchPath (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3, DWORD arg4, Extbyte * arg5, Extbyte ** arg6) +{ + if (XEUNICODE_P) + return SearchPathW ((LPCWSTR) arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, arg4, (LPWSTR) arg5, (LPWSTR*) arg6); + else + return SearchPathA ((LPCSTR) arg1, (LPCSTR) arg2, (LPCSTR) arg3, arg4, (LPSTR) arg5, (LPSTR*) arg6); +} + +BOOL +qxeSetComputerName (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return SetComputerNameW ((LPCWSTR) arg1); + else + return SetComputerNameA ((LPCSTR) arg1); +} + +/* Error if SetComputerNameEx used: Function needs review to determine how to handle it */ + +BOOL +qxeSetCurrentDirectory (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return SetCurrentDirectoryW ((LPCWSTR) arg1); + else + return SetCurrentDirectoryA ((LPCSTR) arg1); +} + +BOOL +qxeSetDefaultCommConfig (const Extbyte * arg1, LPCOMMCONFIG arg2, DWORD arg3) +{ + if (XEUNICODE_P) + return SetDefaultCommConfigW ((LPCWSTR) arg1, arg2, arg3); + else + return SetDefaultCommConfigA ((LPCSTR) arg1, arg2, arg3); +} + +/* Error if SetDllDirectory used: Function needs review to determine how to handle it */ + +BOOL +qxeSetEnvironmentVariable (const Extbyte * arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return SetEnvironmentVariableW ((LPCWSTR) arg1, (LPCWSTR) arg2); + else + return SetEnvironmentVariableA ((LPCSTR) arg1, (LPCSTR) arg2); +} + +BOOL +qxeSetFileAttributes (const Extbyte * arg1, DWORD arg2) +{ + if (XEUNICODE_P) + return SetFileAttributesW ((LPCWSTR) arg1, arg2); + else + return SetFileAttributesA ((LPCSTR) arg1, arg2); +} + +BOOL +qxeSetFileSecurity (const Extbyte * arg1, SECURITY_INFORMATION arg2, PSECURITY_DESCRIPTOR arg3) +{ + if (XEUNICODE_P) + return SetFileSecurityW ((LPCWSTR) arg1, arg2, arg3); + else + return SetFileSecurityA ((LPCSTR) arg1, arg2, arg3); +} + +/* Error if SetFileShortName used: Function needs review to determine how to handle it */ + +/* Error if SetFirmwareEnvironmentVariable used: Function needs review to determine how to handle it */ + +BOOL +qxeSetVolumeLabel (const Extbyte * arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return SetVolumeLabelW ((LPCWSTR) arg1, (LPCWSTR) arg2); + else + return SetVolumeLabelA ((LPCSTR) arg1, (LPCSTR) arg2); +} + +/* Error if SetVolumeMountPoint used: Function needs review to determine how to handle it */ + +BOOL +qxeUpdateResource (HANDLE arg1, const Extbyte * arg2, const Extbyte * arg3, WORD arg4, PVOID arg5, DWORD arg6) +{ + if (XEUNICODE_P) + return UpdateResourceW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, arg4, arg5, arg6); + else + return UpdateResourceA (arg1, (LPCSTR) arg2, (LPCSTR) arg3, arg4, arg5, arg6); +} + +/* Error if VerifyVersionInfo used: Function needs review to determine how to handle it */ + +BOOL +qxeWaitNamedPipe (const Extbyte * arg1, DWORD arg2) +{ + if (XEUNICODE_P) + return WaitNamedPipeW ((LPCWSTR) arg1, arg2); + else + return WaitNamedPipeA ((LPCSTR) arg1, arg2); +} + +BOOL +qxeWritePrivateProfileSection (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3) +{ + if (XEUNICODE_P) + return WritePrivateProfileSectionW ((LPCWSTR) arg1, (LPCWSTR) arg2, (LPCWSTR) arg3); + else + return WritePrivateProfileSectionA ((LPCSTR) arg1, (LPCSTR) arg2, (LPCSTR) arg3); +} + +BOOL +qxeWritePrivateProfileString (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3, const Extbyte * arg4) +{ + if (XEUNICODE_P) + return WritePrivateProfileStringW ((LPCWSTR) arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, (LPCWSTR) arg4); + else + return WritePrivateProfileStringA ((LPCSTR) arg1, (LPCSTR) arg2, (LPCSTR) arg3, (LPCSTR) arg4); +} + +BOOL +qxeWritePrivateProfileStruct (const Extbyte * arg1, const Extbyte * arg2, LPVOID arg3, UINT arg4, const Extbyte * arg5) +{ + if (XEUNICODE_P) + return WritePrivateProfileStructW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3, arg4, (LPCWSTR) arg5); + else + return WritePrivateProfileStructA ((LPCSTR) arg1, (LPCSTR) arg2, arg3, arg4, (LPCSTR) arg5); +} + +BOOL +qxeWriteProfileSection (const Extbyte * arg1, const Extbyte * arg2) +{ + if (XEUNICODE_P) + return WriteProfileSectionW ((LPCWSTR) arg1, (LPCWSTR) arg2); + else + return WriteProfileSectionA ((LPCSTR) arg1, (LPCSTR) arg2); +} + +BOOL +qxeWriteProfileString (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3) +{ + if (XEUNICODE_P) + return WriteProfileStringW ((LPCWSTR) arg1, (LPCWSTR) arg2, (LPCWSTR) arg3); + else + return WriteProfileStringA ((LPCSTR) arg1, (LPCSTR) arg2, (LPCSTR) arg3); +} + + +/*----------------------------------------------------------------------*/ +/* Processing file ACLAPI.h */ +/*----------------------------------------------------------------------*/ + +/* Error if BuildExplicitAccessWithName used: Function needs review to determine how to handle it */ + +/* Error if BuildSecurityDescriptor used: Function needs review to determine how to handle it */ + +/* Error if BuildTrusteeWithName used: Function needs review to determine how to handle it */ + +/* Error if BuildTrusteeWithObjectsAndName used: Function needs review to determine how to handle it */ + +/* Error if BuildTrusteeWithObjectsAndSid used: Function needs review to determine how to handle it */ + +/* Error if BuildTrusteeWithSid used: Function needs review to determine how to handle it */ + +/* Error if GetAuditedPermissionsFromAcl used: Function needs review to determine how to handle it */ + +/* Error if GetEffectiveRightsFromAcl used: Function needs review to determine how to handle it */ + +/* Error if GetExplicitEntriesFromAcl used: Function needs review to determine how to handle it */ + +DWORD +qxeGetNamedSecurityInfo (Extbyte * arg1, SE_OBJECT_TYPE arg2, SECURITY_INFORMATION arg3, PSID* arg4, PSID* arg5, PACL* arg6, PACL* arg7, PSECURITY_DESCRIPTOR* arg8) +{ + if (XEUNICODE_P) + return GetNamedSecurityInfoW ((LPWSTR) arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + else + return GetNamedSecurityInfoA ((LPSTR) arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); +} + +/* Error if GetTrusteeForm used: Function needs review to determine how to handle it */ + +/* Error if GetTrusteeName used: Function needs review to determine how to handle it */ + +/* Error if GetTrusteeType used: Function needs review to determine how to handle it */ + +/* Error if LookupSecurityDescriptorParts used: Function needs review to determine how to handle it */ + +/* Error if SetEntriesInAcl used: Function needs review to determine how to handle it */ + +/* Error if SetNamedSecurityInfo used: Function needs review to determine how to handle it */ + +/* Error if BuildImpersonateExplicitAccessWithName used: Function needs review to determine how to handle it */ + +/* Error if BuildImpersonateTrustee used: Function needs review to determine how to handle it */ + +/* Error if GetMultipleTrustee used: Function needs review to determine how to handle it */ + +/* Error if GetMultipleTrusteeOperation used: Function needs review to determine how to handle it */ + + +/*----------------------------------------------------------------------*/ /* Processing file MMSYSTEM.H */ /*----------------------------------------------------------------------*/ BOOL -qxesndPlaySound (const Extbyte * pszSound, UINT fuSound) -{ - if (XEUNICODE_P) - return sndPlaySoundW ((LPCWSTR) pszSound, fuSound); - else - return sndPlaySoundA ((LPCSTR) pszSound, fuSound); +qxesndPlaySound (const Extbyte * arg1, UINT arg2) +{ + if (XEUNICODE_P) + return sndPlaySoundW ((LPCWSTR) arg1, arg2); + else + return sndPlaySoundA ((LPCSTR) arg1, arg2); } BOOL -qxePlaySound (const Extbyte * pszSound, HMODULE hmod, DWORD fdwSound) -{ - if (XEUNICODE_P) - return PlaySoundW ((LPCWSTR) pszSound, hmod, fdwSound); - else - return PlaySoundA ((LPCSTR) pszSound, hmod, fdwSound); +qxePlaySound (const Extbyte * arg1, HMODULE arg2, DWORD arg3) +{ + if (XEUNICODE_P) + return PlaySoundW ((LPCWSTR) arg1, arg2, arg3); + else + return PlaySoundA ((LPCSTR) arg1, arg2, arg3); } /* Error if waveOutGetDevCaps used: split-sized LPWAVEOUTCAPS */ MMRESULT -qxewaveOutGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText) -{ - if (XEUNICODE_P) - return waveOutGetErrorTextW (mmrError, (LPWSTR) pszText, cchText); - else - return waveOutGetErrorTextA (mmrError, (LPSTR) pszText, cchText); +qxewaveOutGetErrorText (MMRESULT arg1, Extbyte * arg2, UINT arg3) +{ + if (XEUNICODE_P) + return waveOutGetErrorTextW (arg1, (LPWSTR) arg2, arg3); + else + return waveOutGetErrorTextA (arg1, (LPSTR) arg2, arg3); } /* Error if waveInGetDevCaps used: split-sized LPWAVEINCAPS */ MMRESULT -qxewaveInGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText) -{ - if (XEUNICODE_P) - return waveInGetErrorTextW (mmrError, (LPWSTR) pszText, cchText); - else - return waveInGetErrorTextA (mmrError, (LPSTR) pszText, cchText); +qxewaveInGetErrorText (MMRESULT arg1, Extbyte * arg2, UINT arg3) +{ + if (XEUNICODE_P) + return waveInGetErrorTextW (arg1, (LPWSTR) arg2, arg3); + else + return waveInGetErrorTextA (arg1, (LPSTR) arg2, arg3); } /* Error if midiOutGetDevCaps used: split-sized LPMIDIOUTCAPS */ MMRESULT -qxemidiOutGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText) -{ - if (XEUNICODE_P) - return midiOutGetErrorTextW (mmrError, (LPWSTR) pszText, cchText); - else - return midiOutGetErrorTextA (mmrError, (LPSTR) pszText, cchText); +qxemidiOutGetErrorText (MMRESULT arg1, Extbyte * arg2, UINT arg3) +{ + if (XEUNICODE_P) + return midiOutGetErrorTextW (arg1, (LPWSTR) arg2, arg3); + else + return midiOutGetErrorTextA (arg1, (LPSTR) arg2, arg3); } /* Error if midiInGetDevCaps used: split-sized LPMIDIOUTCAPS */ MMRESULT -qxemidiInGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText) -{ - if (XEUNICODE_P) - return midiInGetErrorTextW (mmrError, (LPWSTR) pszText, cchText); - else - return midiInGetErrorTextA (mmrError, (LPSTR) pszText, cchText); +qxemidiInGetErrorText (MMRESULT arg1, Extbyte * arg2, UINT arg3) +{ + if (XEUNICODE_P) + return midiInGetErrorTextW (arg1, (LPWSTR) arg2, arg3); + else + return midiInGetErrorTextA (arg1, (LPSTR) arg2, arg3); } /* Error if auxGetDevCaps used: split-sized LPAUXCAPS */ @@ -1820,66 +4226,66 @@ /* Error if joyGetDevCaps used: split-sized LPJOYCAPS */ FOURCC -qxemmioStringToFOURCC (const Extbyte * sz, UINT uFlags) -{ - if (XEUNICODE_P) - return mmioStringToFOURCCW ((LPCWSTR) sz, uFlags); - else - return mmioStringToFOURCCA ((LPCSTR) sz, uFlags); +qxemmioStringToFOURCC (const Extbyte * arg1, UINT arg2) +{ + if (XEUNICODE_P) + return mmioStringToFOURCCW ((LPCWSTR) arg1, arg2); + else + return mmioStringToFOURCCA ((LPCSTR) arg1, arg2); } LPMMIOPROC -qxemmioInstallIOProc (FOURCC fccIOProc, LPMMIOPROC pIOProc, DWORD dwFlags) -{ - if (XEUNICODE_P) - return mmioInstallIOProcW (fccIOProc, pIOProc, dwFlags); - else - return mmioInstallIOProcA (fccIOProc, pIOProc, dwFlags); +qxemmioInstallIOProc (FOURCC arg1, LPMMIOPROC arg2, DWORD arg3) +{ + if (XEUNICODE_P) + return mmioInstallIOProcW (arg1, arg2, arg3); + else + return mmioInstallIOProcA (arg1, arg2, arg3); } HMMIO -qxemmioOpen (Extbyte * pszFileName, LPMMIOINFO pmmioinfo, DWORD fdwOpen) -{ - if (XEUNICODE_P) - return mmioOpenW ((LPWSTR) pszFileName, pmmioinfo, fdwOpen); - else - return mmioOpenA ((LPSTR) pszFileName, pmmioinfo, fdwOpen); +qxemmioOpen (Extbyte * arg1, LPMMIOINFO arg2, DWORD arg3) +{ + if (XEUNICODE_P) + return mmioOpenW ((LPWSTR) arg1, arg2, arg3); + else + return mmioOpenA ((LPSTR) arg1, arg2, arg3); } MMRESULT -qxemmioRename (const Extbyte * pszFileName, const Extbyte * pszNewFileName, LPCMMIOINFO pmmioinfo, DWORD fdwRename) -{ - if (XEUNICODE_P) - return mmioRenameW ((LPCWSTR) pszFileName, (LPCWSTR) pszNewFileName, pmmioinfo, fdwRename); - else - return mmioRenameA ((LPCSTR) pszFileName, (LPCSTR) pszNewFileName, pmmioinfo, fdwRename); +qxemmioRename (const Extbyte * arg1, const Extbyte * arg2, LPCMMIOINFO arg3, DWORD arg4) +{ + if (XEUNICODE_P) + return mmioRenameW ((LPCWSTR) arg1, (LPCWSTR) arg2, arg3, arg4); + else + return mmioRenameA ((LPCSTR) arg1, (LPCSTR) arg2, arg3, arg4); } MCIERROR -qxemciSendCommand (MCIDEVICEID mciId, UINT uMsg, DWORD dwParam1, DWORD dwParam2) -{ - if (XEUNICODE_P) - return mciSendCommandW (mciId, uMsg, dwParam1, dwParam2); - else - return mciSendCommandA (mciId, uMsg, dwParam1, dwParam2); +qxemciSendCommand (MCIDEVICEID arg1, UINT arg2, DWORD arg3, DWORD arg4) +{ + if (XEUNICODE_P) + return mciSendCommandW (arg1, arg2, arg3, arg4); + else + return mciSendCommandA (arg1, arg2, arg3, arg4); } MCIERROR -qxemciSendString (const Extbyte * lpstrCommand, Extbyte * lpstrReturnString, UINT uReturnLength, HWND hwndCallback) -{ - if (XEUNICODE_P) - return mciSendStringW ((LPCWSTR) lpstrCommand, (LPWSTR) lpstrReturnString, uReturnLength, hwndCallback); - else - return mciSendStringA ((LPCSTR) lpstrCommand, (LPSTR) lpstrReturnString, uReturnLength, hwndCallback); +qxemciSendString (const Extbyte * arg1, Extbyte * arg2, UINT arg3, HWND arg4) +{ + if (XEUNICODE_P) + return mciSendStringW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3, arg4); + else + return mciSendStringA ((LPCSTR) arg1, (LPSTR) arg2, arg3, arg4); } MCIDEVICEID -qxemciGetDeviceID (const Extbyte * pszDevice) -{ - if (XEUNICODE_P) - return mciGetDeviceIDW ((LPCWSTR) pszDevice); - else - return mciGetDeviceIDA ((LPCSTR) pszDevice); +qxemciGetDeviceID (const Extbyte * arg1) +{ + if (XEUNICODE_P) + return mciGetDeviceIDW ((LPCWSTR) arg1); + else + return mciGetDeviceIDA ((LPCSTR) arg1); } #if !defined (MINGW) @@ -1889,2228 +4295,11 @@ #endif /* !defined (MINGW) */ BOOL -qxemciGetErrorString (MCIERROR mcierr, Extbyte * pszText, UINT cchText) -{ - if (XEUNICODE_P) - return mciGetErrorStringW (mcierr, (LPWSTR) pszText, cchText); - else - return mciGetErrorStringA (mcierr, (LPSTR) pszText, cchText); -} - - -/*----------------------------------------------------------------------*/ -/* Processing file WINCON.H */ -/*----------------------------------------------------------------------*/ - -BOOL -qxePeekConsoleInput (HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsRead) -{ - if (XEUNICODE_P) - return PeekConsoleInputW (hConsoleInput, lpBuffer, nLength, lpNumberOfEventsRead); - else - return PeekConsoleInputA (hConsoleInput, lpBuffer, nLength, lpNumberOfEventsRead); -} - -BOOL -qxeReadConsoleInput (HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsRead) -{ - if (XEUNICODE_P) - return ReadConsoleInputW (hConsoleInput, lpBuffer, nLength, lpNumberOfEventsRead); - else - return ReadConsoleInputA (hConsoleInput, lpBuffer, nLength, lpNumberOfEventsRead); -} - -BOOL -qxeWriteConsoleInput (HANDLE hConsoleInput, CONST INPUT_RECORD * lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsWritten) -{ - if (XEUNICODE_P) - return WriteConsoleInputW (hConsoleInput, lpBuffer, nLength, lpNumberOfEventsWritten); - else - return WriteConsoleInputA (hConsoleInput, lpBuffer, nLength, lpNumberOfEventsWritten); -} - -BOOL -qxeReadConsoleOutput (HANDLE hConsoleOutput, PCHAR_INFO lpBuffer, COORD dwBufferSize, COORD dwBufferCoord, PSMALL_RECT lpReadRegion) -{ - if (XEUNICODE_P) - return ReadConsoleOutputW (hConsoleOutput, lpBuffer, dwBufferSize, dwBufferCoord, lpReadRegion); - else - return ReadConsoleOutputA (hConsoleOutput, lpBuffer, dwBufferSize, dwBufferCoord, lpReadRegion); -} - -BOOL -qxeWriteConsoleOutput (HANDLE hConsoleOutput, CONST CHAR_INFO * lpBuffer, COORD dwBufferSize, COORD dwBufferCoord, PSMALL_RECT lpWriteRegion) -{ - if (XEUNICODE_P) - return WriteConsoleOutputW (hConsoleOutput, lpBuffer, dwBufferSize, dwBufferCoord, lpWriteRegion); - else - return WriteConsoleOutputA (hConsoleOutput, lpBuffer, dwBufferSize, dwBufferCoord, lpWriteRegion); -} - -BOOL -qxeReadConsoleOutputCharacter (HANDLE hConsoleOutput, Extbyte * lpCharacter, DWORD nLength, COORD dwReadCoord, LPDWORD lpNumberOfCharsRead) -{ - if (XEUNICODE_P) - return ReadConsoleOutputCharacterW (hConsoleOutput, (LPWSTR) lpCharacter, nLength, dwReadCoord, lpNumberOfCharsRead); - else - return ReadConsoleOutputCharacterA (hConsoleOutput, (LPSTR) lpCharacter, nLength, dwReadCoord, lpNumberOfCharsRead); -} - -BOOL -qxeWriteConsoleOutputCharacter (HANDLE hConsoleOutput, const Extbyte * lpCharacter, DWORD nLength, COORD dwWriteCoord, LPDWORD lpNumberOfCharsWritten) -{ - if (XEUNICODE_P) - return WriteConsoleOutputCharacterW (hConsoleOutput, (LPCWSTR) lpCharacter, nLength, dwWriteCoord, lpNumberOfCharsWritten); - else - return WriteConsoleOutputCharacterA (hConsoleOutput, (LPCSTR) lpCharacter, nLength, dwWriteCoord, lpNumberOfCharsWritten); -} - -/* Error if FillConsoleOutputCharacter used: split CHAR */ - -BOOL -qxeScrollConsoleScreenBuffer (HANDLE hConsoleOutput, CONST SMALL_RECT * lpScrollRectangle, CONST SMALL_RECT * lpClipRectangle, COORD dwDestinationOrigin, CONST CHAR_INFO * lpFill) -{ - if (XEUNICODE_P) - return ScrollConsoleScreenBufferW (hConsoleOutput, lpScrollRectangle, lpClipRectangle, dwDestinationOrigin, lpFill); - else - return ScrollConsoleScreenBufferA (hConsoleOutput, lpScrollRectangle, lpClipRectangle, dwDestinationOrigin, lpFill); -} - -DWORD -qxeGetConsoleTitle (Extbyte * lpConsoleTitle, DWORD nSize) -{ - if (XEUNICODE_P) - return GetConsoleTitleW ((LPWSTR) lpConsoleTitle, nSize); - else - return GetConsoleTitleA ((LPSTR) lpConsoleTitle, nSize); -} - -BOOL -qxeSetConsoleTitle (const Extbyte * lpConsoleTitle) -{ - if (XEUNICODE_P) - return SetConsoleTitleW ((LPCWSTR) lpConsoleTitle); - else - return SetConsoleTitleA ((LPCSTR) lpConsoleTitle); -} - -BOOL -qxeReadConsole (HANDLE hConsoleInput, LPVOID lpBuffer, DWORD nNumberOfCharsToRead, LPDWORD lpNumberOfCharsRead, LPVOID lpReserved) -{ - if (XEUNICODE_P) - return ReadConsoleW (hConsoleInput, lpBuffer, nNumberOfCharsToRead, lpNumberOfCharsRead, lpReserved); - else - return ReadConsoleA (hConsoleInput, lpBuffer, nNumberOfCharsToRead, lpNumberOfCharsRead, lpReserved); -} - -BOOL -qxeWriteConsole (HANDLE hConsoleOutput, CONST VOID * lpBuffer, DWORD nNumberOfCharsToWrite, LPDWORD lpNumberOfCharsWritten, LPVOID lpReserved) -{ - if (XEUNICODE_P) - return WriteConsoleW (hConsoleOutput, lpBuffer, nNumberOfCharsToWrite, lpNumberOfCharsWritten, lpReserved); - else - return WriteConsoleA (hConsoleOutput, lpBuffer, nNumberOfCharsToWrite, lpNumberOfCharsWritten, lpReserved); -} - - -/*----------------------------------------------------------------------*/ -/* Processing file WINNETWK.H */ -/*----------------------------------------------------------------------*/ - -#if defined (HAVE_MS_WINDOWS) - -DWORD -qxeWNetAddConnection (const Extbyte * lpRemoteName, const Extbyte * lpPassword, const Extbyte * lpLocalName) -{ - if (XEUNICODE_P) - return WNetAddConnectionW ((LPCWSTR) lpRemoteName, (LPCWSTR) lpPassword, (LPCWSTR) lpLocalName); - else - return WNetAddConnectionA ((LPCSTR) lpRemoteName, (LPCSTR) lpPassword, (LPCSTR) lpLocalName); -} - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -DWORD -qxeWNetAddConnection2 (LPNETRESOURCEW lpNetResource, const Extbyte * lpPassword, const Extbyte * lpUserName, DWORD dwFlags) -{ - if (XEUNICODE_P) - return WNetAddConnection2W (lpNetResource, (LPCWSTR) lpPassword, (LPCWSTR) lpUserName, dwFlags); - else - return WNetAddConnection2A ((LPNETRESOURCEA) lpNetResource, (LPCSTR) lpPassword, (LPCSTR) lpUserName, dwFlags); -} - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -DWORD -qxeWNetAddConnection3 (HWND hwndOwner, LPNETRESOURCEW lpNetResource, const Extbyte * lpPassword, const Extbyte * lpUserName, DWORD dwFlags) -{ - if (XEUNICODE_P) - return WNetAddConnection3W (hwndOwner, lpNetResource, (LPCWSTR) lpPassword, (LPCWSTR) lpUserName, dwFlags); - else - return WNetAddConnection3A (hwndOwner, (LPNETRESOURCEA) lpNetResource, (LPCSTR) lpPassword, (LPCSTR) lpUserName, dwFlags); -} - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -DWORD -qxeWNetCancelConnection (const Extbyte * lpName, BOOL fForce) -{ - if (XEUNICODE_P) - return WNetCancelConnectionW ((LPCWSTR) lpName, fForce); - else - return WNetCancelConnectionA ((LPCSTR) lpName, fForce); -} - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -DWORD -qxeWNetCancelConnection2 (const Extbyte * lpName, DWORD dwFlags, BOOL fForce) -{ - if (XEUNICODE_P) - return WNetCancelConnection2W ((LPCWSTR) lpName, dwFlags, fForce); - else - return WNetCancelConnection2A ((LPCSTR) lpName, dwFlags, fForce); -} - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -DWORD -qxeWNetGetConnection (const Extbyte * lpLocalName, Extbyte * lpRemoteName, LPDWORD lpnLength) -{ - if (XEUNICODE_P) - return WNetGetConnectionW ((LPCWSTR) lpLocalName, (LPWSTR) lpRemoteName, lpnLength); - else - return WNetGetConnectionA ((LPCSTR) lpLocalName, (LPSTR) lpRemoteName, lpnLength); -} - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -DWORD -qxeWNetUseConnection (HWND hwndOwner, LPNETRESOURCEW lpNetResource, const Extbyte * lpUserID, const Extbyte * lpPassword, DWORD dwFlags, Extbyte * lpAccessName, LPDWORD lpBufferSize, LPDWORD lpResult) -{ - if (XEUNICODE_P) - return WNetUseConnectionW (hwndOwner, lpNetResource, (LPCWSTR) lpUserID, (LPCWSTR) lpPassword, dwFlags, (LPWSTR) lpAccessName, lpBufferSize, lpResult); - else - return WNetUseConnectionA (hwndOwner, (LPNETRESOURCEA) lpNetResource, (LPCSTR) lpUserID, (LPCSTR) lpPassword, dwFlags, (LPSTR) lpAccessName, lpBufferSize, lpResult); -} - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -/* NOTE: contains split-simple LPNETRESOURCE */ -DWORD -qxeWNetConnectionDialog1 (LPCONNECTDLGSTRUCTW lpConnDlgStruct) -{ - if (XEUNICODE_P) - return WNetConnectionDialog1W (lpConnDlgStruct); - else - return WNetConnectionDialog1A ((LPCONNECTDLGSTRUCTA) lpConnDlgStruct); -} - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -DWORD -qxeWNetDisconnectDialog1 (LPDISCDLGSTRUCTW lpConnDlgStruct) -{ - if (XEUNICODE_P) - return WNetDisconnectDialog1W (lpConnDlgStruct); - else - return WNetDisconnectDialog1A ((LPDISCDLGSTRUCTA) lpConnDlgStruct); -} - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -DWORD -qxeWNetOpenEnum (DWORD dwScope, DWORD dwType, DWORD dwUsage, LPNETRESOURCEW lpNetResource, LPHANDLE lphEnum) -{ - if (XEUNICODE_P) - return WNetOpenEnumW (dwScope, dwType, dwUsage, lpNetResource, lphEnum); - else - return WNetOpenEnumA (dwScope, dwType, dwUsage, (LPNETRESOURCEA) lpNetResource, lphEnum); -} - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -DWORD -qxeWNetEnumResource (HANDLE hEnum, LPDWORD lpcCount, LPVOID lpBuffer, LPDWORD lpBufferSize) -{ - if (XEUNICODE_P) - return WNetEnumResourceW (hEnum, lpcCount, lpBuffer, lpBufferSize); - else - return WNetEnumResourceA (hEnum, lpcCount, lpBuffer, lpBufferSize); -} - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -DWORD -qxeWNetGetUniversalName (const Extbyte * lpLocalPath, DWORD dwInfoLevel, LPVOID lpBuffer, LPDWORD lpBufferSize) -{ - if (XEUNICODE_P) - return WNetGetUniversalNameW ((LPCWSTR) lpLocalPath, dwInfoLevel, lpBuffer, lpBufferSize); - else - return WNetGetUniversalNameA ((LPCSTR) lpLocalPath, dwInfoLevel, lpBuffer, lpBufferSize); -} - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -DWORD -qxeWNetGetUser (const Extbyte * lpName, Extbyte * lpUserName, LPDWORD lpnLength) -{ - if (XEUNICODE_P) - return WNetGetUserW ((LPCWSTR) lpName, (LPWSTR) lpUserName, lpnLength); - else - return WNetGetUserA ((LPCSTR) lpName, (LPSTR) lpUserName, lpnLength); -} - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -DWORD -qxeWNetGetProviderName (DWORD dwNetType, Extbyte * lpProviderName, LPDWORD lpBufferSize) -{ - if (XEUNICODE_P) - return WNetGetProviderNameW (dwNetType, (LPWSTR) lpProviderName, lpBufferSize); - else - return WNetGetProviderNameA (dwNetType, (LPSTR) lpProviderName, lpBufferSize); -} - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -DWORD -qxeWNetGetNetworkInformation (const Extbyte * lpProvider, LPNETINFOSTRUCT lpNetInfoStruct) -{ - if (XEUNICODE_P) - return WNetGetNetworkInformationW ((LPCWSTR) lpProvider, lpNetInfoStruct); - else - return WNetGetNetworkInformationA ((LPCSTR) lpProvider, lpNetInfoStruct); -} - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -DWORD -qxeWNetGetLastError (LPDWORD lpError, Extbyte * lpErrorBuf, DWORD nErrorBufSize, Extbyte * lpNameBuf, DWORD nNameBufSize) -{ - if (XEUNICODE_P) - return WNetGetLastErrorW (lpError, (LPWSTR) lpErrorBuf, nErrorBufSize, (LPWSTR) lpNameBuf, nNameBufSize); - else - return WNetGetLastErrorA (lpError, (LPSTR) lpErrorBuf, nErrorBufSize, (LPSTR) lpNameBuf, nNameBufSize); -} - -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) - -DWORD -qxeMultinetGetConnectionPerformance (LPNETRESOURCEW lpNetResource, LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct) -{ - if (XEUNICODE_P) - return MultinetGetConnectionPerformanceW (lpNetResource, lpNetConnectInfoStruct); - else - return MultinetGetConnectionPerformanceA ((LPNETRESOURCEA) lpNetResource, lpNetConnectInfoStruct); -} - -#endif /* defined (HAVE_MS_WINDOWS) */ - - -/*----------------------------------------------------------------------*/ -/* Processing file DDEML.H */ -/*----------------------------------------------------------------------*/ - -UINT -qxeDdeInitialize (LPDWORD pidInst, PFNCALLBACK pfnCallback, DWORD afCmd, DWORD ulRes) -{ - if (XEUNICODE_P) - return DdeInitializeW (pidInst, pfnCallback, afCmd, ulRes); - else - return DdeInitializeA (pidInst, pfnCallback, afCmd, ulRes); -} - -/* Skipping DdeCreateStringHandle because error in Cygwin prototype */ - -DWORD -qxeDdeQueryString (DWORD idInst, HSZ hsz, Extbyte * psz, DWORD cchMax, int iCodePage) -{ - if (XEUNICODE_P) - return DdeQueryStringW (idInst, hsz, (LPWSTR) psz, cchMax, iCodePage); - else - return DdeQueryStringA (idInst, hsz, (LPSTR) psz, cchMax, iCodePage); -} - - -/*----------------------------------------------------------------------*/ -/* Processing file WINGDI.H */ -/*----------------------------------------------------------------------*/ - -int -qxeAddFontResource (const Extbyte * arg1) -{ - if (XEUNICODE_P) - return AddFontResourceW ((LPCWSTR) arg1); - else - return AddFontResourceA ((LPCSTR) arg1); -} - -HMETAFILE -qxeCopyMetaFile (HMETAFILE arg1, const Extbyte * arg2) -{ - if (XEUNICODE_P) - return CopyMetaFileW (arg1, (LPCWSTR) arg2); - else - return CopyMetaFileA (arg1, (LPCSTR) arg2); -} - -/* Skipping CreateDC because split-sized DEVMODE */ - -/* Skipping CreateFontIndirect because split-sized LOGFONT */ - -HFONT -qxeCreateFont (int arg1, int arg2, int arg3, int arg4, int arg5, DWORD arg6, DWORD arg7, DWORD arg8, DWORD arg9, DWORD arg10, DWORD arg11, DWORD arg12, DWORD arg13, const Extbyte * arg14) -{ - if (XEUNICODE_P) - return CreateFontW (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, (LPCWSTR) arg14); - else - return CreateFontA (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, (LPCSTR) arg14); -} - -/* Skipping CreateIC because split-sized DEVMODE */ - -HDC -qxeCreateMetaFile (const Extbyte * arg1) -{ - if (XEUNICODE_P) - return CreateMetaFileW ((LPCWSTR) arg1); - else - return CreateMetaFileA ((LPCSTR) arg1); -} - -BOOL -qxeCreateScalableFontResource (DWORD arg1, const Extbyte * arg2, const Extbyte * arg3, const Extbyte * arg4) -{ - if (XEUNICODE_P) - return CreateScalableFontResourceW (arg1, (LPCWSTR) arg2, (LPCWSTR) arg3, (LPCWSTR) arg4); - else - return CreateScalableFontResourceA (arg1, (LPCSTR) arg2, (LPCSTR) arg3, (LPCSTR) arg4); -} - -/* Skipping DeviceCapabilities because split-sized DEVMODE */ - -/* Skipping EnumFontFamiliesEx because split-complex FONTENUMPROC; NT 4.0+ only */ - -/* Error if EnumFontFamilies used: split-complex FONTENUMPROC */ - -/* Error if EnumFonts used: split-complex FONTENUMPROC */ - -BOOL -qxeGetCharWidth (HDC arg1, UINT arg2, UINT arg3, LPINT arg4) -{ - if (XEUNICODE_P) - return GetCharWidthW (arg1, arg2, arg3, arg4); - else - return GetCharWidthA (arg1, arg2, arg3, arg4); -} - -BOOL -qxeGetCharWidth32 (HDC arg1, UINT arg2, UINT arg3, LPINT arg4) -{ - if (XEUNICODE_P) - return GetCharWidth32W (arg1, arg2, arg3, arg4); - else - return GetCharWidth32A (arg1, arg2, arg3, arg4); -} - -BOOL -qxeGetCharWidthFloat (HDC arg1, UINT arg2, UINT arg3, PFLOAT arg4) -{ - if (XEUNICODE_P) - return GetCharWidthFloatW (arg1, arg2, arg3, arg4); - else - return GetCharWidthFloatA (arg1, arg2, arg3, arg4); -} - -BOOL -qxeGetCharABCWidths (HDC arg1, UINT arg2, UINT arg3, LPABC arg4) -{ - if (XEUNICODE_P) - return GetCharABCWidthsW (arg1, arg2, arg3, arg4); - else - return GetCharABCWidthsA (arg1, arg2, arg3, arg4); -} - -BOOL -qxeGetCharABCWidthsFloat (HDC arg1, UINT arg2, UINT arg3, LPABCFLOAT arg4) -{ - if (XEUNICODE_P) - return GetCharABCWidthsFloatW (arg1, arg2, arg3, arg4); - else - return GetCharABCWidthsFloatA (arg1, arg2, arg3, arg4); -} - -DWORD -qxeGetGlyphOutline (HDC arg1, UINT arg2, UINT arg3, LPGLYPHMETRICS arg4, DWORD arg5, LPVOID arg6, CONST MAT2 * arg7) -{ - if (XEUNICODE_P) - return GetGlyphOutlineW (arg1, arg2, arg3, arg4, arg5, arg6, arg7); - else - return GetGlyphOutlineA (arg1, arg2, arg3, arg4, arg5, arg6, arg7); -} - -HMETAFILE -qxeGetMetaFile (const Extbyte * arg1) -{ - if (XEUNICODE_P) - return GetMetaFileW ((LPCWSTR) arg1); - else - return GetMetaFileA ((LPCSTR) arg1); -} - -/* Error if GetOutlineTextMetrics used: split-sized LPOUTLINETEXTMETRIC */ - -BOOL -qxeGetTextExtentPoint (HDC arg1, const Extbyte * arg2, int arg3, LPSIZE arg4) -{ - if (XEUNICODE_P) - return GetTextExtentPointW (arg1, (LPCWSTR) arg2, arg3, arg4); - else - return GetTextExtentPointA (arg1, (LPCSTR) arg2, arg3, arg4); -} - -BOOL -qxeGetTextExtentPoint32 (HDC arg1, const Extbyte * arg2, int arg3, LPSIZE arg4) -{ - if (XEUNICODE_P) - return GetTextExtentPoint32W (arg1, (LPCWSTR) arg2, arg3, arg4); - else - return GetTextExtentPoint32A (arg1, (LPCSTR) arg2, arg3, arg4); -} - -BOOL -qxeGetTextExtentExPoint (HDC arg1, const Extbyte * arg2, int arg3, int arg4, LPINT arg5, LPINT arg6, LPSIZE arg7) -{ - if (XEUNICODE_P) - return GetTextExtentExPointW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5, arg6, arg7); - else - return GetTextExtentExPointA (arg1, (LPCSTR) arg2, arg3, arg4, arg5, arg6, arg7); -} - -/* NOTE: NT 4.0+ only */ -DWORD -qxeGetCharacterPlacement (HDC arg1, const Extbyte * arg2, int arg3, int arg4, LPGCP_RESULTSW arg5, DWORD arg6) -{ - if (XEUNICODE_P) - return GetCharacterPlacementW (arg1, (LPCWSTR) arg2, arg3, arg4, arg5, arg6); - else - return GetCharacterPlacementA (arg1, (LPCSTR) arg2, arg3, arg4, (LPGCP_RESULTSA) arg5, arg6); -} - -/* Error if GetGlyphIndices used: NT 5.0+ only */ - -/* Error if AddFontResourceEx used: NT 5.0+ only */ - -/* Error if RemoveFontResourceEx used: NT 5.0+ only */ - -/* Error if CreateFontIndirectEx used: split-sized ENUMLOGFONTEXDV; NT 5.0+ only */ - -/* Skipping ResetDC because split-sized DEVMODE */ - -BOOL -qxeRemoveFontResource (const Extbyte * arg1) -{ - if (XEUNICODE_P) - return RemoveFontResourceW ((LPCWSTR) arg1); - else - return RemoveFontResourceA ((LPCSTR) arg1); -} - -HENHMETAFILE -qxeCopyEnhMetaFile (HENHMETAFILE arg1, const Extbyte * arg2) -{ - if (XEUNICODE_P) - return CopyEnhMetaFileW (arg1, (LPCWSTR) arg2); - else - return CopyEnhMetaFileA (arg1, (LPCSTR) arg2); -} - -HDC -qxeCreateEnhMetaFile (HDC arg1, const Extbyte * arg2, CONST RECT * arg3, const Extbyte * arg4) -{ - if (XEUNICODE_P) - return CreateEnhMetaFileW (arg1, (LPCWSTR) arg2, arg3, (LPCWSTR) arg4); - else - return CreateEnhMetaFileA (arg1, (LPCSTR) arg2, arg3, (LPCSTR) arg4); -} - -HENHMETAFILE -qxeGetEnhMetaFile (const Extbyte * arg1) -{ - if (XEUNICODE_P) - return GetEnhMetaFileW ((LPCWSTR) arg1); - else - return GetEnhMetaFileA ((LPCSTR) arg1); -} - -UINT -qxeGetEnhMetaFileDescription (HENHMETAFILE arg1, UINT arg2, Extbyte * arg3) -{ - if (XEUNICODE_P) - return GetEnhMetaFileDescriptionW (arg1, arg2, (LPWSTR) arg3); - else - return GetEnhMetaFileDescriptionA (arg1, arg2, (LPSTR) arg3); -} - -/* Skipping GetTextMetrics because split-sized LPTEXTMETRIC */ - -int -qxeStartDoc (HDC arg1, CONST DOCINFOW * arg2) -{ - if (XEUNICODE_P) - return StartDocW (arg1, arg2); - else - return StartDocA (arg1, (CONST DOCINFOA *) arg2); -} - -/* Skipping GetObject because split-sized LOGFONT */ - -BOOL -qxeTextOut (HDC arg1, int arg2, int arg3, const Extbyte * arg4, int arg5) -{ - if (XEUNICODE_P) - return TextOutW (arg1, arg2, arg3, (LPCWSTR) arg4, arg5); - else - return TextOutA (arg1, arg2, arg3, (LPCSTR) arg4, arg5); -} - -BOOL -qxeExtTextOut (HDC arg1, int arg2, int arg3, UINT arg4, CONST RECT * arg5, const Extbyte * arg6, UINT arg7, CONST INT * arg8) -{ - if (XEUNICODE_P) - return ExtTextOutW (arg1, arg2, arg3, arg4, arg5, (LPCWSTR) arg6, arg7, arg8); - else - return ExtTextOutA (arg1, arg2, arg3, arg4, arg5, (LPCSTR) arg6, arg7, arg8); -} - -BOOL -qxePolyTextOut (HDC arg1, CONST POLYTEXTW * arg2, int arg3) -{ - if (XEUNICODE_P) - return PolyTextOutW (arg1, arg2, arg3); - else - return PolyTextOutA (arg1, (CONST POLYTEXTA *) arg2, arg3); -} - -int -qxeGetTextFace (HDC arg1, int arg2, Extbyte * arg3) -{ - if (XEUNICODE_P) - return GetTextFaceW (arg1, arg2, (LPWSTR) arg3); - else - return GetTextFaceA (arg1, arg2, (LPSTR) arg3); -} - -DWORD -qxeGetKerningPairs (HDC arg1, DWORD arg2, LPKERNINGPAIR arg3) -{ - if (XEUNICODE_P) - return GetKerningPairsW (arg1, arg2, arg3); - else - return GetKerningPairsA (arg1, arg2, arg3); -} - -/* Error if GetLogColorSpace used: split-sized LPLOGCOLORSPACE; NT 4.0+ only */ - -/* Error if CreateColorSpace used: split-sized LPLOGCOLORSPACE; NT 4.0+ only */ - -/* Skipping GetICMProfile because NT 4.0+ only, error in Cygwin prototype */ - -/* NOTE: NT 4.0+ only */ -BOOL -qxeSetICMProfile (HDC arg1, Extbyte * arg2) -{ - if (XEUNICODE_P) - return SetICMProfileW (arg1, (LPWSTR) arg2); - else - return SetICMProfileA (arg1, (LPSTR) arg2); -} - -/* NOTE: NT 4.0+ only */ -int -qxeEnumICMProfiles (HDC arg1, ICMENUMPROCW arg2, LPARAM arg3) -{ - if (XEUNICODE_P) - return EnumICMProfilesW (arg1, arg2, arg3); - else - return EnumICMProfilesA (arg1, (ICMENUMPROCA) arg2, arg3); -} - -/* Skipping UpdateICMRegKey because NT 4.0+ only, error in Cygwin prototype */ - -/* Error if wglUseFontBitmaps used: causes link error */ - -/* Error if wglUseFontOutlines used: causes link error */ - - -/*----------------------------------------------------------------------*/ -/* Processing file WINNLS.H */ -/*----------------------------------------------------------------------*/ - -/* Error if GetCPInfoEx used: not used, not examined yet */ - -/* Error if CompareString used: not used, not examined yet */ - -/* Error if LCMapString used: not used, not examined yet */ - -int -qxeGetLocaleInfo (LCID Locale, LCTYPE LCType, Extbyte * lpLCData, int cchData) -{ - if (XEUNICODE_P) - return GetLocaleInfoW (Locale, LCType, (LPWSTR) lpLCData, cchData); - else - return GetLocaleInfoA (Locale, LCType, (LPSTR) lpLCData, cchData); -} - -BOOL -qxeSetLocaleInfo (LCID Locale, LCTYPE LCType, const Extbyte * lpLCData) -{ - if (XEUNICODE_P) - return SetLocaleInfoW (Locale, LCType, (LPCWSTR) lpLCData); - else - return SetLocaleInfoA (Locale, LCType, (LPCSTR) lpLCData); -} - -/* Error if GetTimeFormat used: not used, not examined yet */ - -/* Error if GetDateFormat used: not used, not examined yet */ - -/* Error if GetNumberFormat used: not used, not examined yet */ - -/* Error if GetCurrencyFormat used: not used, not examined yet */ - -/* Error if EnumCalendarInfo used: not used, not examined yet */ - -/* Error if EnumCalendarInfoEx used: not used, not examined yet */ - -/* Error if EnumTimeFormats used: not used, not examined yet */ - -/* Error if EnumDateFormats used: not used, not examined yet */ - -/* Error if EnumDateFormatsEx used: not used, not examined yet */ - -/* Error if GetStringTypeEx used: not used, not examined yet */ - -/* Error if GetStringType used: no such fun; A and W versions have different nos. of args */ - -/* Error if FoldString used: not used, not examined yet */ - -/* Error if EnumSystemLocales used: not used, not examined yet */ - -/* Error if EnumSystemCodePages used: not used, not examined yet */ - - -/*----------------------------------------------------------------------*/ -/* Processing file WINREG.H */ -/*----------------------------------------------------------------------*/ - -/* Skipping RegConnectRegistry because error in Cygwin prototype */ - -LONG - -qxeRegCreateKey (HKEY hKey, const Extbyte * lpSubKey, PHKEY phkResult) -{ - if (XEUNICODE_P) - return RegCreateKeyW (hKey, (LPCWSTR) lpSubKey, phkResult); - else - return RegCreateKeyA (hKey, (LPCSTR) lpSubKey, phkResult); -} - -LONG - -qxeRegCreateKeyEx (HKEY hKey, const Extbyte * lpSubKey, DWORD Reserved, Extbyte * lpClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition) -{ - if (XEUNICODE_P) - return RegCreateKeyExW (hKey, (LPCWSTR) lpSubKey, Reserved, (LPWSTR) lpClass, dwOptions, samDesired, lpSecurityAttributes, phkResult, lpdwDisposition); - else - return RegCreateKeyExA (hKey, (LPCSTR) lpSubKey, Reserved, (LPSTR) lpClass, dwOptions, samDesired, lpSecurityAttributes, phkResult, lpdwDisposition); -} - -LONG - -qxeRegDeleteKey (HKEY hKey, const Extbyte * lpSubKey) -{ - if (XEUNICODE_P) - return RegDeleteKeyW (hKey, (LPCWSTR) lpSubKey); - else - return RegDeleteKeyA (hKey, (LPCSTR) lpSubKey); -} - -LONG - -qxeRegDeleteValue (HKEY hKey, const Extbyte * lpValueName) -{ - if (XEUNICODE_P) - return RegDeleteValueW (hKey, (LPCWSTR) lpValueName); - else - return RegDeleteValueA (hKey, (LPCSTR) lpValueName); -} - -LONG - -qxeRegEnumKey (HKEY hKey, DWORD dwIndex, Extbyte * lpName, DWORD cbName) -{ - if (XEUNICODE_P) - return RegEnumKeyW (hKey, dwIndex, (LPWSTR) lpName, cbName); - else - return RegEnumKeyA (hKey, dwIndex, (LPSTR) lpName, cbName); -} - -LONG - -qxeRegEnumKeyEx (HKEY hKey, DWORD dwIndex, Extbyte * lpName, LPDWORD lpcbName, LPDWORD lpReserved, Extbyte * lpClass, LPDWORD lpcbClass, PFILETIME lpftLastWriteTime) -{ - if (XEUNICODE_P) - return RegEnumKeyExW (hKey, dwIndex, (LPWSTR) lpName, lpcbName, lpReserved, (LPWSTR) lpClass, lpcbClass, lpftLastWriteTime); - else - return RegEnumKeyExA (hKey, dwIndex, (LPSTR) lpName, lpcbName, lpReserved, (LPSTR) lpClass, lpcbClass, lpftLastWriteTime); -} - -LONG - -qxeRegEnumValue (HKEY hKey, DWORD dwIndex, Extbyte * lpValueName, LPDWORD lpcbValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData) -{ - if (XEUNICODE_P) - return RegEnumValueW (hKey, dwIndex, (LPWSTR) lpValueName, lpcbValueName, lpReserved, lpType, lpData, lpcbData); - else - return RegEnumValueA (hKey, dwIndex, (LPSTR) lpValueName, lpcbValueName, lpReserved, lpType, lpData, lpcbData); -} - -LONG - -qxeRegLoadKey (HKEY hKey, const Extbyte * lpSubKey, const Extbyte * lpFile) -{ - if (XEUNICODE_P) - return RegLoadKeyW (hKey, (LPCWSTR) lpSubKey, (LPCWSTR) lpFile); - else - return RegLoadKeyA (hKey, (LPCSTR) lpSubKey, (LPCSTR) lpFile); -} - -LONG - -qxeRegOpenKey (HKEY hKey, const Extbyte * lpSubKey, PHKEY phkResult) -{ - if (XEUNICODE_P) - return RegOpenKeyW (hKey, (LPCWSTR) lpSubKey, phkResult); - else - return RegOpenKeyA (hKey, (LPCSTR) lpSubKey, phkResult); -} - -LONG - -qxeRegOpenKeyEx (HKEY hKey, const Extbyte * lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult) -{ - if (XEUNICODE_P) - return RegOpenKeyExW (hKey, (LPCWSTR) lpSubKey, ulOptions, samDesired, phkResult); - else - return RegOpenKeyExA (hKey, (LPCSTR) lpSubKey, ulOptions, samDesired, phkResult); -} - -LONG - -qxeRegQueryInfoKey (HKEY hKey, Extbyte * lpClass, LPDWORD lpcbClass, LPDWORD lpReserved, LPDWORD lpcSubKeys, LPDWORD lpcbMaxSubKeyLen, LPDWORD lpcbMaxClassLen, LPDWORD lpcValues, LPDWORD lpcbMaxValueNameLen, LPDWORD lpcbMaxValueLen, LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime) -{ - if (XEUNICODE_P) - return RegQueryInfoKeyW (hKey, (LPWSTR) lpClass, lpcbClass, lpReserved, lpcSubKeys, lpcbMaxSubKeyLen, lpcbMaxClassLen, lpcValues, lpcbMaxValueNameLen, lpcbMaxValueLen, lpcbSecurityDescriptor, lpftLastWriteTime); - else - return RegQueryInfoKeyA (hKey, (LPSTR) lpClass, lpcbClass, lpReserved, lpcSubKeys, lpcbMaxSubKeyLen, lpcbMaxClassLen, lpcValues, lpcbMaxValueNameLen, lpcbMaxValueLen, lpcbSecurityDescriptor, lpftLastWriteTime); -} - -LONG - -qxeRegQueryValue (HKEY hKey, const Extbyte * lpSubKey, Extbyte * lpValue, PLONG lpcbValue) -{ - if (XEUNICODE_P) - return RegQueryValueW (hKey, (LPCWSTR) lpSubKey, (LPWSTR) lpValue, lpcbValue); - else - return RegQueryValueA (hKey, (LPCSTR) lpSubKey, (LPSTR) lpValue, lpcbValue); -} - -LONG - -qxeRegQueryMultipleValues (HKEY hKey, PVALENTW val_list, DWORD num_vals, Extbyte * lpValueBuf, LPDWORD ldwTotsize) -{ - if (XEUNICODE_P) - return RegQueryMultipleValuesW (hKey, val_list, num_vals, (LPWSTR) lpValueBuf, ldwTotsize); - else - return RegQueryMultipleValuesA (hKey, (PVALENTA) val_list, num_vals, (LPSTR) lpValueBuf, ldwTotsize); -} - -LONG - -qxeRegQueryValueEx (HKEY hKey, const Extbyte * lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData) -{ - if (XEUNICODE_P) - return RegQueryValueExW (hKey, (LPCWSTR) lpValueName, lpReserved, lpType, lpData, lpcbData); - else - return RegQueryValueExA (hKey, (LPCSTR) lpValueName, lpReserved, lpType, lpData, lpcbData); -} - -LONG - -qxeRegReplaceKey (HKEY hKey, const Extbyte * lpSubKey, const Extbyte * lpNewFile, const Extbyte * lpOldFile) -{ - if (XEUNICODE_P) - return RegReplaceKeyW (hKey, (LPCWSTR) lpSubKey, (LPCWSTR) lpNewFile, (LPCWSTR) lpOldFile); - else - return RegReplaceKeyA (hKey, (LPCSTR) lpSubKey, (LPCSTR) lpNewFile, (LPCSTR) lpOldFile); -} - -LONG - -qxeRegRestoreKey (HKEY hKey, const Extbyte * lpFile, DWORD dwFlags) -{ - if (XEUNICODE_P) - return RegRestoreKeyW (hKey, (LPCWSTR) lpFile, dwFlags); - else - return RegRestoreKeyA (hKey, (LPCSTR) lpFile, dwFlags); -} - -LONG - -qxeRegSaveKey (HKEY hKey, const Extbyte * lpFile, LPSECURITY_ATTRIBUTES lpSecurityAttributes) -{ - if (XEUNICODE_P) - return RegSaveKeyW (hKey, (LPCWSTR) lpFile, lpSecurityAttributes); - else - return RegSaveKeyA (hKey, (LPCSTR) lpFile, lpSecurityAttributes); -} - -LONG - -qxeRegSetValue (HKEY hKey, const Extbyte * lpSubKey, DWORD dwType, const Extbyte * lpData, DWORD cbData) -{ - if (XEUNICODE_P) - return RegSetValueW (hKey, (LPCWSTR) lpSubKey, dwType, (LPCWSTR) lpData, cbData); - else - return RegSetValueA (hKey, (LPCSTR) lpSubKey, dwType, (LPCSTR) lpData, cbData); -} - -LONG - -qxeRegSetValueEx (HKEY hKey, const Extbyte * lpValueName, DWORD Reserved, DWORD dwType, CONST BYTE* lpData, DWORD cbData) -{ - if (XEUNICODE_P) - return RegSetValueExW (hKey, (LPCWSTR) lpValueName, Reserved, dwType, lpData, cbData); - else - return RegSetValueExA (hKey, (LPCSTR) lpValueName, Reserved, dwType, lpData, cbData); -} - -LONG - -qxeRegUnLoadKey (HKEY hKey, const Extbyte * lpSubKey) -{ - if (XEUNICODE_P) - return RegUnLoadKeyW (hKey, (LPCWSTR) lpSubKey); - else - return RegUnLoadKeyA (hKey, (LPCSTR) lpSubKey); -} - -BOOL - -qxeInitiateSystemShutdown (Extbyte * lpMachineName, Extbyte * lpMessage, DWORD dwTimeout, BOOL bForceAppsClosed, BOOL bRebootAfterShutdown) -{ - if (XEUNICODE_P) - return InitiateSystemShutdownW ((LPWSTR) lpMachineName, (LPWSTR) lpMessage, dwTimeout, bForceAppsClosed, bRebootAfterShutdown); - else - return InitiateSystemShutdownA ((LPSTR) lpMachineName, (LPSTR) lpMessage, dwTimeout, bForceAppsClosed, bRebootAfterShutdown); -} - -BOOL - -qxeAbortSystemShutdown (Extbyte * lpMachineName) -{ - if (XEUNICODE_P) - return AbortSystemShutdownW ((LPWSTR) lpMachineName); - else - return AbortSystemShutdownA ((LPSTR) lpMachineName); -} - - -/*----------------------------------------------------------------------*/ -/* Processing file COMMDLG.H */ -/*----------------------------------------------------------------------*/ - -BOOL -qxeGetOpenFileName (LPOPENFILENAMEW arg1) -{ - if (XEUNICODE_P) - return GetOpenFileNameW (arg1); - else - return GetOpenFileNameA ((LPOPENFILENAMEA) arg1); -} - -BOOL -qxeGetSaveFileName (LPOPENFILENAMEW arg1) -{ - if (XEUNICODE_P) - return GetSaveFileNameW (arg1); - else - return GetSaveFileNameA ((LPOPENFILENAMEA) arg1); -} - -short -qxeGetFileTitle (const Extbyte * arg1, Extbyte * arg2, WORD arg3) -{ - if (XEUNICODE_P) - return GetFileTitleW ((LPCWSTR) arg1, (LPWSTR) arg2, arg3); - else - return GetFileTitleA ((LPCSTR) arg1, (LPSTR) arg2, arg3); -} - -BOOL -qxeChooseColor (LPCHOOSECOLORW arg1) -{ - if (XEUNICODE_P) - return ChooseColorW (arg1); - else - return ChooseColorA ((LPCHOOSECOLORA) arg1); -} - -HWND -qxeFindText (LPFINDREPLACEW arg1) -{ - if (XEUNICODE_P) - return FindTextW (arg1); - else - return FindTextA ((LPFINDREPLACEA) arg1); -} - -HWND -qxeReplaceText (LPFINDREPLACEW arg1) -{ - if (XEUNICODE_P) - return ReplaceTextW (arg1); - else - return ReplaceTextA ((LPFINDREPLACEA) arg1); -} - -/* Error if AfxReplaceText used: mac only */ - -/* Error if ChooseFont used: split-sized LPLOGFONT in LPCHOOSEFONT */ - -/* Skipping PrintDlg because LPPRINTDLG with split-sized DEVMODE handle */ - -/* Skipping PageSetupDlg because LPPAGESETUPDLG with split-sized DEVMODE handle */ - - -/*----------------------------------------------------------------------*/ -/* Processing file SHLOBJ.H */ -/*----------------------------------------------------------------------*/ - -BOOL -qxeSHGetPathFromIDList (LPCITEMIDLIST pidl, Extbyte * pszPath) -{ - if (XEUNICODE_P) - return SHGetPathFromIDListW (pidl, (LPWSTR) pszPath); - else - return SHGetPathFromIDListA (pidl, (LPSTR) pszPath); -} - -/* Skipping SHGetSpecialFolderPath because error in Cygwin prototype, missing from Cygwin libraries */ - -/* Skipping SHBrowseForFolder because need to intercept callback for SendMessage */ - -/* Skipping SHGetDataFromIDList because split-sized WIN32_FIND_DATA or split-simple NETRESOURCE, missing from Cygwin libraries */ - - -/*----------------------------------------------------------------------*/ -/* Processing file WINBASE.H */ -/*----------------------------------------------------------------------*/ - -BOOL -qxeGetBinaryType (const Extbyte * lpApplicationName, LPDWORD lpBinaryType) -{ - if (XEUNICODE_P) - return GetBinaryTypeW ((LPCWSTR) lpApplicationName, lpBinaryType); - else - return GetBinaryTypeA ((LPCSTR) lpApplicationName, lpBinaryType); -} - -DWORD -qxeGetShortPathName (const Extbyte * lpszLongPath, Extbyte * lpszShortPath, DWORD cchBuffer) -{ - if (XEUNICODE_P) - return GetShortPathNameW ((LPCWSTR) lpszLongPath, (LPWSTR) lpszShortPath, cchBuffer); - else - return GetShortPathNameA ((LPCSTR) lpszLongPath, (LPSTR) lpszShortPath, cchBuffer); -} - -/* Error if GetLongPathName used: Win98/2K+ only */ - -/* Skipping GetEnvironmentStrings because misnamed ANSI version of the function */ - -BOOL -qxeFreeEnvironmentStrings (Extbyte * arg1) -{ - if (XEUNICODE_P) - return FreeEnvironmentStringsW ((LPWSTR) arg1); - else - return FreeEnvironmentStringsA ((LPSTR) arg1); -} - -DWORD -qxeFormatMessage (DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, Extbyte * lpBuffer, DWORD nSize, va_list * Arguments) -{ - if (XEUNICODE_P) - return FormatMessageW (dwFlags, lpSource, dwMessageId, dwLanguageId, (LPWSTR) lpBuffer, nSize, Arguments); - else - return FormatMessageA (dwFlags, lpSource, dwMessageId, dwLanguageId, (LPSTR) lpBuffer, nSize, Arguments); -} - -HANDLE -qxeCreateMailslot (const Extbyte * lpName, DWORD nMaxMessageSize, DWORD lReadTimeout, LPSECURITY_ATTRIBUTES lpSecurityAttributes) -{ - if (XEUNICODE_P) - return CreateMailslotW ((LPCWSTR) lpName, nMaxMessageSize, lReadTimeout, lpSecurityAttributes); - else - return CreateMailslotA ((LPCSTR) lpName, nMaxMessageSize, lReadTimeout, lpSecurityAttributes); -} - -#if !defined (CYGWIN_HEADERS) - -/* Error if EncryptFile used: Win2K+ only */ - -#endif /* !defined (CYGWIN_HEADERS) */ - -#if !defined (CYGWIN_HEADERS) - -/* Error if DecryptFile used: Win2K+ only */ - -#endif /* !defined (CYGWIN_HEADERS) */ - -/* Error if OpenRaw used: error "The procedure entry point OpenRawW could not be located in the dynamic link library ADVAPI32.dll." */ - -/* Error if QueryRecoveryAgents used: split-sized LPRECOVERY_AGENT_INFORMATION */ - -int -qxelstrcmp (const Extbyte * lpString1, const Extbyte * lpString2) -{ - if (XEUNICODE_P) - return lstrcmpW ((LPCWSTR) lpString1, (LPCWSTR) lpString2); - else - return lstrcmpA ((LPCSTR) lpString1, (LPCSTR) lpString2); -} - -int -qxelstrcmpi (const Extbyte * lpString1, const Extbyte * lpString2) -{ - if (XEUNICODE_P) - return lstrcmpiW ((LPCWSTR) lpString1, (LPCWSTR) lpString2); - else - return lstrcmpiA ((LPCSTR) lpString1, (LPCSTR) lpString2); -} - -Extbyte * -qxelstrcpyn (Extbyte * lpString1, const Extbyte * lpString2, int iMaxLength) -{ - if (XEUNICODE_P) - return (Extbyte *) lstrcpynW ((LPWSTR) lpString1, (LPCWSTR) lpString2, iMaxLength); - else - return (Extbyte *) lstrcpynA ((LPSTR) lpString1, (LPCSTR) lpString2, iMaxLength); -} - -Extbyte * -qxelstrcpy (Extbyte * lpString1, const Extbyte * lpString2) -{ - if (XEUNICODE_P) - return (Extbyte *) lstrcpyW ((LPWSTR) lpString1, (LPCWSTR) lpString2); - else - return (Extbyte *) lstrcpyA ((LPSTR) lpString1, (LPCSTR) lpString2); -} - -Extbyte * -qxelstrcat (Extbyte * lpString1, const Extbyte * lpString2) -{ - if (XEUNICODE_P) - return (Extbyte *) lstrcatW ((LPWSTR) lpString1, (LPCWSTR) lpString2); - else - return (Extbyte *) lstrcatA ((LPSTR) lpString1, (LPCSTR) lpString2); -} - -int -qxelstrlen (const Extbyte * lpString) -{ - if (XEUNICODE_P) - return lstrlenW ((LPCWSTR) lpString); - else - return lstrlenA ((LPCSTR) lpString); -} - -HANDLE -qxeCreateMutex (LPSECURITY_ATTRIBUTES lpMutexAttributes, BOOL bInitialOwner, const Extbyte * lpName) -{ - if (XEUNICODE_P) - return CreateMutexW (lpMutexAttributes, bInitialOwner, (LPCWSTR) lpName); - else - return CreateMutexA (lpMutexAttributes, bInitialOwner, (LPCSTR) lpName); -} - -HANDLE -qxeOpenMutex (DWORD dwDesiredAccess, BOOL bInheritHandle, const Extbyte * lpName) -{ - if (XEUNICODE_P) - return OpenMutexW (dwDesiredAccess, bInheritHandle, (LPCWSTR) lpName); - else - return OpenMutexA (dwDesiredAccess, bInheritHandle, (LPCSTR) lpName); -} - -HANDLE -qxeCreateEvent (LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState, const Extbyte * lpName) -{ - if (XEUNICODE_P) - return CreateEventW (lpEventAttributes, bManualReset, bInitialState, (LPCWSTR) lpName); - else - return CreateEventA (lpEventAttributes, bManualReset, bInitialState, (LPCSTR) lpName); -} - -HANDLE -qxeOpenEvent (DWORD dwDesiredAccess, BOOL bInheritHandle, const Extbyte * lpName) -{ - if (XEUNICODE_P) - return OpenEventW (dwDesiredAccess, bInheritHandle, (LPCWSTR) lpName); - else - return OpenEventA (dwDesiredAccess, bInheritHandle, (LPCSTR) lpName); -} - -HANDLE -qxeCreateSemaphore (LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, const Extbyte * lpName) -{ - if (XEUNICODE_P) - return CreateSemaphoreW (lpSemaphoreAttributes, lInitialCount, lMaximumCount, (LPCWSTR) lpName); - else - return CreateSemaphoreA (lpSemaphoreAttributes, lInitialCount, lMaximumCount, (LPCSTR) lpName); -} - -HANDLE -qxeOpenSemaphore (DWORD dwDesiredAccess, BOOL bInheritHandle, const Extbyte * lpName) -{ - if (XEUNICODE_P) - return OpenSemaphoreW (dwDesiredAccess, bInheritHandle, (LPCWSTR) lpName); - else - return OpenSemaphoreA (dwDesiredAccess, bInheritHandle, (LPCSTR) lpName); -} - -HANDLE -qxeCreateWaitableTimer (LPSECURITY_ATTRIBUTES lpTimerAttributes, BOOL bManualReset, const Extbyte * lpTimerName) -{ - if (XEUNICODE_P) - return CreateWaitableTimerW (lpTimerAttributes, bManualReset, (LPCWSTR) lpTimerName); - else - return CreateWaitableTimerA (lpTimerAttributes, bManualReset, (LPCSTR) lpTimerName); -} - -HANDLE -qxeOpenWaitableTimer (DWORD dwDesiredAccess, BOOL bInheritHandle, const Extbyte * lpTimerName) -{ - if (XEUNICODE_P) - return OpenWaitableTimerW (dwDesiredAccess, bInheritHandle, (LPCWSTR) lpTimerName); - else - return OpenWaitableTimerA (dwDesiredAccess, bInheritHandle, (LPCSTR) lpTimerName); -} - -HANDLE -qxeCreateFileMapping (HANDLE hFile, LPSECURITY_ATTRIBUTES lpFileMappingAttributes, DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, const Extbyte * lpName) -{ - if (XEUNICODE_P) - return CreateFileMappingW (hFile, lpFileMappingAttributes, flProtect, dwMaximumSizeHigh, dwMaximumSizeLow, (LPCWSTR) lpName); - else - return CreateFileMappingA (hFile, lpFileMappingAttributes, flProtect, dwMaximumSizeHigh, dwMaximumSizeLow, (LPCSTR) lpName); -} - -HANDLE -qxeOpenFileMapping (DWORD dwDesiredAccess, BOOL bInheritHandle, const Extbyte * lpName) -{ - if (XEUNICODE_P) - return OpenFileMappingW (dwDesiredAccess, bInheritHandle, (LPCWSTR) lpName); - else - return OpenFileMappingA (dwDesiredAccess, bInheritHandle, (LPCSTR) lpName); -} - -DWORD -qxeGetLogicalDriveStrings (DWORD nBufferLength, Extbyte * lpBuffer) -{ - if (XEUNICODE_P) - return GetLogicalDriveStringsW (nBufferLength, (LPWSTR) lpBuffer); - else - return GetLogicalDriveStringsA (nBufferLength, (LPSTR) lpBuffer); -} - -HMODULE -qxeLoadLibrary (const Extbyte * lpLibFileName) -{ - if (XEUNICODE_P) - return LoadLibraryW ((LPCWSTR) lpLibFileName); - else - return LoadLibraryA ((LPCSTR) lpLibFileName); -} - -HMODULE -qxeLoadLibraryEx (const Extbyte * lpLibFileName, HANDLE hFile, DWORD dwFlags) -{ - if (XEUNICODE_P) - return LoadLibraryExW ((LPCWSTR) lpLibFileName, hFile, dwFlags); - else - return LoadLibraryExA ((LPCSTR) lpLibFileName, hFile, dwFlags); -} - -DWORD -qxeGetModuleFileName (HMODULE hModule, Extbyte * lpFilename, DWORD nSize) -{ - if (XEUNICODE_P) - return GetModuleFileNameW (hModule, (LPWSTR) lpFilename, nSize); - else - return GetModuleFileNameA (hModule, (LPSTR) lpFilename, nSize); -} - -HMODULE -qxeGetModuleHandle (const Extbyte * lpModuleName) -{ - if (XEUNICODE_P) - return GetModuleHandleW ((LPCWSTR) lpModuleName); - else - return GetModuleHandleA ((LPCSTR) lpModuleName); -} - -BOOL -qxeCreateProcess (const Extbyte * lpApplicationName, Extbyte * lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, const Extbyte * lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation) -{ - if (XEUNICODE_P) - return CreateProcessW ((LPCWSTR) lpApplicationName, (LPWSTR) lpCommandLine, lpProcessAttributes, lpThreadAttributes, bInheritHandles, dwCreationFlags, lpEnvironment, (LPCWSTR) lpCurrentDirectory, lpStartupInfo, lpProcessInformation); - else - return CreateProcessA ((LPCSTR) lpApplicationName, (LPSTR) lpCommandLine, lpProcessAttributes, lpThreadAttributes, bInheritHandles, dwCreationFlags, lpEnvironment, (LPCSTR) lpCurrentDirectory, (LPSTARTUPINFOA) lpStartupInfo, lpProcessInformation); -} - -VOID -qxeFatalAppExit (UINT uAction, const Extbyte * lpMessageText) -{ - if (XEUNICODE_P) - FatalAppExitW (uAction, (LPCWSTR) lpMessageText); - else - FatalAppExitA (uAction, (LPCSTR) lpMessageText); -} - -VOID -qxeGetStartupInfo (LPSTARTUPINFOW lpStartupInfo) -{ - if (XEUNICODE_P) - GetStartupInfoW (lpStartupInfo); - else - GetStartupInfoA ((LPSTARTUPINFOA) lpStartupInfo); -} - -Extbyte * -qxeGetCommandLine (void) -{ - if (XEUNICODE_P) - return (Extbyte *) GetCommandLineW (); - else - return (Extbyte *) GetCommandLineA (); -} - -DWORD -qxeGetEnvironmentVariable (const Extbyte * lpName, Extbyte * lpBuffer, DWORD nSize) -{ - if (XEUNICODE_P) - return GetEnvironmentVariableW ((LPCWSTR) lpName, (LPWSTR) lpBuffer, nSize); - else - return GetEnvironmentVariableA ((LPCSTR) lpName, (LPSTR) lpBuffer, nSize); -} - -BOOL -qxeSetEnvironmentVariable (const Extbyte * lpName, const Extbyte * lpValue) -{ - if (XEUNICODE_P) - return SetEnvironmentVariableW ((LPCWSTR) lpName, (LPCWSTR) lpValue); - else - return SetEnvironmentVariableA ((LPCSTR) lpName, (LPCSTR) lpValue); -} - -DWORD -qxeExpandEnvironmentStrings (const Extbyte * lpSrc, Extbyte * lpDst, DWORD nSize) -{ - if (XEUNICODE_P) - return ExpandEnvironmentStringsW ((LPCWSTR) lpSrc, (LPWSTR) lpDst, nSize); - else - return ExpandEnvironmentStringsA ((LPCSTR) lpSrc, (LPSTR) lpDst, nSize); -} - -VOID -qxeOutputDebugString (const Extbyte * lpOutputString) -{ - if (XEUNICODE_P) - OutputDebugStringW ((LPCWSTR) lpOutputString); - else - OutputDebugStringA ((LPCSTR) lpOutputString); -} - -HRSRC -qxeFindResource (HMODULE hModule, const Extbyte * lpName, const Extbyte * lpType) -{ - if (XEUNICODE_P) - return FindResourceW (hModule, (LPCWSTR) lpName, (LPCWSTR) lpType); - else - return FindResourceA (hModule, (LPCSTR) lpName, (LPCSTR) lpType); -} - -HRSRC -qxeFindResourceEx (HMODULE hModule, const Extbyte * lpType, const Extbyte * lpName, WORD wLanguage) -{ - if (XEUNICODE_P) - return FindResourceExW (hModule, (LPCWSTR) lpType, (LPCWSTR) lpName, wLanguage); - else - return FindResourceExA (hModule, (LPCSTR) lpType, (LPCSTR) lpName, wLanguage); -} - -/* Skipping EnumResourceTypes because different prototypes in VC6 and VC7 */ - -/* Skipping EnumResourceNames because different prototypes in VC6 and VC7 */ - -/* Skipping EnumResourceLanguages because different prototypes in VC6 and VC7 */ - -HANDLE -qxeBeginUpdateResource (const Extbyte * pFileName, BOOL bDeleteExistingResources) -{ - if (XEUNICODE_P) - return BeginUpdateResourceW ((LPCWSTR) pFileName, bDeleteExistingResources); - else - return BeginUpdateResourceA ((LPCSTR) pFileName, bDeleteExistingResources); -} - -BOOL -qxeUpdateResource (HANDLE hUpdate, const Extbyte * lpType, const Extbyte * lpName, WORD wLanguage, LPVOID lpData, DWORD cbData) -{ - if (XEUNICODE_P) - return UpdateResourceW (hUpdate, (LPCWSTR) lpType, (LPCWSTR) lpName, wLanguage, lpData, cbData); - else - return UpdateResourceA (hUpdate, (LPCSTR) lpType, (LPCSTR) lpName, wLanguage, lpData, cbData); -} - -BOOL -qxeEndUpdateResource (HANDLE hUpdate, BOOL fDiscard) -{ - if (XEUNICODE_P) - return EndUpdateResourceW (hUpdate, fDiscard); - else - return EndUpdateResourceA (hUpdate, fDiscard); -} - -ATOM -qxeGlobalAddAtom (const Extbyte * lpString) -{ - if (XEUNICODE_P) - return GlobalAddAtomW ((LPCWSTR) lpString); - else - return GlobalAddAtomA ((LPCSTR) lpString); -} - -ATOM -qxeGlobalFindAtom (const Extbyte * lpString) -{ - if (XEUNICODE_P) - return GlobalFindAtomW ((LPCWSTR) lpString); - else - return GlobalFindAtomA ((LPCSTR) lpString); -} - -UINT -qxeGlobalGetAtomName (ATOM nAtom, Extbyte * lpBuffer, int nSize) -{ - if (XEUNICODE_P) - return GlobalGetAtomNameW (nAtom, (LPWSTR) lpBuffer, nSize); - else - return GlobalGetAtomNameA (nAtom, (LPSTR) lpBuffer, nSize); -} - -ATOM -qxeAddAtom (const Extbyte * lpString) -{ - if (XEUNICODE_P) - return AddAtomW ((LPCWSTR) lpString); - else - return AddAtomA ((LPCSTR) lpString); -} - -ATOM -qxeFindAtom (const Extbyte * lpString) -{ - if (XEUNICODE_P) - return FindAtomW ((LPCWSTR) lpString); - else - return FindAtomA ((LPCSTR) lpString); -} - -UINT -qxeGetAtomName (ATOM nAtom, Extbyte * lpBuffer, int nSize) -{ - if (XEUNICODE_P) - return GetAtomNameW (nAtom, (LPWSTR) lpBuffer, nSize); - else - return GetAtomNameA (nAtom, (LPSTR) lpBuffer, nSize); -} - -UINT -qxeGetProfileInt (const Extbyte * lpAppName, const Extbyte * lpKeyName, INT nDefault) -{ - if (XEUNICODE_P) - return GetProfileIntW ((LPCWSTR) lpAppName, (LPCWSTR) lpKeyName, nDefault); - else - return GetProfileIntA ((LPCSTR) lpAppName, (LPCSTR) lpKeyName, nDefault); -} - -DWORD -qxeGetProfileString (const Extbyte * lpAppName, const Extbyte * lpKeyName, const Extbyte * lpDefault, Extbyte * lpReturnedString, DWORD nSize) -{ - if (XEUNICODE_P) - return GetProfileStringW ((LPCWSTR) lpAppName, (LPCWSTR) lpKeyName, (LPCWSTR) lpDefault, (LPWSTR) lpReturnedString, nSize); - else - return GetProfileStringA ((LPCSTR) lpAppName, (LPCSTR) lpKeyName, (LPCSTR) lpDefault, (LPSTR) lpReturnedString, nSize); -} - -BOOL -qxeWriteProfileString (const Extbyte * lpAppName, const Extbyte * lpKeyName, const Extbyte * lpString) -{ - if (XEUNICODE_P) - return WriteProfileStringW ((LPCWSTR) lpAppName, (LPCWSTR) lpKeyName, (LPCWSTR) lpString); - else - return WriteProfileStringA ((LPCSTR) lpAppName, (LPCSTR) lpKeyName, (LPCSTR) lpString); -} - -DWORD -qxeGetProfileSection (const Extbyte * lpAppName, Extbyte * lpReturnedString, DWORD nSize) -{ - if (XEUNICODE_P) - return GetProfileSectionW ((LPCWSTR) lpAppName, (LPWSTR) lpReturnedString, nSize); - else - return GetProfileSectionA ((LPCSTR) lpAppName, (LPSTR) lpReturnedString, nSize); -} - -BOOL -qxeWriteProfileSection (const Extbyte * lpAppName, const Extbyte * lpString) -{ - if (XEUNICODE_P) - return WriteProfileSectionW ((LPCWSTR) lpAppName, (LPCWSTR) lpString); - else - return WriteProfileSectionA ((LPCSTR) lpAppName, (LPCSTR) lpString); -} - -UINT -qxeGetPrivateProfileInt (const Extbyte * lpAppName, const Extbyte * lpKeyName, INT nDefault, const Extbyte * lpFileName) -{ - if (XEUNICODE_P) - return GetPrivateProfileIntW ((LPCWSTR) lpAppName, (LPCWSTR) lpKeyName, nDefault, (LPCWSTR) lpFileName); - else - return GetPrivateProfileIntA ((LPCSTR) lpAppName, (LPCSTR) lpKeyName, nDefault, (LPCSTR) lpFileName); -} - -DWORD -qxeGetPrivateProfileString (const Extbyte * lpAppName, const Extbyte * lpKeyName, const Extbyte * lpDefault, Extbyte * lpReturnedString, DWORD nSize, const Extbyte * lpFileName) -{ - if (XEUNICODE_P) - return GetPrivateProfileStringW ((LPCWSTR) lpAppName, (LPCWSTR) lpKeyName, (LPCWSTR) lpDefault, (LPWSTR) lpReturnedString, nSize, (LPCWSTR) lpFileName); - else - return GetPrivateProfileStringA ((LPCSTR) lpAppName, (LPCSTR) lpKeyName, (LPCSTR) lpDefault, (LPSTR) lpReturnedString, nSize, (LPCSTR) lpFileName); -} - -BOOL -qxeWritePrivateProfileString (const Extbyte * lpAppName, const Extbyte * lpKeyName, const Extbyte * lpString, const Extbyte * lpFileName) -{ - if (XEUNICODE_P) - return WritePrivateProfileStringW ((LPCWSTR) lpAppName, (LPCWSTR) lpKeyName, (LPCWSTR) lpString, (LPCWSTR) lpFileName); - else - return WritePrivateProfileStringA ((LPCSTR) lpAppName, (LPCSTR) lpKeyName, (LPCSTR) lpString, (LPCSTR) lpFileName); -} - -DWORD -qxeGetPrivateProfileSection (const Extbyte * lpAppName, Extbyte * lpReturnedString, DWORD nSize, const Extbyte * lpFileName) -{ - if (XEUNICODE_P) - return GetPrivateProfileSectionW ((LPCWSTR) lpAppName, (LPWSTR) lpReturnedString, nSize, (LPCWSTR) lpFileName); - else - return GetPrivateProfileSectionA ((LPCSTR) lpAppName, (LPSTR) lpReturnedString, nSize, (LPCSTR) lpFileName); -} - -BOOL -qxeWritePrivateProfileSection (const Extbyte * lpAppName, const Extbyte * lpString, const Extbyte * lpFileName) -{ - if (XEUNICODE_P) - return WritePrivateProfileSectionW ((LPCWSTR) lpAppName, (LPCWSTR) lpString, (LPCWSTR) lpFileName); - else - return WritePrivateProfileSectionA ((LPCSTR) lpAppName, (LPCSTR) lpString, (LPCSTR) lpFileName); -} - -DWORD -qxeGetPrivateProfileSectionNames (Extbyte * lpszReturnBuffer, DWORD nSize, const Extbyte * lpFileName) -{ - if (XEUNICODE_P) - return GetPrivateProfileSectionNamesW ((LPWSTR) lpszReturnBuffer, nSize, (LPCWSTR) lpFileName); - else - return GetPrivateProfileSectionNamesA ((LPSTR) lpszReturnBuffer, nSize, (LPCSTR) lpFileName); -} - -BOOL -qxeGetPrivateProfileStruct (const Extbyte * lpszSection, const Extbyte * lpszKey, LPVOID lpStruct, UINT uSizeStruct, const Extbyte * szFile) -{ - if (XEUNICODE_P) - return GetPrivateProfileStructW ((LPCWSTR) lpszSection, (LPCWSTR) lpszKey, lpStruct, uSizeStruct, (LPCWSTR) szFile); - else - return GetPrivateProfileStructA ((LPCSTR) lpszSection, (LPCSTR) lpszKey, lpStruct, uSizeStruct, (LPCSTR) szFile); -} - -BOOL -qxeWritePrivateProfileStruct (const Extbyte * lpszSection, const Extbyte * lpszKey, LPVOID lpStruct, UINT uSizeStruct, const Extbyte * szFile) -{ - if (XEUNICODE_P) - return WritePrivateProfileStructW ((LPCWSTR) lpszSection, (LPCWSTR) lpszKey, lpStruct, uSizeStruct, (LPCWSTR) szFile); - else - return WritePrivateProfileStructA ((LPCSTR) lpszSection, (LPCSTR) lpszKey, lpStruct, uSizeStruct, (LPCSTR) szFile); -} - -UINT -qxeGetDriveType (const Extbyte * lpRootPathName) -{ - if (XEUNICODE_P) - return GetDriveTypeW ((LPCWSTR) lpRootPathName); - else - return GetDriveTypeA ((LPCSTR) lpRootPathName); -} - -UINT -qxeGetSystemDirectory (Extbyte * lpBuffer, UINT uSize) -{ - if (XEUNICODE_P) - return GetSystemDirectoryW ((LPWSTR) lpBuffer, uSize); - else - return GetSystemDirectoryA ((LPSTR) lpBuffer, uSize); -} - -DWORD -qxeGetTempPath (DWORD nBufferLength, Extbyte * lpBuffer) -{ - if (XEUNICODE_P) - return GetTempPathW (nBufferLength, (LPWSTR) lpBuffer); - else - return GetTempPathA (nBufferLength, (LPSTR) lpBuffer); -} - -UINT -qxeGetTempFileName (const Extbyte * lpPathName, const Extbyte * lpPrefixString, UINT uUnique, Extbyte * lpTempFileName) -{ - if (XEUNICODE_P) - return GetTempFileNameW ((LPCWSTR) lpPathName, (LPCWSTR) lpPrefixString, uUnique, (LPWSTR) lpTempFileName); - else - return GetTempFileNameA ((LPCSTR) lpPathName, (LPCSTR) lpPrefixString, uUnique, (LPSTR) lpTempFileName); -} - -UINT -qxeGetWindowsDirectory (Extbyte * lpBuffer, UINT uSize) -{ - if (XEUNICODE_P) - return GetWindowsDirectoryW ((LPWSTR) lpBuffer, uSize); - else - return GetWindowsDirectoryA ((LPSTR) lpBuffer, uSize); -} - -BOOL -qxeSetCurrentDirectory (const Extbyte * lpPathName) -{ - if (XEUNICODE_P) - return SetCurrentDirectoryW ((LPCWSTR) lpPathName); - else - return SetCurrentDirectoryA ((LPCSTR) lpPathName); -} - -DWORD -qxeGetCurrentDirectory (DWORD nBufferLength, Extbyte * lpBuffer) -{ - if (XEUNICODE_P) - return GetCurrentDirectoryW (nBufferLength, (LPWSTR) lpBuffer); - else - return GetCurrentDirectoryA (nBufferLength, (LPSTR) lpBuffer); -} - -BOOL -qxeGetDiskFreeSpace (const Extbyte * lpRootPathName, LPDWORD lpSectorsPerCluster, LPDWORD lpBytesPerSector, LPDWORD lpNumberOfFreeClusters, LPDWORD lpTotalNumberOfClusters) -{ - if (XEUNICODE_P) - return GetDiskFreeSpaceW ((LPCWSTR) lpRootPathName, lpSectorsPerCluster, lpBytesPerSector, lpNumberOfFreeClusters, lpTotalNumberOfClusters); - else - return GetDiskFreeSpaceA ((LPCSTR) lpRootPathName, lpSectorsPerCluster, lpBytesPerSector, lpNumberOfFreeClusters, lpTotalNumberOfClusters); -} - -BOOL -qxeGetDiskFreeSpaceEx (const Extbyte * lpDirectoryName, PULARGE_INTEGER lpFreeBytesAvailableToCaller, PULARGE_INTEGER lpTotalNumberOfBytes, PULARGE_INTEGER lpTotalNumberOfFreeBytes) -{ - if (XEUNICODE_P) - return GetDiskFreeSpaceExW ((LPCWSTR) lpDirectoryName, lpFreeBytesAvailableToCaller, lpTotalNumberOfBytes, lpTotalNumberOfFreeBytes); - else - return GetDiskFreeSpaceExA ((LPCSTR) lpDirectoryName, lpFreeBytesAvailableToCaller, lpTotalNumberOfBytes, lpTotalNumberOfFreeBytes); -} - -BOOL -qxeCreateDirectory (const Extbyte * lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes) -{ - if (XEUNICODE_P) - return CreateDirectoryW ((LPCWSTR) lpPathName, lpSecurityAttributes); - else - return CreateDirectoryA ((LPCSTR) lpPathName, lpSecurityAttributes); -} - -BOOL -qxeCreateDirectoryEx (const Extbyte * lpTemplateDirectory, const Extbyte * lpNewDirectory, LPSECURITY_ATTRIBUTES lpSecurityAttributes) -{ - if (XEUNICODE_P) - return CreateDirectoryExW ((LPCWSTR) lpTemplateDirectory, (LPCWSTR) lpNewDirectory, lpSecurityAttributes); - else - return CreateDirectoryExA ((LPCSTR) lpTemplateDirectory, (LPCSTR) lpNewDirectory, lpSecurityAttributes); -} - -BOOL -qxeRemoveDirectory (const Extbyte * lpPathName) -{ - if (XEUNICODE_P) - return RemoveDirectoryW ((LPCWSTR) lpPathName); - else - return RemoveDirectoryA ((LPCSTR) lpPathName); -} - -DWORD -qxeGetFullPathName (const Extbyte * lpFileName, DWORD nBufferLength, Extbyte * lpBuffer, Extbyte * * lpFilePart) -{ - if (XEUNICODE_P) - return GetFullPathNameW ((LPCWSTR) lpFileName, nBufferLength, (LPWSTR) lpBuffer, (LPWSTR *) lpFilePart); - else - return GetFullPathNameA ((LPCSTR) lpFileName, nBufferLength, (LPSTR) lpBuffer, (LPSTR *) lpFilePart); -} - -BOOL -qxeDefineDosDevice (DWORD dwFlags, const Extbyte * lpDeviceName, const Extbyte * lpTargetPath) -{ - if (XEUNICODE_P) - return DefineDosDeviceW (dwFlags, (LPCWSTR) lpDeviceName, (LPCWSTR) lpTargetPath); - else - return DefineDosDeviceA (dwFlags, (LPCSTR) lpDeviceName, (LPCSTR) lpTargetPath); -} - -DWORD -qxeQueryDosDevice (const Extbyte * lpDeviceName, Extbyte * lpTargetPath, DWORD ucchMax) -{ - if (XEUNICODE_P) - return QueryDosDeviceW ((LPCWSTR) lpDeviceName, (LPWSTR) lpTargetPath, ucchMax); - else - return QueryDosDeviceA ((LPCSTR) lpDeviceName, (LPSTR) lpTargetPath, ucchMax); -} - -HANDLE -qxeCreateFile (const Extbyte * lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile) -{ - if (XEUNICODE_P) - return CreateFileW ((LPCWSTR) lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile); - else - return CreateFileA ((LPCSTR) lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile); -} - -BOOL -qxeSetFileAttributes (const Extbyte * lpFileName, DWORD dwFileAttributes) -{ - if (XEUNICODE_P) - return SetFileAttributesW ((LPCWSTR) lpFileName, dwFileAttributes); - else - return SetFileAttributesA ((LPCSTR) lpFileName, dwFileAttributes); -} - -DWORD -qxeGetFileAttributes (const Extbyte * lpFileName) -{ - if (XEUNICODE_P) - return GetFileAttributesW ((LPCWSTR) lpFileName); - else - return GetFileAttributesA ((LPCSTR) lpFileName); -} - -BOOL -qxeGetFileAttributesEx (const Extbyte * lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation) -{ - if (XEUNICODE_P) - return GetFileAttributesExW ((LPCWSTR) lpFileName, fInfoLevelId, lpFileInformation); - else - return GetFileAttributesExA ((LPCSTR) lpFileName, fInfoLevelId, lpFileInformation); -} - -DWORD -qxeGetCompressedFileSize (const Extbyte * lpFileName, LPDWORD lpFileSizeHigh) -{ - if (XEUNICODE_P) - return GetCompressedFileSizeW ((LPCWSTR) lpFileName, lpFileSizeHigh); - else - return GetCompressedFileSizeA ((LPCSTR) lpFileName, lpFileSizeHigh); -} - -BOOL -qxeDeleteFile (const Extbyte * lpFileName) -{ - if (XEUNICODE_P) - return DeleteFileW ((LPCWSTR) lpFileName); - else - return DeleteFileA ((LPCSTR) lpFileName); -} - -/* Error if FindFirstFileEx used: split-sized LPWIN32_FIND_DATA; not used, NT 4.0+ only */ - -/* Skipping FindFirstFile because split-sized LPWIN32_FIND_DATA */ - -/* Skipping FindNextFile because split-sized LPWIN32_FIND_DATA */ - -DWORD -qxeSearchPath (const Extbyte * lpPath, const Extbyte * lpFileName, const Extbyte * lpExtension, DWORD nBufferLength, Extbyte * lpBuffer, Extbyte * * lpFilePart) -{ - if (XEUNICODE_P) - return SearchPathW ((LPCWSTR) lpPath, (LPCWSTR) lpFileName, (LPCWSTR) lpExtension, nBufferLength, (LPWSTR) lpBuffer, (LPWSTR *) lpFilePart); - else - return SearchPathA ((LPCSTR) lpPath, (LPCSTR) lpFileName, (LPCSTR) lpExtension, nBufferLength, (LPSTR) lpBuffer, (LPSTR *) lpFilePart); -} - -BOOL -qxeCopyFile (const Extbyte * lpExistingFileName, const Extbyte * lpNewFileName, BOOL bFailIfExists) -{ - if (XEUNICODE_P) - return CopyFileW ((LPCWSTR) lpExistingFileName, (LPCWSTR) lpNewFileName, bFailIfExists); - else - return CopyFileA ((LPCSTR) lpExistingFileName, (LPCSTR) lpNewFileName, bFailIfExists); -} - -/* NOTE: NT 4.0+ only */ -BOOL -qxeCopyFileEx (const Extbyte * lpExistingFileName, const Extbyte * lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL pbCancel, DWORD dwCopyFlags) -{ - if (XEUNICODE_P) - return CopyFileExW ((LPCWSTR) lpExistingFileName, (LPCWSTR) lpNewFileName, lpProgressRoutine, lpData, pbCancel, dwCopyFlags); - else - return CopyFileExA ((LPCSTR) lpExistingFileName, (LPCSTR) lpNewFileName, lpProgressRoutine, lpData, pbCancel, dwCopyFlags); -} - -BOOL -qxeMoveFile (const Extbyte * lpExistingFileName, const Extbyte * lpNewFileName) -{ - if (XEUNICODE_P) - return MoveFileW ((LPCWSTR) lpExistingFileName, (LPCWSTR) lpNewFileName); - else - return MoveFileA ((LPCSTR) lpExistingFileName, (LPCSTR) lpNewFileName); -} - -BOOL -qxeMoveFileEx (const Extbyte * lpExistingFileName, const Extbyte * lpNewFileName, DWORD dwFlags) -{ - if (XEUNICODE_P) - return MoveFileExW ((LPCWSTR) lpExistingFileName, (LPCWSTR) lpNewFileName, dwFlags); - else - return MoveFileExA ((LPCSTR) lpExistingFileName, (LPCSTR) lpNewFileName, dwFlags); -} - -/* Error if MoveFileWithProgress used: NT 5.0+ only */ - -/* Error if CreateHardLink used: NT 5.0+ only */ - -HANDLE -qxeCreateNamedPipe (const Extbyte * lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, DWORD nOutBufferSize, DWORD nInBufferSize, DWORD nDefaultTimeOut, LPSECURITY_ATTRIBUTES lpSecurityAttributes) -{ - if (XEUNICODE_P) - return CreateNamedPipeW ((LPCWSTR) lpName, dwOpenMode, dwPipeMode, nMaxInstances, nOutBufferSize, nInBufferSize, nDefaultTimeOut, lpSecurityAttributes); - else - return CreateNamedPipeA ((LPCSTR) lpName, dwOpenMode, dwPipeMode, nMaxInstances, nOutBufferSize, nInBufferSize, nDefaultTimeOut, lpSecurityAttributes); -} - -BOOL -qxeGetNamedPipeHandleState (HANDLE hNamedPipe, LPDWORD lpState, LPDWORD lpCurInstances, LPDWORD lpMaxCollectionCount, LPDWORD lpCollectDataTimeout, Extbyte * lpUserName, DWORD nMaxUserNameSize) -{ - if (XEUNICODE_P) - return GetNamedPipeHandleStateW (hNamedPipe, lpState, lpCurInstances, lpMaxCollectionCount, lpCollectDataTimeout, (LPWSTR) lpUserName, nMaxUserNameSize); - else - return GetNamedPipeHandleStateA (hNamedPipe, lpState, lpCurInstances, lpMaxCollectionCount, lpCollectDataTimeout, (LPSTR) lpUserName, nMaxUserNameSize); -} - -BOOL -qxeCallNamedPipe (const Extbyte * lpNamedPipeName, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesRead, DWORD nTimeOut) -{ - if (XEUNICODE_P) - return CallNamedPipeW ((LPCWSTR) lpNamedPipeName, lpInBuffer, nInBufferSize, lpOutBuffer, nOutBufferSize, lpBytesRead, nTimeOut); - else - return CallNamedPipeA ((LPCSTR) lpNamedPipeName, lpInBuffer, nInBufferSize, lpOutBuffer, nOutBufferSize, lpBytesRead, nTimeOut); -} - -BOOL -qxeWaitNamedPipe (const Extbyte * lpNamedPipeName, DWORD nTimeOut) -{ - if (XEUNICODE_P) - return WaitNamedPipeW ((LPCWSTR) lpNamedPipeName, nTimeOut); - else - return WaitNamedPipeA ((LPCSTR) lpNamedPipeName, nTimeOut); -} - -BOOL -qxeSetVolumeLabel (const Extbyte * lpRootPathName, const Extbyte * lpVolumeName) -{ - if (XEUNICODE_P) - return SetVolumeLabelW ((LPCWSTR) lpRootPathName, (LPCWSTR) lpVolumeName); - else - return SetVolumeLabelA ((LPCSTR) lpRootPathName, (LPCSTR) lpVolumeName); -} - -BOOL -qxeGetVolumeInformation (const Extbyte * lpRootPathName, Extbyte * lpVolumeNameBuffer, DWORD nVolumeNameSize, LPDWORD lpVolumeSerialNumber, LPDWORD lpMaximumComponentLength, LPDWORD lpFileSystemFlags, Extbyte * lpFileSystemNameBuffer, DWORD nFileSystemNameSize) -{ - if (XEUNICODE_P) - return GetVolumeInformationW ((LPCWSTR) lpRootPathName, (LPWSTR) lpVolumeNameBuffer, nVolumeNameSize, lpVolumeSerialNumber, lpMaximumComponentLength, lpFileSystemFlags, (LPWSTR) lpFileSystemNameBuffer, nFileSystemNameSize); - else - return GetVolumeInformationA ((LPCSTR) lpRootPathName, (LPSTR) lpVolumeNameBuffer, nVolumeNameSize, lpVolumeSerialNumber, lpMaximumComponentLength, lpFileSystemFlags, (LPSTR) lpFileSystemNameBuffer, nFileSystemNameSize); -} - -BOOL -qxeClearEventLog (HANDLE hEventLog, const Extbyte * lpBackupFileName) -{ - if (XEUNICODE_P) - return ClearEventLogW (hEventLog, (LPCWSTR) lpBackupFileName); - else - return ClearEventLogA (hEventLog, (LPCSTR) lpBackupFileName); -} - -BOOL -qxeBackupEventLog (HANDLE hEventLog, const Extbyte * lpBackupFileName) -{ - if (XEUNICODE_P) - return BackupEventLogW (hEventLog, (LPCWSTR) lpBackupFileName); - else - return BackupEventLogA (hEventLog, (LPCSTR) lpBackupFileName); -} - -HANDLE -qxeOpenEventLog (const Extbyte * lpUNCServerName, const Extbyte * lpSourceName) -{ - if (XEUNICODE_P) - return OpenEventLogW ((LPCWSTR) lpUNCServerName, (LPCWSTR) lpSourceName); - else - return OpenEventLogA ((LPCSTR) lpUNCServerName, (LPCSTR) lpSourceName); -} - -HANDLE -qxeRegisterEventSource (const Extbyte * lpUNCServerName, const Extbyte * lpSourceName) -{ - if (XEUNICODE_P) - return RegisterEventSourceW ((LPCWSTR) lpUNCServerName, (LPCWSTR) lpSourceName); - else - return RegisterEventSourceA ((LPCSTR) lpUNCServerName, (LPCSTR) lpSourceName); -} - -HANDLE -qxeOpenBackupEventLog (const Extbyte * lpUNCServerName, const Extbyte * lpFileName) -{ - if (XEUNICODE_P) - return OpenBackupEventLogW ((LPCWSTR) lpUNCServerName, (LPCWSTR) lpFileName); - else - return OpenBackupEventLogA ((LPCSTR) lpUNCServerName, (LPCSTR) lpFileName); -} - -BOOL -qxeReadEventLog (HANDLE hEventLog, DWORD dwReadFlags, DWORD dwRecordOffset, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, DWORD * pnBytesRead, DWORD * pnMinNumberOfBytesNeeded) -{ - if (XEUNICODE_P) - return ReadEventLogW (hEventLog, dwReadFlags, dwRecordOffset, lpBuffer, nNumberOfBytesToRead, pnBytesRead, pnMinNumberOfBytesNeeded); - else - return ReadEventLogA (hEventLog, dwReadFlags, dwRecordOffset, lpBuffer, nNumberOfBytesToRead, pnBytesRead, pnMinNumberOfBytesNeeded); -} - -BOOL -qxeReportEvent (HANDLE hEventLog, WORD wType, WORD wCategory, DWORD dwEventID, PSID lpUserSid, WORD wNumStrings, DWORD dwDataSize, const Extbyte * * lpStrings, LPVOID lpRawData) -{ - if (XEUNICODE_P) - return ReportEventW (hEventLog, wType, wCategory, dwEventID, lpUserSid, wNumStrings, dwDataSize, (LPCWSTR *) lpStrings, lpRawData); - else - return ReportEventA (hEventLog, wType, wCategory, dwEventID, lpUserSid, wNumStrings, dwDataSize, (LPCSTR *) lpStrings, lpRawData); -} - -BOOL -qxeAccessCheckAndAuditAlarm (const Extbyte * SubsystemName, LPVOID HandleId, Extbyte * ObjectTypeName, Extbyte * ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, DWORD DesiredAccess, PGENERIC_MAPPING GenericMapping, BOOL ObjectCreation, LPDWORD GrantedAccess, LPBOOL AccessStatus, LPBOOL pfGenerateOnClose) -{ - if (XEUNICODE_P) - return AccessCheckAndAuditAlarmW ((LPCWSTR) SubsystemName, HandleId, (LPWSTR) ObjectTypeName, (LPWSTR) ObjectName, SecurityDescriptor, DesiredAccess, GenericMapping, ObjectCreation, GrantedAccess, AccessStatus, pfGenerateOnClose); - else - return AccessCheckAndAuditAlarmA ((LPCSTR) SubsystemName, HandleId, (LPSTR) ObjectTypeName, (LPSTR) ObjectName, SecurityDescriptor, DesiredAccess, GenericMapping, ObjectCreation, GrantedAccess, AccessStatus, pfGenerateOnClose); -} - -/* Error if AccessCheckByTypeAndAuditAlarm used: NT 5.0+ only */ - -/* Error if AccessCheckByTypeResultListAndAuditAlarm used: NT 5.0+ only */ - -BOOL -qxeObjectOpenAuditAlarm (const Extbyte * SubsystemName, LPVOID HandleId, Extbyte * ObjectTypeName, Extbyte * ObjectName, PSECURITY_DESCRIPTOR pSecurityDescriptor, HANDLE ClientToken, DWORD DesiredAccess, DWORD GrantedAccess, PPRIVILEGE_SET Privileges, BOOL ObjectCreation, BOOL AccessGranted, LPBOOL GenerateOnClose) -{ - if (XEUNICODE_P) - return ObjectOpenAuditAlarmW ((LPCWSTR) SubsystemName, HandleId, (LPWSTR) ObjectTypeName, (LPWSTR) ObjectName, pSecurityDescriptor, ClientToken, DesiredAccess, GrantedAccess, Privileges, ObjectCreation, AccessGranted, GenerateOnClose); - else - return ObjectOpenAuditAlarmA ((LPCSTR) SubsystemName, HandleId, (LPSTR) ObjectTypeName, (LPSTR) ObjectName, pSecurityDescriptor, ClientToken, DesiredAccess, GrantedAccess, Privileges, ObjectCreation, AccessGranted, GenerateOnClose); -} - -BOOL -qxeObjectPrivilegeAuditAlarm (const Extbyte * SubsystemName, LPVOID HandleId, HANDLE ClientToken, DWORD DesiredAccess, PPRIVILEGE_SET Privileges, BOOL AccessGranted) -{ - if (XEUNICODE_P) - return ObjectPrivilegeAuditAlarmW ((LPCWSTR) SubsystemName, HandleId, ClientToken, DesiredAccess, Privileges, AccessGranted); - else - return ObjectPrivilegeAuditAlarmA ((LPCSTR) SubsystemName, HandleId, ClientToken, DesiredAccess, Privileges, AccessGranted); -} - -BOOL -qxeObjectCloseAuditAlarm (const Extbyte * SubsystemName, LPVOID HandleId, BOOL GenerateOnClose) -{ - if (XEUNICODE_P) - return ObjectCloseAuditAlarmW ((LPCWSTR) SubsystemName, HandleId, GenerateOnClose); - else - return ObjectCloseAuditAlarmA ((LPCSTR) SubsystemName, HandleId, GenerateOnClose); -} - -BOOL -qxeObjectDeleteAuditAlarm (const Extbyte * SubsystemName, LPVOID HandleId, BOOL GenerateOnClose) -{ - if (XEUNICODE_P) - return ObjectDeleteAuditAlarmW ((LPCWSTR) SubsystemName, HandleId, GenerateOnClose); - else - return ObjectDeleteAuditAlarmA ((LPCSTR) SubsystemName, HandleId, GenerateOnClose); -} - -BOOL -qxePrivilegedServiceAuditAlarm (const Extbyte * SubsystemName, const Extbyte * ServiceName, HANDLE ClientToken, PPRIVILEGE_SET Privileges, BOOL AccessGranted) -{ - if (XEUNICODE_P) - return PrivilegedServiceAuditAlarmW ((LPCWSTR) SubsystemName, (LPCWSTR) ServiceName, ClientToken, Privileges, AccessGranted); - else - return PrivilegedServiceAuditAlarmA ((LPCSTR) SubsystemName, (LPCSTR) ServiceName, ClientToken, Privileges, AccessGranted); -} - -BOOL -qxeSetFileSecurity (const Extbyte * lpFileName, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor) -{ - if (XEUNICODE_P) - return SetFileSecurityW ((LPCWSTR) lpFileName, SecurityInformation, pSecurityDescriptor); - else - return SetFileSecurityA ((LPCSTR) lpFileName, SecurityInformation, pSecurityDescriptor); -} - -BOOL -qxeGetFileSecurity (const Extbyte * lpFileName, SECURITY_INFORMATION RequestedInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD nLength, LPDWORD lpnLengthNeeded) -{ - if (XEUNICODE_P) - return GetFileSecurityW ((LPCWSTR) lpFileName, RequestedInformation, pSecurityDescriptor, nLength, lpnLengthNeeded); - else - return GetFileSecurityA ((LPCSTR) lpFileName, RequestedInformation, pSecurityDescriptor, nLength, lpnLengthNeeded); -} - -HANDLE -qxeFindFirstChangeNotification (const Extbyte * lpPathName, BOOL bWatchSubtree, DWORD dwNotifyFilter) -{ - if (XEUNICODE_P) - return FindFirstChangeNotificationW ((LPCWSTR) lpPathName, bWatchSubtree, dwNotifyFilter); - else - return FindFirstChangeNotificationA ((LPCSTR) lpPathName, bWatchSubtree, dwNotifyFilter); -} - -/* Error if ReadDirectoryChanges used: Unicode-only */ - -BOOL -qxeIsBadStringPtr (const Extbyte * lpsz, UINT ucchMax) -{ - if (XEUNICODE_P) - return IsBadStringPtrW ((LPCWSTR) lpsz, ucchMax); - else - return IsBadStringPtrA ((LPCSTR) lpsz, ucchMax); -} - -BOOL -qxeLookupAccountSid (const Extbyte * lpSystemName, PSID Sid, Extbyte * Name, LPDWORD cbName, Extbyte * ReferencedDomainName, LPDWORD cbReferencedDomainName, PSID_NAME_USE peUse) -{ - if (XEUNICODE_P) - return LookupAccountSidW ((LPCWSTR) lpSystemName, Sid, (LPWSTR) Name, cbName, (LPWSTR) ReferencedDomainName, cbReferencedDomainName, peUse); - else - return LookupAccountSidA ((LPCSTR) lpSystemName, Sid, (LPSTR) Name, cbName, (LPSTR) ReferencedDomainName, cbReferencedDomainName, peUse); -} - -BOOL -qxeLookupAccountName (const Extbyte * lpSystemName, const Extbyte * lpAccountName, PSID Sid, LPDWORD cbSid, Extbyte * ReferencedDomainName, LPDWORD cbReferencedDomainName, PSID_NAME_USE peUse) -{ - if (XEUNICODE_P) - return LookupAccountNameW ((LPCWSTR) lpSystemName, (LPCWSTR) lpAccountName, Sid, cbSid, (LPWSTR) ReferencedDomainName, cbReferencedDomainName, peUse); - else - return LookupAccountNameA ((LPCSTR) lpSystemName, (LPCSTR) lpAccountName, Sid, cbSid, (LPSTR) ReferencedDomainName, cbReferencedDomainName, peUse); -} - -BOOL -qxeLookupPrivilegeValue (const Extbyte * lpSystemName, const Extbyte * lpName, PLUID lpLuid) -{ - if (XEUNICODE_P) - return LookupPrivilegeValueW ((LPCWSTR) lpSystemName, (LPCWSTR) lpName, lpLuid); - else - return LookupPrivilegeValueA ((LPCSTR) lpSystemName, (LPCSTR) lpName, lpLuid); -} - -BOOL -qxeLookupPrivilegeName (const Extbyte * lpSystemName, PLUID lpLuid, Extbyte * lpName, LPDWORD cbName) -{ - if (XEUNICODE_P) - return LookupPrivilegeNameW ((LPCWSTR) lpSystemName, lpLuid, (LPWSTR) lpName, cbName); - else - return LookupPrivilegeNameA ((LPCSTR) lpSystemName, lpLuid, (LPSTR) lpName, cbName); -} - -BOOL -qxeLookupPrivilegeDisplayName (const Extbyte * lpSystemName, const Extbyte * lpName, Extbyte * lpDisplayName, LPDWORD cbDisplayName, LPDWORD lpLanguageId) -{ - if (XEUNICODE_P) - return LookupPrivilegeDisplayNameW ((LPCWSTR) lpSystemName, (LPCWSTR) lpName, (LPWSTR) lpDisplayName, cbDisplayName, lpLanguageId); - else - return LookupPrivilegeDisplayNameA ((LPCSTR) lpSystemName, (LPCSTR) lpName, (LPSTR) lpDisplayName, cbDisplayName, lpLanguageId); -} - -BOOL -qxeBuildCommDCB (const Extbyte * lpDef, LPDCB lpDCB) -{ - if (XEUNICODE_P) - return BuildCommDCBW ((LPCWSTR) lpDef, lpDCB); - else - return BuildCommDCBA ((LPCSTR) lpDef, lpDCB); -} - -BOOL -qxeBuildCommDCBAndTimeouts (const Extbyte * lpDef, LPDCB lpDCB, LPCOMMTIMEOUTS lpCommTimeouts) -{ - if (XEUNICODE_P) - return BuildCommDCBAndTimeoutsW ((LPCWSTR) lpDef, lpDCB, lpCommTimeouts); - else - return BuildCommDCBAndTimeoutsA ((LPCSTR) lpDef, lpDCB, lpCommTimeouts); -} - -BOOL -qxeCommConfigDialog (const Extbyte * lpszName, HWND hWnd, LPCOMMCONFIG lpCC) -{ - if (XEUNICODE_P) - return CommConfigDialogW ((LPCWSTR) lpszName, hWnd, lpCC); - else - return CommConfigDialogA ((LPCSTR) lpszName, hWnd, lpCC); -} - -BOOL -qxeGetDefaultCommConfig (const Extbyte * lpszName, LPCOMMCONFIG lpCC, LPDWORD lpdwSize) -{ - if (XEUNICODE_P) - return GetDefaultCommConfigW ((LPCWSTR) lpszName, lpCC, lpdwSize); - else - return GetDefaultCommConfigA ((LPCSTR) lpszName, lpCC, lpdwSize); -} - -BOOL -qxeSetDefaultCommConfig (const Extbyte * lpszName, LPCOMMCONFIG lpCC, DWORD dwSize) -{ - if (XEUNICODE_P) - return SetDefaultCommConfigW ((LPCWSTR) lpszName, lpCC, dwSize); - else - return SetDefaultCommConfigA ((LPCSTR) lpszName, lpCC, dwSize); -} - -BOOL -qxeGetComputerName (Extbyte * lpBuffer, LPDWORD nSize) -{ - if (XEUNICODE_P) - return GetComputerNameW ((LPWSTR) lpBuffer, nSize); - else - return GetComputerNameA ((LPSTR) lpBuffer, nSize); -} - -BOOL -qxeSetComputerName (const Extbyte * lpComputerName) -{ - if (XEUNICODE_P) - return SetComputerNameW ((LPCWSTR) lpComputerName); - else - return SetComputerNameA ((LPCSTR) lpComputerName); -} - -BOOL -qxeGetUserName (Extbyte * lpBuffer, LPDWORD nSize) -{ - if (XEUNICODE_P) - return GetUserNameW ((LPWSTR) lpBuffer, nSize); - else - return GetUserNameA ((LPSTR) lpBuffer, nSize); -} - -BOOL -qxeLogonUser (Extbyte * lpszUsername, Extbyte * lpszDomain, Extbyte * lpszPassword, DWORD dwLogonType, DWORD dwLogonProvider, PHANDLE phToken) -{ - if (XEUNICODE_P) - return LogonUserW ((LPWSTR) lpszUsername, (LPWSTR) lpszDomain, (LPWSTR) lpszPassword, dwLogonType, dwLogonProvider, phToken); - else - return LogonUserA ((LPSTR) lpszUsername, (LPSTR) lpszDomain, (LPSTR) lpszPassword, dwLogonType, dwLogonProvider, phToken); -} - -BOOL -qxeCreateProcessAsUser (HANDLE hToken, const Extbyte * lpApplicationName, Extbyte * lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, const Extbyte * lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation) -{ - if (XEUNICODE_P) - return CreateProcessAsUserW (hToken, (LPCWSTR) lpApplicationName, (LPWSTR) lpCommandLine, lpProcessAttributes, lpThreadAttributes, bInheritHandles, dwCreationFlags, lpEnvironment, (LPCWSTR) lpCurrentDirectory, lpStartupInfo, lpProcessInformation); - else - return CreateProcessAsUserA (hToken, (LPCSTR) lpApplicationName, (LPSTR) lpCommandLine, lpProcessAttributes, lpThreadAttributes, bInheritHandles, dwCreationFlags, lpEnvironment, (LPCSTR) lpCurrentDirectory, (LPSTARTUPINFOA) lpStartupInfo, lpProcessInformation); -} - -/* Error if GetCurrentHwProfile used: split-sized LPHW_PROFILE_INFO; NT 4.0+ only */ - -/* Error if GetVersionEx used: split-sized LPOSVERSIONINFO */ - -/* Error if CreateJobObject used: NT 5.0+ only */ - -/* Error if OpenJobObject used: NT 5.0+ only */ - - -/*----------------------------------------------------------------------*/ -/* Processing file ACLAPI.h */ -/*----------------------------------------------------------------------*/ - -DWORD -qxeGetNamedSecurityInfo (IN Extbyte * pObjectName, IN SE_OBJECT_TYPE ObjectType, IN SECURITY_INFORMATION SecurityInfo, OUT PSID * ppsidOowner, OUT PSID * ppsidGroup, OUT PACL * ppDacl, OUT PACL * ppSacl, OUT PSECURITY_DESCRIPTOR * ppSecurityDescriptor) -{ - if (XEUNICODE_P) - return GetNamedSecurityInfoW ((IN LPWSTR) pObjectName, ObjectType, SecurityInfo, ppsidOowner, ppsidGroup, ppDacl, ppSacl, ppSecurityDescriptor); - else - return GetNamedSecurityInfoA ((IN LPSTR) pObjectName, ObjectType, SecurityInfo, ppsidOowner, ppsidGroup, ppDacl, ppSacl, ppSecurityDescriptor); -} - +qxemciGetErrorString (MCIERROR arg1, Extbyte * arg2, UINT arg3) +{ + if (XEUNICODE_P) + return mciGetErrorStringW (arg1, (LPWSTR) arg2, arg3); + else + return mciGetErrorStringA (arg1, (LPSTR) arg2, arg3); +} +
--- a/src/intl-auto-encap-win32.h Sun Jan 24 19:56:31 2010 +0000 +++ b/src/intl-auto-encap-win32.h Sun Jan 24 22:06:20 2010 -0600 @@ -3,81 +3,150 @@ */ +/* Processing file WINCON.H */ + +#undef FillConsoleOutputCharacter +#define FillConsoleOutputCharacter error_split_CHAR + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetConsoleTitle +#define GetConsoleTitle error_use_qxeGetConsoleTitle_or_GetConsoleTitleA_and_GetConsoleTitleW +#endif +DWORD qxeGetConsoleTitle (Extbyte * arg1, DWORD arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef PeekConsoleInput +#define PeekConsoleInput error_use_qxePeekConsoleInput_or_PeekConsoleInputA_and_PeekConsoleInputW +#endif +BOOL qxePeekConsoleInput (HANDLE arg1, PINPUT_RECORD arg2, DWORD arg3, PDWORD arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef ReadConsole +#define ReadConsole error_use_qxeReadConsole_or_ReadConsoleA_and_ReadConsoleW +#endif +BOOL qxeReadConsole (HANDLE arg1, PVOID arg2, DWORD arg3, PDWORD arg4, PVOID arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef ReadConsoleInput +#define ReadConsoleInput error_use_qxeReadConsoleInput_or_ReadConsoleInputA_and_ReadConsoleInputW +#endif +BOOL qxeReadConsoleInput (HANDLE arg1, PINPUT_RECORD arg2, DWORD arg3, PDWORD arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef ReadConsoleOutputCharacter +#define ReadConsoleOutputCharacter error_use_qxeReadConsoleOutputCharacter_or_ReadConsoleOutputCharacterA_and_ReadConsoleOutputCharacterW +#endif +BOOL qxeReadConsoleOutputCharacter (HANDLE arg1, Extbyte * arg2, DWORD arg3, COORD arg4, PDWORD arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef ReadConsoleOutput +#define ReadConsoleOutput error_use_qxeReadConsoleOutput_or_ReadConsoleOutputA_and_ReadConsoleOutputW +#endif +BOOL qxeReadConsoleOutput (HANDLE arg1, PCHAR_INFO arg2, COORD arg3, COORD arg4, PSMALL_RECT arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef ScrollConsoleScreenBuffer +#define ScrollConsoleScreenBuffer error_use_qxeScrollConsoleScreenBuffer_or_ScrollConsoleScreenBufferA_and_ScrollConsoleScreenBufferW +#endif +BOOL qxeScrollConsoleScreenBuffer (HANDLE arg1, const SMALL_RECT* arg2, const SMALL_RECT* arg3, COORD arg4, const CHAR_INFO* arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef SetConsoleTitle +#define SetConsoleTitle error_use_qxeSetConsoleTitle_or_SetConsoleTitleA_and_SetConsoleTitleW +#endif +BOOL qxeSetConsoleTitle (const Extbyte * arg1); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WriteConsole +#define WriteConsole error_use_qxeWriteConsole_or_WriteConsoleA_and_WriteConsoleW +#endif +BOOL qxeWriteConsole (HANDLE arg1, PCVOID arg2, DWORD arg3, PDWORD arg4, PVOID arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WriteConsoleInput +#define WriteConsoleInput error_use_qxeWriteConsoleInput_or_WriteConsoleInputA_and_WriteConsoleInputW +#endif +BOOL qxeWriteConsoleInput (HANDLE arg1, const INPUT_RECORD* arg2, DWORD arg3, PDWORD arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WriteConsoleOutput +#define WriteConsoleOutput error_use_qxeWriteConsoleOutput_or_WriteConsoleOutputA_and_WriteConsoleOutputW +#endif +BOOL qxeWriteConsoleOutput (HANDLE arg1, const CHAR_INFO* arg2, COORD arg3, COORD arg4, PSMALL_RECT arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WriteConsoleOutputCharacter +#define WriteConsoleOutputCharacter error_use_qxeWriteConsoleOutputCharacter_or_WriteConsoleOutputCharacterA_and_WriteConsoleOutputCharacterW +#endif +BOOL qxeWriteConsoleOutputCharacter (HANDLE arg1, const Extbyte * arg2, DWORD arg3, COORD arg4, PDWORD arg5); + + /* Processing file SHELLAPI.H */ +#undef CommandLineToArgv +#define CommandLineToArgv error_Unicode_only + #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef DragQueryFile #define DragQueryFile error_use_qxeDragQueryFile_or_DragQueryFileA_and_DragQueryFileW #endif -UINT qxeDragQueryFile (HDROP arg1, UINT arg2, Extbyte * arg3, UINT arg4); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef ShellExecute -#define ShellExecute error_use_qxeShellExecute_or_ShellExecuteA_and_ShellExecuteW -#endif -HINSTANCE qxeShellExecute (HWND hwnd, const Extbyte * lpOperation, const Extbyte * lpFile, const Extbyte * lpParameters, const Extbyte * lpDirectory, INT nShowCmd); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef FindExecutable -#define FindExecutable error_use_qxeFindExecutable_or_FindExecutableA_and_FindExecutableW -#endif -HINSTANCE qxeFindExecutable (const Extbyte * lpFile, const Extbyte * lpDirectory, Extbyte * lpResult); - -#undef CommandLineToArgv -#define CommandLineToArgv error_Unicode_only - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef ShellAbout -#define ShellAbout error_use_qxeShellAbout_or_ShellAboutA_and_ShellAboutW -#endif -INT qxeShellAbout (HWND hWnd, const Extbyte * szApp, const Extbyte * szOtherStuff, HICON hIcon); +UINT qxeDragQueryFile (HDROP arg1, UINT arg2, Extbyte * arg3, UINT arg4); #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef ExtractAssociatedIcon #define ExtractAssociatedIcon error_use_qxeExtractAssociatedIcon_or_ExtractAssociatedIconA_and_ExtractAssociatedIconW #endif -HICON qxeExtractAssociatedIcon (HINSTANCE hInst, Extbyte * lpIconPath, LPWORD lpiIcon); +HICON qxeExtractAssociatedIcon (HINSTANCE arg1, const Extbyte * arg2, PWORD arg3); #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef ExtractIcon #define ExtractIcon error_use_qxeExtractIcon_or_ExtractIconA_and_ExtractIconW #endif -HICON qxeExtractIcon (HINSTANCE hInst, const Extbyte * lpszExeFileName, UINT nIconIndex); - -#if !defined (CYGWIN_HEADERS) -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef DoEnvironmentSubst -#define DoEnvironmentSubst error_use_qxeDoEnvironmentSubst_or_DoEnvironmentSubstA_and_DoEnvironmentSubstW -#endif -DWORD qxeDoEnvironmentSubst (Extbyte * szString, UINT cbString); -#endif /* !defined (CYGWIN_HEADERS) */ - -#undef FindEnvironmentString -#define FindEnvironmentString error_causes_link_error__NT_4_0__only +HICON qxeExtractIcon (HINSTANCE arg1, const Extbyte * arg2, UINT arg3); /* Skipping ExtractIconEx because NT 4.0+ only, error in Cygwin prototype */ #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef FindExecutable +#define FindExecutable error_use_qxeFindExecutable_or_FindExecutableA_and_FindExecutableW +#endif +HINSTANCE qxeFindExecutable (const Extbyte * arg1, const Extbyte * arg2, Extbyte * arg3); + +#undef Shell_NotifyIcon +#define Shell_NotifyIcon error_split_sized_NOTIFYICONDATA__NT_4_0__only + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef ShellAbout +#define ShellAbout error_use_qxeShellAbout_or_ShellAboutA_and_ShellAboutW +#endif +int qxeShellAbout (HWND arg1, const Extbyte * arg2, const Extbyte * arg3, HICON arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef ShellExecute +#define ShellExecute error_use_qxeShellExecute_or_ShellExecuteA_and_ShellExecuteW +#endif +HINSTANCE qxeShellExecute (HWND arg1, const Extbyte * arg2, const Extbyte * arg3, const Extbyte * arg4, const Extbyte * arg5, INT arg6); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef ShellExecuteEx +#define ShellExecuteEx error_use_qxeShellExecuteEx_or_ShellExecuteExA_and_ShellExecuteExW +#endif +BOOL qxeShellExecuteEx (LPSHELLEXECUTEINFOW arg1); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef SHFileOperation #define SHFileOperation error_use_qxeSHFileOperation_or_SHFileOperationA_and_SHFileOperationW #endif -int qxeSHFileOperation (LPSHFILEOPSTRUCTW lpFileOp); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef ShellExecuteEx -#define ShellExecuteEx error_use_qxeShellExecuteEx_or_ShellExecuteExA_and_ShellExecuteExW -#endif -BOOL qxeShellExecuteEx (LPSHELLEXECUTEINFOW lpExecInfo); - -#undef WinExecError -#define WinExecError error_causes_link_error__NT_4_0__only +int qxeSHFileOperation (LPSHFILEOPSTRUCTW arg1); + +/* Skipping SHGetFileInfo because split-sized SHFILEINFO, NT 4.0+ only */ #if !defined (CYGWIN_HEADERS) #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef SHQueryRecycleBin #define SHQueryRecycleBin error_use_qxeSHQueryRecycleBin_or_SHQueryRecycleBinA_and_SHQueryRecycleBinW #endif -HRESULT qxeSHQueryRecycleBin (const Extbyte * pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo); +HRESULT qxeSHQueryRecycleBin (const Extbyte * arg1, LPSHQUERYRBINFO arg2); #endif /* !defined (CYGWIN_HEADERS) */ #if !defined (CYGWIN_HEADERS) @@ -85,56 +154,167 @@ #undef SHEmptyRecycleBin #define SHEmptyRecycleBin error_use_qxeSHEmptyRecycleBin_or_SHEmptyRecycleBinA_and_SHEmptyRecycleBinW #endif -HRESULT qxeSHEmptyRecycleBin (HWND hwnd, const Extbyte * pszRootPath, DWORD dwFlags); -#endif /* !defined (CYGWIN_HEADERS) */ - -#undef Shell_NotifyIcon -#define Shell_NotifyIcon error_split_sized_NOTIFYICONDATA__NT_4_0__only - -/* Skipping SHGetFileInfo because split-sized SHFILEINFO, NT 4.0+ only */ - -#undef SHGetDiskFreeSpace -#define SHGetDiskFreeSpace error_causes_link_error__NT_4_0__only - -#if !defined (CYGWIN_HEADERS) -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef SHGetNewLinkInfo -#define SHGetNewLinkInfo error_use_qxeSHGetNewLinkInfo_or_SHGetNewLinkInfoA_and_SHGetNewLinkInfoW -#endif -BOOL qxeSHGetNewLinkInfo (const Extbyte * pszLinkTo, const Extbyte * pszDir, Extbyte * pszName, BOOL * pfMustCopy, UINT uFlags); -#endif /* !defined (CYGWIN_HEADERS) */ - -#if !defined (CYGWIN_HEADERS) -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef SHInvokePrinterCommand -#define SHInvokePrinterCommand error_use_qxeSHInvokePrinterCommand_or_SHInvokePrinterCommandA_and_SHInvokePrinterCommandW -#endif -BOOL qxeSHInvokePrinterCommand (HWND hwnd, UINT uAction, const Extbyte * lpBuf1, const Extbyte * lpBuf2, BOOL fModal); +HRESULT qxeSHEmptyRecycleBin (HWND arg1, const Extbyte * arg2, DWORD arg3); #endif /* !defined (CYGWIN_HEADERS) */ /* Processing file WINSPOOL.H */ #if defined (HAVE_MS_WINDOWS) -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef EnumPrinters -#define EnumPrinters error_use_qxeEnumPrinters_or_EnumPrintersA_and_EnumPrintersW -#endif -BOOL qxeEnumPrinters (DWORD Flags, Extbyte * Name, DWORD Level, LPBYTE pPrinterEnum, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned); +#undef AddForm +#define AddForm error_not_used__complicated_interface_with_split_structures +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef AddJob +#define AddJob error_not_used__complicated_interface_with_split_structures +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef AddMonitor +#define AddMonitor error_not_used__complicated_interface_with_split_structures +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef AddPort +#define AddPort error_not_used__complicated_interface_with_split_structures +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef AddPrinter +#define AddPrinter error_split_sized_DEVMODE_pointer_in_split_PRINTER_INFO_2 +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef AddPrinterConnection +#define AddPrinterConnection error_not_used__complicated_interface_with_split_structures +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef AddPrinterDriver +#define AddPrinterDriver error_not_used__complicated_interface_with_split_structures +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef AddPrintProcessor +#define AddPrintProcessor error_not_used__complicated_interface_with_split_structures +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef AddPrintProvidor +#define AddPrintProvidor error_not_used__complicated_interface_with_split_structures +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef AdvancedDocumentProperties +#define AdvancedDocumentProperties error_not_used__complicated_interface_with_split_structures +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef ConfigurePort +#define ConfigurePort error_not_used__complicated_interface_with_split_structures +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef DeleteForm +#define DeleteForm error_not_used__complicated_interface_with_split_structures +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef DeleteMonitor +#define DeleteMonitor error_not_used__complicated_interface_with_split_structures +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef DeletePort +#define DeletePort error_not_used__complicated_interface_with_split_structures +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef DeletePrinterConnection +#define DeletePrinterConnection error_not_used__complicated_interface_with_split_structures #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -/* Skipping OpenPrinter because split-sized DEVMODE pointer in split PRINTER_DEFAULTS */ +#undef DeletePrinterData +#define DeletePrinterData error_not_used__complicated_interface_with_split_structures +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef DeletePrinterDriver +#define DeletePrinterDriver error_not_used__complicated_interface_with_split_structures +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef DeletePrintProcessor +#define DeletePrintProcessor error_not_used__complicated_interface_with_split_structures +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef DeletePrintProvidor +#define DeletePrintProvidor error_not_used__complicated_interface_with_split_structures +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +/* Skipping DocumentProperties because split-sized DEVMODE, error in Cygwin prototype */ +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef EnumForms +#define EnumForms error_not_used__complicated_interface_with_split_structures +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef EnumJobs +#define EnumJobs error_split_sized_DEVMODE_pointer_in_split_JOB_INFO_2 +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef EnumMonitors +#define EnumMonitors error_not_used__complicated_interface_with_split_structures #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -#undef ResetPrinter -#define ResetPrinter error_split_sized_DEVMODE_pointer_in_split_PRINTER_DEFAULTS +#undef EnumPorts +#define EnumPorts error_not_used__complicated_interface_with_split_structures +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef EnumPrinterData +#define EnumPrinterData error_not_used__complicated_interface_with_split_structures +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef EnumPrinterDrivers +#define EnumPrinterDrivers error_not_used__complicated_interface_with_split_structures #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -#undef SetJob -#define SetJob error_split_sized_DEVMODE_pointer_in_split_JOB_INFO_2 +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef EnumPrinters +#define EnumPrinters error_use_qxeEnumPrinters_or_EnumPrintersA_and_EnumPrintersW +#endif +BOOL qxeEnumPrinters (DWORD arg1, Extbyte * arg2, DWORD arg3, PBYTE arg4, DWORD arg5, PDWORD arg6, PDWORD arg7); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef EnumPrintProcessorDatatypes +#define EnumPrintProcessorDatatypes error_not_used__complicated_interface_with_split_structures +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef EnumPrintProcessors +#define EnumPrintProcessors error_not_used__complicated_interface_with_split_structures +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef GetDefaultPrinter +#define GetDefaultPrinter error_Function_needs_review_to_determine_how_to_handle_it +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef GetForm +#define GetForm error_not_used__complicated_interface_with_split_structures #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) @@ -143,38 +323,13 @@ #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -#undef EnumJobs -#define EnumJobs error_split_sized_DEVMODE_pointer_in_split_JOB_INFO_2 -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef AddPrinter -#define AddPrinter error_split_sized_DEVMODE_pointer_in_split_PRINTER_INFO_2 -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef SetPrinter -#define SetPrinter error_split_sized_DEVMODE_pointer_in_split_PRINTER_INFO_2 -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) #undef GetPrinter #define GetPrinter error_split_sized_DEVMODE_pointer_in_split_PRINTER_INFO_2 #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -#undef AddPrinterDriver -#define AddPrinterDriver error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef AddPrinterDriverEx -#define AddPrinterDriverEx error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef EnumPrinterDrivers -#define EnumPrinterDrivers error_not_used__complicated_interface_with_split_structures +#undef GetPrinterData +#define GetPrinterData error_not_used__complicated_interface_with_split_structures #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) @@ -188,122 +343,12 @@ #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -#undef DeletePrinterDriver -#define DeletePrinterDriver error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef DeletePrinterDriverEx -#define DeletePrinterDriverEx error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef AddPerMachineConnection -#define AddPerMachineConnection error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef DeletePerMachineConnection -#define DeletePerMachineConnection error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef EnumPerMachineConnections -#define EnumPerMachineConnections error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef AddPrintProcessor -#define AddPrintProcessor error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef EnumPrintProcessors -#define EnumPrintProcessors error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) #undef GetPrintProcessorDirectory #define GetPrintProcessorDirectory error_not_used__complicated_interface_with_split_structures #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -#undef EnumPrintProcessorDatatypes -#define EnumPrintProcessorDatatypes error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef DeletePrintProcessor -#define DeletePrintProcessor error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef StartDocPrinter -#define StartDocPrinter error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef AddJob -#define AddJob error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -/* Skipping DocumentProperties because split-sized DEVMODE, error in Cygwin prototype */ -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef AdvancedDocumentProperties -#define AdvancedDocumentProperties error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef GetPrinterData -#define GetPrinterData error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef GetPrinterDataEx -#define GetPrinterDataEx error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef EnumPrinterData -#define EnumPrinterData error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef EnumPrinterDataEx -#define EnumPrinterDataEx error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef EnumPrinterKey -#define EnumPrinterKey error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef SetPrinterData -#define SetPrinterData error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef SetPrinterDataEx -#define SetPrinterDataEx error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef DeletePrinterData -#define DeletePrinterData error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef DeletePrinterDataEx -#define DeletePrinterDataEx error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef DeletePrinterKey -#define DeletePrinterKey error_not_used__complicated_interface_with_split_structures +/* Skipping OpenPrinter because split-sized DEVMODE pointer in split PRINTER_DEFAULTS */ #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) @@ -312,18 +357,8 @@ #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -#undef AddForm -#define AddForm error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef DeleteForm -#define DeleteForm error_not_used__complicated_interface_with_split_structures -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#undef GetForm -#define GetForm error_not_used__complicated_interface_with_split_structures +#undef ResetPrinter +#define ResetPrinter error_split_sized_DEVMODE_pointer_in_split_PRINTER_DEFAULTS #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) @@ -332,232 +367,434 @@ #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -#undef EnumForms -#define EnumForms error_not_used__complicated_interface_with_split_structures +#undef SetJob +#define SetJob error_split_sized_DEVMODE_pointer_in_split_JOB_INFO_2 +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef SetPrinter +#define SetPrinter error_split_sized_DEVMODE_pointer_in_split_PRINTER_INFO_2 +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef SetPrinterData +#define SetPrinterData error_not_used__complicated_interface_with_split_structures #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -#undef EnumMonitors -#define EnumMonitors error_not_used__complicated_interface_with_split_structures +#undef StartDocPrinter +#define StartDocPrinter error_not_used__complicated_interface_with_split_structures +#endif /* defined (HAVE_MS_WINDOWS) */ + + +/* Processing file WINNETWK.H */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WNetAddConnection +#define WNetAddConnection error_use_qxeWNetAddConnection_or_WNetAddConnectionA_and_WNetAddConnectionW +#endif +DWORD qxeWNetAddConnection (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -#undef AddMonitor -#define AddMonitor error_not_used__complicated_interface_with_split_structures +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WNetAddConnection2 +#define WNetAddConnection2 error_use_qxeWNetAddConnection2_or_WNetAddConnection2A_and_WNetAddConnection2W +#endif +DWORD qxeWNetAddConnection2 (LPNETRESOURCEW arg1, const Extbyte * arg2, const Extbyte * arg3, DWORD arg4); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -#undef DeleteMonitor -#define DeleteMonitor error_not_used__complicated_interface_with_split_structures +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WNetAddConnection3 +#define WNetAddConnection3 error_use_qxeWNetAddConnection3_or_WNetAddConnection3A_and_WNetAddConnection3W +#endif +DWORD qxeWNetAddConnection3 (HWND arg1, LPNETRESOURCEW arg2, const Extbyte * arg3, const Extbyte * arg4, DWORD arg5); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WNetCancelConnection +#define WNetCancelConnection error_use_qxeWNetCancelConnection_or_WNetCancelConnectionA_and_WNetCancelConnectionW +#endif +DWORD qxeWNetCancelConnection (const Extbyte * arg1, BOOL arg2); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -#undef EnumPorts -#define EnumPorts error_not_used__complicated_interface_with_split_structures +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WNetCancelConnection2 +#define WNetCancelConnection2 error_use_qxeWNetCancelConnection2_or_WNetCancelConnection2A_and_WNetCancelConnection2W +#endif +DWORD qxeWNetCancelConnection2 (const Extbyte * arg1, DWORD arg2, BOOL arg3); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -#undef AddPort -#define AddPort error_not_used__complicated_interface_with_split_structures +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WNetGetConnection +#define WNetGetConnection error_use_qxeWNetGetConnection_or_WNetGetConnectionA_and_WNetGetConnectionW +#endif +DWORD qxeWNetGetConnection (const Extbyte * arg1, Extbyte * arg2, PDWORD arg3); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -#undef ConfigurePort -#define ConfigurePort error_not_used__complicated_interface_with_split_structures +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WNetUseConnection +#define WNetUseConnection error_use_qxeWNetUseConnection_or_WNetUseConnectionA_and_WNetUseConnectionW +#endif +DWORD qxeWNetUseConnection (HWND arg1, LPNETRESOURCEW arg2, const Extbyte * arg3, const Extbyte * arg4, DWORD arg5, Extbyte * arg6, PDWORD arg7, PDWORD arg8); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef WNetSetConnection +#define WNetSetConnection error_Function_needs_review_to_determine_how_to_handle_it #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -#undef DeletePort -#define DeletePort error_not_used__complicated_interface_with_split_structures +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WNetConnectionDialog1 +#define WNetConnectionDialog1 error_use_qxeWNetConnectionDialog1_or_WNetConnectionDialog1A_and_WNetConnectionDialog1W +#endif +DWORD qxeWNetConnectionDialog1 (LPCONNECTDLGSTRUCTW arg1); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WNetDisconnectDialog1 +#define WNetDisconnectDialog1 error_use_qxeWNetDisconnectDialog1_or_WNetDisconnectDialog1A_and_WNetDisconnectDialog1W +#endif +DWORD qxeWNetDisconnectDialog1 (LPDISCDLGSTRUCTW arg1); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -#undef XcvData -#define XcvData error_not_used__complicated_interface_with_split_structures +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WNetOpenEnum +#define WNetOpenEnum error_use_qxeWNetOpenEnum_or_WNetOpenEnumA_and_WNetOpenEnumW +#endif +DWORD qxeWNetOpenEnum (DWORD arg1, DWORD arg2, DWORD arg3, LPNETRESOURCEW arg4, LPHANDLE arg5); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -#undef SetPort -#define SetPort error_not_used__complicated_interface_with_split_structures +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WNetEnumResource +#define WNetEnumResource error_use_qxeWNetEnumResource_or_WNetEnumResourceA_and_WNetEnumResourceW +#endif +DWORD qxeWNetEnumResource (HANDLE arg1, PDWORD arg2, PVOID arg3, PDWORD arg4); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -#undef AddPrinterConnection -#define AddPrinterConnection error_not_used__complicated_interface_with_split_structures +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WNetGetUniversalName +#define WNetGetUniversalName error_use_qxeWNetGetUniversalName_or_WNetGetUniversalNameA_and_WNetGetUniversalNameW +#endif +DWORD qxeWNetGetUniversalName (const Extbyte * arg1, DWORD arg2, PVOID arg3, PDWORD arg4); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -#undef DeletePrinterConnection -#define DeletePrinterConnection error_not_used__complicated_interface_with_split_structures +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WNetGetUser +#define WNetGetUser error_use_qxeWNetGetUser_or_WNetGetUserA_and_WNetGetUserW +#endif +DWORD qxeWNetGetUser (const Extbyte * arg1, Extbyte * arg2, PDWORD arg3); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -#undef AddPrintProvidor -#define AddPrintProvidor error_not_used__complicated_interface_with_split_structures +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WNetGetProviderName +#define WNetGetProviderName error_use_qxeWNetGetProviderName_or_WNetGetProviderNameA_and_WNetGetProviderNameW +#endif +DWORD qxeWNetGetProviderName (DWORD arg1, Extbyte * arg2, PDWORD arg3); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WNetGetNetworkInformation +#define WNetGetNetworkInformation error_use_qxeWNetGetNetworkInformation_or_WNetGetNetworkInformationA_and_WNetGetNetworkInformationW +#endif +DWORD qxeWNetGetNetworkInformation (const Extbyte * arg1, LPNETINFOSTRUCT arg2); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -#undef DeletePrintProvidor -#define DeletePrintProvidor error_not_used__complicated_interface_with_split_structures +#undef WNetGetResourceInformation +#define WNetGetResourceInformation error_Function_needs_review_to_determine_how_to_handle_it +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef WNetGetResourceParent +#define WNetGetResourceParent error_Function_needs_review_to_determine_how_to_handle_it #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -#undef SetPrinterHTMLView -#define SetPrinterHTMLView error_not_used__complicated_interface_with_split_structures +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WNetGetLastError +#define WNetGetLastError error_use_qxeWNetGetLastError_or_WNetGetLastErrorA_and_WNetGetLastErrorW +#endif +DWORD qxeWNetGetLastError (PDWORD arg1, Extbyte * arg2, DWORD arg3, Extbyte * arg4, DWORD arg5); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) -#undef GetPrinterHTMLView -#define GetPrinterHTMLView error_not_used__complicated_interface_with_split_structures +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef MultinetGetConnectionPerformance +#define MultinetGetConnectionPerformance error_use_qxeMultinetGetConnectionPerformance_or_MultinetGetConnectionPerformanceA_and_MultinetGetConnectionPerformanceW +#endif +DWORD qxeMultinetGetConnectionPerformance (LPNETRESOURCEW arg1, LPNETCONNECTINFOSTRUCT arg2); #endif /* defined (HAVE_MS_WINDOWS) */ /* Processing file WINUSER.H */ #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef wvsprintf -#define wvsprintf error_use_qxewvsprintf_or_wvsprintfA_and_wvsprintfW -#endif -int qxewvsprintf (Extbyte * arg1, const Extbyte * arg2, va_list arglist); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef LoadKeyboardLayout -#define LoadKeyboardLayout error_use_qxeLoadKeyboardLayout_or_LoadKeyboardLayoutA_and_LoadKeyboardLayoutW -#endif -HKL qxeLoadKeyboardLayout (const Extbyte * pwszKLID, UINT Flags); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetKeyboardLayoutName -#define GetKeyboardLayoutName error_use_qxeGetKeyboardLayoutName_or_GetKeyboardLayoutNameA_and_GetKeyboardLayoutNameW -#endif -BOOL qxeGetKeyboardLayoutName (Extbyte * pwszKLID); +#undef AppendMenu +#define AppendMenu error_use_qxeAppendMenu_or_AppendMenuA_and_AppendMenuW +#endif +BOOL qxeAppendMenu (HMENU arg1, UINT arg2, UINT_PTR arg3, const Extbyte * arg4); + +#undef BroadcastSystemMessage +#define BroadcastSystemMessage error_win95_version_not_split__NT_4_0__only + +#undef BroadcastSystemMessageEx +#define BroadcastSystemMessageEx error_Function_needs_review_to_determine_how_to_handle_it + +#if !defined (CYGWIN_HEADERS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CallMsgFilter +#define CallMsgFilter error_use_qxeCallMsgFilter_or_CallMsgFilterA_and_CallMsgFilterW +#endif +BOOL qxeCallMsgFilter (LPMSG arg1, INT arg2); +#endif /* !defined (CYGWIN_HEADERS) */ + +#undef CallWindowProc +#define CallWindowProc error_two_versions__STRICT_and_non_STRICT + +#undef ChangeDisplaySettings +#define ChangeDisplaySettings error_split_sized_LPDEVMODE + +#undef ChangeDisplaySettingsEx +#define ChangeDisplaySettingsEx error_split_sized_LPDEVMODE__NT_5_0_Win98__only + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef ChangeMenu +#define ChangeMenu error_use_qxeChangeMenu_or_ChangeMenuA_and_ChangeMenuW +#endif +BOOL qxeChangeMenu (HMENU arg1, UINT arg2, const Extbyte * arg3, UINT arg4, UINT arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CharLower +#define CharLower error_use_qxeCharLower_or_CharLowerA_and_CharLowerW +#endif +Extbyte * qxeCharLower (Extbyte * arg1); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CharLowerBuff +#define CharLowerBuff error_use_qxeCharLowerBuff_or_CharLowerBuffA_and_CharLowerBuffW +#endif +DWORD qxeCharLowerBuff (Extbyte * arg1, DWORD arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CharNext +#define CharNext error_use_qxeCharNext_or_CharNextA_and_CharNextW +#endif +Extbyte * qxeCharNext (const Extbyte * arg1); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CharPrev +#define CharPrev error_use_qxeCharPrev_or_CharPrevA_and_CharPrevW +#endif +Extbyte * qxeCharPrev (const Extbyte * arg1, const Extbyte * arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CharToOem +#define CharToOem error_use_qxeCharToOem_or_CharToOemA_and_CharToOemW +#endif +BOOL qxeCharToOem (const Extbyte * arg1, LPSTR arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CharToOemBuff +#define CharToOemBuff error_use_qxeCharToOemBuff_or_CharToOemBuffA_and_CharToOemBuffW +#endif +BOOL qxeCharToOemBuff (const Extbyte * arg1, LPSTR arg2, DWORD arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CharUpper +#define CharUpper error_use_qxeCharUpper_or_CharUpperA_and_CharUpperW +#endif +Extbyte * qxeCharUpper (Extbyte * arg1); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CharUpperBuff +#define CharUpperBuff error_use_qxeCharUpperBuff_or_CharUpperBuffA_and_CharUpperBuffW +#endif +DWORD qxeCharUpperBuff (Extbyte * arg1, DWORD arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CopyAcceleratorTable +#define CopyAcceleratorTable error_use_qxeCopyAcceleratorTable_or_CopyAcceleratorTableA_and_CopyAcceleratorTableW +#endif +int qxeCopyAcceleratorTable (HACCEL arg1, LPACCEL arg2, int arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CreateAcceleratorTable +#define CreateAcceleratorTable error_use_qxeCreateAcceleratorTable_or_CreateAcceleratorTableA_and_CreateAcceleratorTableW +#endif +HACCEL qxeCreateAcceleratorTable (LPACCEL arg1, int arg2); #undef CreateDesktop #define CreateDesktop error_split_sized_LPDEVMODE #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef OpenDesktop -#define OpenDesktop error_use_qxeOpenDesktop_or_OpenDesktopA_and_OpenDesktopW -#endif -HDESK qxeOpenDesktop (Extbyte * lpszDesktop, DWORD dwFlags, BOOL fInherit, ACCESS_MASK dwDesiredAccess); +#undef CreateDialogIndirectParam +#define CreateDialogIndirectParam error_use_qxeCreateDialogIndirectParam_or_CreateDialogIndirectParamA_and_CreateDialogIndirectParamW +#endif +HWND qxeCreateDialogIndirectParam (HINSTANCE arg1, LPCDLGTEMPLATE arg2, HWND arg3, DLGPROC arg4, LPARAM arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CreateDialogParam +#define CreateDialogParam error_use_qxeCreateDialogParam_or_CreateDialogParamA_and_CreateDialogParamW +#endif +HWND qxeCreateDialogParam (HINSTANCE arg1, const Extbyte * arg2, HWND arg3, DLGPROC arg4, LPARAM arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CreateMDIWindow +#define CreateMDIWindow error_use_qxeCreateMDIWindow_or_CreateMDIWindowA_and_CreateMDIWindowW +#endif +HWND qxeCreateMDIWindow (const Extbyte * arg1, const Extbyte * arg2, DWORD arg3, int arg4, int arg5, int arg6, int arg7, HWND arg8, HINSTANCE arg9, LPARAM arg10); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CreateWindowEx +#define CreateWindowEx error_use_qxeCreateWindowEx_or_CreateWindowExA_and_CreateWindowExW +#endif +HWND qxeCreateWindowEx (DWORD arg1, const Extbyte * arg2, const Extbyte * arg3, DWORD arg4, int arg5, int arg6, int arg7, int arg8, HWND arg9, HMENU arg10, HINSTANCE arg11, LPVOID arg12); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CreateWindowStation +#define CreateWindowStation error_use_qxeCreateWindowStation_or_CreateWindowStationA_and_CreateWindowStationW +#endif +HWINSTA qxeCreateWindowStation (const Extbyte * arg1, DWORD arg2, DWORD arg3, LPSECURITY_ATTRIBUTES arg4); + +#undef DefDlgProc +#define DefDlgProc error_return_value_is_conditionalized_on__MAC__messes_up_parser + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef DefFrameProc +#define DefFrameProc error_use_qxeDefFrameProc_or_DefFrameProcA_and_DefFrameProcW +#endif +LRESULT qxeDefFrameProc (HWND arg1, HWND arg2, UINT arg3, WPARAM arg4, LPARAM arg5); + +#undef DefMDIChildProc +#define DefMDIChildProc error_return_value_is_conditionalized_on__MAC__messes_up_parser + +/* Skipping DefWindowProc because return value is conditionalized on _MAC, messes up parser */ + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef DialogBoxIndirectParam +#define DialogBoxIndirectParam error_use_qxeDialogBoxIndirectParam_or_DialogBoxIndirectParamA_and_DialogBoxIndirectParamW +#endif +int qxeDialogBoxIndirectParam (HINSTANCE arg1, LPCDLGTEMPLATE arg2, HWND arg3, DLGPROC arg4, LPARAM arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef DialogBoxParam +#define DialogBoxParam error_use_qxeDialogBoxParam_or_DialogBoxParamA_and_DialogBoxParamW +#endif +int qxeDialogBoxParam (HINSTANCE arg1, const Extbyte * arg2, HWND arg3, DLGPROC arg4, LPARAM arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef DispatchMessage +#define DispatchMessage error_use_qxeDispatchMessage_or_DispatchMessageA_and_DispatchMessageW +#endif +LONG qxeDispatchMessage (const MSG* arg1); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef DlgDirList +#define DlgDirList error_use_qxeDlgDirList_or_DlgDirListA_and_DlgDirListW +#endif +int qxeDlgDirList (HWND arg1, Extbyte * arg2, int arg3, int arg4, UINT arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef DlgDirListComboBox +#define DlgDirListComboBox error_use_qxeDlgDirListComboBox_or_DlgDirListComboBoxA_and_DlgDirListComboBoxW +#endif +int qxeDlgDirListComboBox (HWND arg1, Extbyte * arg2, int arg3, int arg4, UINT arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef DlgDirSelectComboBoxEx +#define DlgDirSelectComboBoxEx error_use_qxeDlgDirSelectComboBoxEx_or_DlgDirSelectComboBoxExA_and_DlgDirSelectComboBoxExW +#endif +BOOL qxeDlgDirSelectComboBoxEx (HWND arg1, Extbyte * arg2, int arg3, int arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef DlgDirSelectEx +#define DlgDirSelectEx error_use_qxeDlgDirSelectEx_or_DlgDirSelectExA_and_DlgDirSelectExW +#endif +BOOL qxeDlgDirSelectEx (HWND arg1, Extbyte * arg2, int arg3, int arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef DrawState +#define DrawState error_use_qxeDrawState_or_DrawStateA_and_DrawStateW +#endif +BOOL qxeDrawState (HDC arg1, HBRUSH arg2, DRAWSTATEPROC arg3, LPARAM arg4, WPARAM arg5, int arg6, int arg7, int arg8, int arg9, UINT arg10); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef DrawText +#define DrawText error_use_qxeDrawText_or_DrawTextA_and_DrawTextW +#endif +int qxeDrawText (HDC arg1, const Extbyte * arg2, int arg3, LPRECT arg4, UINT arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef DrawTextEx +#define DrawTextEx error_use_qxeDrawTextEx_or_DrawTextExA_and_DrawTextExW +#endif +int qxeDrawTextEx (HDC arg1, Extbyte * arg2, int arg3, LPRECT arg4, UINT arg5, LPDRAWTEXTPARAMS arg6); #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef EnumDesktops #define EnumDesktops error_use_qxeEnumDesktops_or_EnumDesktopsA_and_EnumDesktopsW #endif -BOOL qxeEnumDesktops (HWINSTA hwinsta, DESKTOPENUMPROCW lpEnumFunc, LPARAM lParam); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CreateWindowStation -#define CreateWindowStation error_use_qxeCreateWindowStation_or_CreateWindowStationA_and_CreateWindowStationW -#endif -HWINSTA qxeCreateWindowStation (Extbyte * lpwinsta, DWORD dwReserved, ACCESS_MASK dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef OpenWindowStation -#define OpenWindowStation error_use_qxeOpenWindowStation_or_OpenWindowStationA_and_OpenWindowStationW -#endif -HWINSTA qxeOpenWindowStation (Extbyte * lpszWinSta, BOOL fInherit, ACCESS_MASK dwDesiredAccess); +BOOL qxeEnumDesktops (HWINSTA arg1, DESKTOPENUMPROCW arg2, LPARAM arg3); + +#undef EnumDisplaySettings +#define EnumDisplaySettings error_split_sized_LPDEVMODE + +#undef EnumDisplaySettingsEx +#define EnumDisplaySettingsEx error_Function_needs_review_to_determine_how_to_handle_it + +#undef EnumDisplayDevices +#define EnumDisplayDevices error_split_sized_PDISPLAY_DEVICE__NT_5_0__only__no_Win98 + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef EnumProps +#define EnumProps error_use_qxeEnumProps_or_EnumPropsA_and_EnumPropsW +#endif +int qxeEnumProps (HWND arg1, PROPENUMPROCW arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef EnumPropsEx +#define EnumPropsEx error_use_qxeEnumPropsEx_or_EnumPropsExA_and_EnumPropsExW +#endif +int qxeEnumPropsEx (HWND arg1, PROPENUMPROCEXW arg2, LPARAM arg3); #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef EnumWindowStations #define EnumWindowStations error_use_qxeEnumWindowStations_or_EnumWindowStationsA_and_EnumWindowStationsW #endif -BOOL qxeEnumWindowStations (WINSTAENUMPROCW lpEnumFunc, LPARAM lParam); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetUserObjectInformation -#define GetUserObjectInformation error_use_qxeGetUserObjectInformation_or_GetUserObjectInformationA_and_GetUserObjectInformationW -#endif -BOOL qxeGetUserObjectInformation (HANDLE hObj, int nIndex, PVOID pvInfo, DWORD nLength, LPDWORD lpnLengthNeeded); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef SetUserObjectInformation -#define SetUserObjectInformation error_use_qxeSetUserObjectInformation_or_SetUserObjectInformationA_and_SetUserObjectInformationW -#endif -BOOL qxeSetUserObjectInformation (HANDLE hObj, int nIndex, PVOID pvInfo, DWORD nLength); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RegisterWindowMessage -#define RegisterWindowMessage error_use_qxeRegisterWindowMessage_or_RegisterWindowMessageA_and_RegisterWindowMessageW -#endif -UINT qxeRegisterWindowMessage (const Extbyte * lpString); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetMessage -#define GetMessage error_use_qxeGetMessage_or_GetMessageA_and_GetMessageW -#endif -BOOL qxeGetMessage (LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef DispatchMessage -#define DispatchMessage error_use_qxeDispatchMessage_or_DispatchMessageA_and_DispatchMessageW -#endif -LONG qxeDispatchMessage (CONST MSG * lpMsg); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef PeekMessage -#define PeekMessage error_use_qxePeekMessage_or_PeekMessageA_and_PeekMessageW -#endif -BOOL qxePeekMessage (LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg); - -/* Skipping SendMessage because split messages and structures */ - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef SendMessageTimeout -#define SendMessageTimeout error_use_qxeSendMessageTimeout_or_SendMessageTimeoutA_and_SendMessageTimeoutW -#endif -LRESULT qxeSendMessageTimeout (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, UINT fuFlags, UINT uTimeout, LPDWORD lpdwResult); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef SendNotifyMessage -#define SendNotifyMessage error_use_qxeSendNotifyMessage_or_SendNotifyMessageA_and_SendNotifyMessageW -#endif -BOOL qxeSendNotifyMessage (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef SendMessageCallback -#define SendMessageCallback error_use_qxeSendMessageCallback_or_SendMessageCallbackA_and_SendMessageCallbackW -#endif -BOOL qxeSendMessageCallback (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, SENDASYNCPROC lpResultCallBack, DWORD dwData); - -#undef BroadcastSystemMessage -#define BroadcastSystemMessage error_win95_version_not_split__NT_4_0__only - -#undef RegisterDeviceNotification -#define RegisterDeviceNotification error_NT_5_0__only - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef PostMessage -#define PostMessage error_use_qxePostMessage_or_PostMessageA_and_PostMessageW -#endif -BOOL qxePostMessage (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef PostThreadMessage -#define PostThreadMessage error_use_qxePostThreadMessage_or_PostThreadMessageA_and_PostThreadMessageW -#endif -BOOL qxePostThreadMessage (DWORD idThread, UINT Msg, WPARAM wParam, LPARAM lParam); - -/* Skipping DefWindowProc because return value is conditionalized on _MAC, messes up parser */ - -#undef CallWindowProc -#define CallWindowProc error_two_versions__STRICT_and_non_STRICT - -#undef CallWindowProc -#define CallWindowProc error_two_versions__STRICT_and_non_STRICT - -/* Skipping RegisterClass because need to intercept so we can provide our own window procedure and handle split notify messages; split-simple WNDCLASS */ - -/* Skipping UnregisterClass because need to intercept for reasons related to RegisterClass */ +BOOL qxeEnumWindowStations (WINSTAENUMPROCW arg1, LPARAM arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef FindWindowEx +#define FindWindowEx error_use_qxeFindWindowEx_or_FindWindowExA_and_FindWindowExW +#endif +HWND qxeFindWindowEx (HWND arg1, HWND arg2, const Extbyte * arg3, const Extbyte * arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef FindWindow +#define FindWindow error_use_qxeFindWindow_or_FindWindowA_and_FindWindowW +#endif +HWND qxeFindWindow (const Extbyte * arg1, const Extbyte * arg2); #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef GetClassInfo #define GetClassInfo error_use_qxeGetClassInfo_or_GetClassInfoA_and_GetClassInfoW #endif -BOOL qxeGetClassInfo (HINSTANCE hInstance, const Extbyte * lpClassName, LPWNDCLASSW lpWndClass); - -/* Skipping RegisterClassEx because need to intercept so we can provide our own window procedure and handle split notify messages; split-simple WNDCLASSEX; NT 4.0+ only */ +BOOL qxeGetClassInfo (HINSTANCE arg1, const Extbyte * arg2, LPWNDCLASSW arg3); #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef GetClassInfoEx @@ -566,236 +803,124 @@ BOOL qxeGetClassInfoEx (HINSTANCE arg1, const Extbyte * arg2, LPWNDCLASSEXW arg3); #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CreateWindowEx -#define CreateWindowEx error_use_qxeCreateWindowEx_or_CreateWindowExA_and_CreateWindowExW -#endif -HWND qxeCreateWindowEx (DWORD dwExStyle, const Extbyte * lpClassName, const Extbyte * lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CreateDialogParam -#define CreateDialogParam error_use_qxeCreateDialogParam_or_CreateDialogParamA_and_CreateDialogParamW -#endif -HWND qxeCreateDialogParam (HINSTANCE hInstance, const Extbyte * lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CreateDialogIndirectParam -#define CreateDialogIndirectParam error_use_qxeCreateDialogIndirectParam_or_CreateDialogIndirectParamA_and_CreateDialogIndirectParamW -#endif -HWND qxeCreateDialogIndirectParam (HINSTANCE hInstance, LPCDLGTEMPLATEW lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef DialogBoxParam -#define DialogBoxParam error_use_qxeDialogBoxParam_or_DialogBoxParamA_and_DialogBoxParamW -#endif -int qxeDialogBoxParam (HINSTANCE hInstance, const Extbyte * lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef DialogBoxIndirectParam -#define DialogBoxIndirectParam error_use_qxeDialogBoxIndirectParam_or_DialogBoxIndirectParamA_and_DialogBoxIndirectParamW -#endif -int qxeDialogBoxIndirectParam (HINSTANCE hInstance, LPCDLGTEMPLATEW hDialogTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef SetDlgItemText -#define SetDlgItemText error_use_qxeSetDlgItemText_or_SetDlgItemTextA_and_SetDlgItemTextW -#endif -BOOL qxeSetDlgItemText (HWND hDlg, int nIDDlgItem, const Extbyte * lpString); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetDlgItemText -#define GetDlgItemText error_use_qxeGetDlgItemText_or_GetDlgItemTextA_and_GetDlgItemTextW -#endif -UINT qxeGetDlgItemText (HWND hDlg, int nIDDlgItem, Extbyte * lpString, int nMaxCount); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef SendDlgItemMessage -#define SendDlgItemMessage error_use_qxeSendDlgItemMessage_or_SendDlgItemMessageA_and_SendDlgItemMessageW -#endif -LONG qxeSendDlgItemMessage (HWND hDlg, int nIDDlgItem, UINT Msg, WPARAM wParam, LPARAM lParam); - -#undef DefDlgProc -#define DefDlgProc error_return_value_is_conditionalized_on__MAC__messes_up_parser - -#if !defined (CYGWIN_HEADERS) -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CallMsgFilter -#define CallMsgFilter error_use_qxeCallMsgFilter_or_CallMsgFilterA_and_CallMsgFilterW -#endif -BOOL qxeCallMsgFilter (LPMSG lpMsg, int nCode); -#endif /* !defined (CYGWIN_HEADERS) */ - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RegisterClipboardFormat -#define RegisterClipboardFormat error_use_qxeRegisterClipboardFormat_or_RegisterClipboardFormatA_and_RegisterClipboardFormatW -#endif -UINT qxeRegisterClipboardFormat (const Extbyte * lpszFormat); +#undef GetClassLong +#define GetClassLong error_use_qxeGetClassLong_or_GetClassLongA_and_GetClassLongW +#endif +DWORD qxeGetClassLong (HWND arg1, int arg2); + +#undef GetClassLongPtr +#define GetClassLongPtr error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetClassName +#define GetClassName error_use_qxeGetClassName_or_GetClassNameA_and_GetClassNameW +#endif +int qxeGetClassName (HWND arg1, Extbyte * arg2, int arg3); #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef GetClipboardFormatName #define GetClipboardFormatName error_use_qxeGetClipboardFormatName_or_GetClipboardFormatNameA_and_GetClipboardFormatNameW #endif -int qxeGetClipboardFormatName (UINT format, Extbyte * lpszFormatName, int cchMaxCount); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CharToOem -#define CharToOem error_use_qxeCharToOem_or_CharToOemA_and_CharToOemW -#endif -BOOL qxeCharToOem (const Extbyte * lpszSrc, LPSTR lpszDst); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef OemToChar -#define OemToChar error_use_qxeOemToChar_or_OemToCharA_and_OemToCharW -#endif -BOOL qxeOemToChar (LPCSTR lpszSrc, Extbyte * lpszDst); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CharToOemBuff -#define CharToOemBuff error_use_qxeCharToOemBuff_or_CharToOemBuffA_and_CharToOemBuffW -#endif -BOOL qxeCharToOemBuff (const Extbyte * lpszSrc, LPSTR lpszDst, DWORD cchDstLength); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef OemToCharBuff -#define OemToCharBuff error_use_qxeOemToCharBuff_or_OemToCharBuffA_and_OemToCharBuffW -#endif -BOOL qxeOemToCharBuff (LPCSTR lpszSrc, Extbyte * lpszDst, DWORD cchDstLength); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CharUpper -#define CharUpper error_use_qxeCharUpper_or_CharUpperA_and_CharUpperW -#endif -Extbyte * qxeCharUpper (Extbyte * lpsz); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CharUpperBuff -#define CharUpperBuff error_use_qxeCharUpperBuff_or_CharUpperBuffA_and_CharUpperBuffW -#endif -DWORD qxeCharUpperBuff (Extbyte * lpsz, DWORD cchLength); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CharLower -#define CharLower error_use_qxeCharLower_or_CharLowerA_and_CharLowerW -#endif -Extbyte * qxeCharLower (Extbyte * lpsz); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CharLowerBuff -#define CharLowerBuff error_use_qxeCharLowerBuff_or_CharLowerBuffA_and_CharLowerBuffW -#endif -DWORD qxeCharLowerBuff (Extbyte * lpsz, DWORD cchLength); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CharNext -#define CharNext error_use_qxeCharNext_or_CharNextA_and_CharNextW -#endif -Extbyte * qxeCharNext (const Extbyte * lpsz); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CharPrev -#define CharPrev error_use_qxeCharPrev_or_CharPrevA_and_CharPrevW -#endif -Extbyte * qxeCharPrev (const Extbyte * lpszStart, const Extbyte * lpszCurrent); - -#undef IsCharAlpha -#define IsCharAlpha error_split_CHAR - -#undef IsCharAlphaNumeric -#define IsCharAlphaNumeric error_split_CHAR - -#undef IsCharUpper -#define IsCharUpper error_split_CHAR - -#undef IsCharLower -#define IsCharLower error_split_CHAR +int qxeGetClipboardFormatName (UINT arg1, Extbyte * arg2, int arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetDlgItemText +#define GetDlgItemText error_use_qxeGetDlgItemText_or_GetDlgItemTextA_and_GetDlgItemTextW +#endif +UINT qxeGetDlgItemText (HWND arg1, int arg2, Extbyte * arg3, int arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetKeyboardLayoutName +#define GetKeyboardLayoutName error_use_qxeGetKeyboardLayoutName_or_GetKeyboardLayoutNameA_and_GetKeyboardLayoutNameW +#endif +BOOL qxeGetKeyboardLayoutName (Extbyte * arg1); #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef GetKeyNameText #define GetKeyNameText error_use_qxeGetKeyNameText_or_GetKeyNameTextA_and_GetKeyNameTextW #endif -int qxeGetKeyNameText (LONG lParam, Extbyte * lpString, int nSize); - -/* Skipping VkKeyScan because split CHAR */ - -#undef VkKeyScanEx -#define VkKeyScanEx error_split_CHAR__NT_4_0__only - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef MapVirtualKey -#define MapVirtualKey error_use_qxeMapVirtualKey_or_MapVirtualKeyA_and_MapVirtualKeyW -#endif -UINT qxeMapVirtualKey (UINT uCode, UINT uMapType); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef MapVirtualKeyEx -#define MapVirtualKeyEx error_use_qxeMapVirtualKeyEx_or_MapVirtualKeyExA_and_MapVirtualKeyExW -#endif -UINT qxeMapVirtualKeyEx (UINT uCode, UINT uMapType, HKL dwhkl); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef LoadAccelerators -#define LoadAccelerators error_use_qxeLoadAccelerators_or_LoadAcceleratorsA_and_LoadAcceleratorsW -#endif -HACCEL qxeLoadAccelerators (HINSTANCE hInstance, const Extbyte * lpTableName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CreateAcceleratorTable -#define CreateAcceleratorTable error_use_qxeCreateAcceleratorTable_or_CreateAcceleratorTableA_and_CreateAcceleratorTableW -#endif -HACCEL qxeCreateAcceleratorTable (LPACCEL arg1, int arg2); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CopyAcceleratorTable -#define CopyAcceleratorTable error_use_qxeCopyAcceleratorTable_or_CopyAcceleratorTableA_and_CopyAcceleratorTableW -#endif -int qxeCopyAcceleratorTable (HACCEL hAccelSrc, LPACCEL lpAccelDst, int cAccelEntries); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef TranslateAccelerator -#define TranslateAccelerator error_use_qxeTranslateAccelerator_or_TranslateAcceleratorA_and_TranslateAcceleratorW -#endif -int qxeTranslateAccelerator (HWND hWnd, HACCEL hAccTable, LPMSG lpMsg); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef LoadMenu -#define LoadMenu error_use_qxeLoadMenu_or_LoadMenuA_and_LoadMenuW -#endif -HMENU qxeLoadMenu (HINSTANCE hInstance, const Extbyte * lpMenuName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef LoadMenuIndirect -#define LoadMenuIndirect error_use_qxeLoadMenuIndirect_or_LoadMenuIndirectA_and_LoadMenuIndirectW -#endif -HMENU qxeLoadMenuIndirect (CONST MENUTEMPLATEW * lpMenuTemplate); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef ChangeMenu -#define ChangeMenu error_use_qxeChangeMenu_or_ChangeMenuA_and_ChangeMenuW -#endif -BOOL qxeChangeMenu (HMENU hMenu, UINT cmd, const Extbyte * lpszNewItem, UINT cmdInsert, UINT flags); +int qxeGetKeyNameText (LONG arg1, Extbyte * arg2, int arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetMenuItemInfo +#define GetMenuItemInfo error_use_qxeGetMenuItemInfo_or_GetMenuItemInfoA_and_GetMenuItemInfoW +#endif +BOOL qxeGetMenuItemInfo (HMENU arg1, UINT arg2, BOOL arg3, LPMENUITEMINFOW arg4); #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef GetMenuString #define GetMenuString error_use_qxeGetMenuString_or_GetMenuStringA_and_GetMenuStringW #endif -int qxeGetMenuString (HMENU hMenu, UINT uIDItem, Extbyte * lpString, int nMaxCount, UINT uFlag); +int qxeGetMenuString (HMENU arg1, UINT arg2, Extbyte * arg3, int arg4, UINT arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetMessage +#define GetMessage error_use_qxeGetMessage_or_GetMessageA_and_GetMessageW +#endif +BOOL qxeGetMessage (LPMSG arg1, HWND arg2, UINT arg3, UINT arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetProp +#define GetProp error_use_qxeGetProp_or_GetPropA_and_GetPropW +#endif +HANDLE qxeGetProp (HWND arg1, const Extbyte * arg2); + +#undef GetRawInputDeviceInfo +#define GetRawInputDeviceInfo error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetTabbedTextExtent +#define GetTabbedTextExtent error_use_qxeGetTabbedTextExtent_or_GetTabbedTextExtentA_and_GetTabbedTextExtentW +#endif +DWORD qxeGetTabbedTextExtent (HDC arg1, const Extbyte * arg2, int arg3, int arg4, LPINT arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetWindowLong +#define GetWindowLong error_use_qxeGetWindowLong_or_GetWindowLongA_and_GetWindowLongW +#endif +LONG qxeGetWindowLong (HWND arg1, int arg2); + +#undef GetWindowLongPtr +#define GetWindowLongPtr error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetUserObjectInformation +#define GetUserObjectInformation error_use_qxeGetUserObjectInformation_or_GetUserObjectInformationA_and_GetUserObjectInformationW +#endif +BOOL qxeGetUserObjectInformation (HANDLE arg1, int arg2, PVOID arg3, DWORD arg4, PDWORD arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetWindowTextLength +#define GetWindowTextLength error_use_qxeGetWindowTextLength_or_GetWindowTextLengthA_and_GetWindowTextLengthW +#endif +int qxeGetWindowTextLength (HWND arg1); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetWindowText +#define GetWindowText error_use_qxeGetWindowText_or_GetWindowTextA_and_GetWindowTextW +#endif +int qxeGetWindowText (HWND arg1, Extbyte * arg2, int arg3); + +#undef GetAltTabInfo +#define GetAltTabInfo error_NT_5_0__only + +#undef GetMonitorInfo +#define GetMonitorInfo error_NT_5_0_Win98__only + +#undef GetWindowModuleFileName +#define GetWindowModuleFileName error_NT_5_0__only + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GrayString +#define GrayString error_use_qxeGrayString_or_GrayStringA_and_GrayStringW +#endif +BOOL qxeGrayString (HDC arg1, HBRUSH arg2, GRAYSTRINGPROC arg3, LPARAM arg4, int arg5, int arg6, int arg7, int arg8, int arg9); #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef InsertMenu #define InsertMenu error_use_qxeInsertMenu_or_InsertMenuA_and_InsertMenuW #endif -BOOL qxeInsertMenu (HMENU hMenu, UINT uPosition, UINT uFlags, UINT uIDNewItem, const Extbyte * lpNewItem); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef AppendMenu -#define AppendMenu error_use_qxeAppendMenu_or_AppendMenuA_and_AppendMenuW -#endif -BOOL qxeAppendMenu (HMENU hMenu, UINT uFlags, UINT uIDNewItem, const Extbyte * lpNewItem); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef ModifyMenu -#define ModifyMenu error_use_qxeModifyMenu_or_ModifyMenuA_and_ModifyMenuW -#endif -BOOL qxeModifyMenu (HMENU hMnu, UINT uPosition, UINT uFlags, UINT uIDNewItem, const Extbyte * lpNewItem); +BOOL qxeInsertMenu (HMENU arg1, UINT arg2, UINT arg3, UINT arg4, const Extbyte * arg5); #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef InsertMenuItem @@ -803,11 +928,227 @@ #endif BOOL qxeInsertMenuItem (HMENU arg1, UINT arg2, BOOL arg3, LPCMENUITEMINFOW arg4); -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetMenuItemInfo -#define GetMenuItemInfo error_use_qxeGetMenuItemInfo_or_GetMenuItemInfoA_and_GetMenuItemInfoW -#endif -BOOL qxeGetMenuItemInfo (HMENU arg1, UINT arg2, BOOL arg3, LPMENUITEMINFOW arg4); +#undef IsCharAlphaNumeric +#define IsCharAlphaNumeric error_split_CHAR + +#undef IsCharAlpha +#define IsCharAlpha error_split_CHAR + +#undef IsCharLower +#define IsCharLower error_split_CHAR + +#undef IsCharUpper +#define IsCharUpper error_split_CHAR + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef IsDialogMessage +#define IsDialogMessage error_use_qxeIsDialogMessage_or_IsDialogMessageA_and_IsDialogMessageW +#endif +BOOL qxeIsDialogMessage (HWND arg1, LPMSG arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef LoadAccelerators +#define LoadAccelerators error_use_qxeLoadAccelerators_or_LoadAcceleratorsA_and_LoadAcceleratorsW +#endif +HACCEL qxeLoadAccelerators (HINSTANCE arg1, const Extbyte * arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef LoadBitmap +#define LoadBitmap error_use_qxeLoadBitmap_or_LoadBitmapA_and_LoadBitmapW +#endif +HBITMAP qxeLoadBitmap (HINSTANCE arg1, const Extbyte * arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef LoadCursorFromFile +#define LoadCursorFromFile error_use_qxeLoadCursorFromFile_or_LoadCursorFromFileA_and_LoadCursorFromFileW +#endif +HCURSOR qxeLoadCursorFromFile (const Extbyte * arg1); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef LoadCursor +#define LoadCursor error_use_qxeLoadCursor_or_LoadCursorA_and_LoadCursorW +#endif +HCURSOR qxeLoadCursor (HINSTANCE arg1, const Extbyte * arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef LoadIcon +#define LoadIcon error_use_qxeLoadIcon_or_LoadIconA_and_LoadIconW +#endif +HICON qxeLoadIcon (HINSTANCE arg1, const Extbyte * arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef LoadImage +#define LoadImage error_use_qxeLoadImage_or_LoadImageA_and_LoadImageW +#endif +HANDLE qxeLoadImage (HINSTANCE arg1, const Extbyte * arg2, UINT arg3, int arg4, int arg5, UINT arg6); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef LoadKeyboardLayout +#define LoadKeyboardLayout error_use_qxeLoadKeyboardLayout_or_LoadKeyboardLayoutA_and_LoadKeyboardLayoutW +#endif +HKL qxeLoadKeyboardLayout (const Extbyte * arg1, UINT arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef LoadMenuIndirect +#define LoadMenuIndirect error_use_qxeLoadMenuIndirect_or_LoadMenuIndirectA_and_LoadMenuIndirectW +#endif +HMENU qxeLoadMenuIndirect (const MENUTEMPLATE* arg1); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef LoadMenu +#define LoadMenu error_use_qxeLoadMenu_or_LoadMenuA_and_LoadMenuW +#endif +HMENU qxeLoadMenu (HINSTANCE arg1, const Extbyte * arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef LoadString +#define LoadString error_use_qxeLoadString_or_LoadStringA_and_LoadStringW +#endif +int qxeLoadString (HINSTANCE arg1, UINT arg2, Extbyte * arg3, int arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef MapVirtualKeyEx +#define MapVirtualKeyEx error_use_qxeMapVirtualKeyEx_or_MapVirtualKeyExA_and_MapVirtualKeyExW +#endif +UINT qxeMapVirtualKeyEx (UINT arg1, UINT arg2, HKL arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef MapVirtualKey +#define MapVirtualKey error_use_qxeMapVirtualKey_or_MapVirtualKeyA_and_MapVirtualKeyW +#endif +UINT qxeMapVirtualKey (UINT arg1, UINT arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef MessageBox +#define MessageBox error_use_qxeMessageBox_or_MessageBoxA_and_MessageBoxW +#endif +int qxeMessageBox (HWND arg1, const Extbyte * arg2, const Extbyte * arg3, UINT arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef MessageBoxEx +#define MessageBoxEx error_use_qxeMessageBoxEx_or_MessageBoxExA_and_MessageBoxExW +#endif +int qxeMessageBoxEx (HWND arg1, const Extbyte * arg2, const Extbyte * arg3, UINT arg4, WORD arg5); + +#undef MessageBoxIndirect +#define MessageBoxIndirect error_Cygwin_has_split_MSGBOXPARAMS__instead_of_LPMSGBOXPARAMS + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef ModifyMenu +#define ModifyMenu error_use_qxeModifyMenu_or_ModifyMenuA_and_ModifyMenuW +#endif +BOOL qxeModifyMenu (HMENU arg1, UINT arg2, UINT arg3, UINT arg4, const Extbyte * arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef OemToCharBuff +#define OemToCharBuff error_use_qxeOemToCharBuff_or_OemToCharBuffA_and_OemToCharBuffW +#endif +BOOL qxeOemToCharBuff (LPCSTR arg1, Extbyte * arg2, DWORD arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef OemToChar +#define OemToChar error_use_qxeOemToChar_or_OemToCharA_and_OemToCharW +#endif +BOOL qxeOemToChar (LPCSTR arg1, Extbyte * arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef OpenDesktop +#define OpenDesktop error_use_qxeOpenDesktop_or_OpenDesktopA_and_OpenDesktopW +#endif +HDESK qxeOpenDesktop (Extbyte * arg1, DWORD arg2, BOOL arg3, DWORD arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef OpenWindowStation +#define OpenWindowStation error_use_qxeOpenWindowStation_or_OpenWindowStationA_and_OpenWindowStationW +#endif +HWINSTA qxeOpenWindowStation (Extbyte * arg1, BOOL arg2, DWORD arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef PeekMessage +#define PeekMessage error_use_qxePeekMessage_or_PeekMessageA_and_PeekMessageW +#endif +BOOL qxePeekMessage (LPMSG arg1, HWND arg2, UINT arg3, UINT arg4, UINT arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef PostMessage +#define PostMessage error_use_qxePostMessage_or_PostMessageA_and_PostMessageW +#endif +BOOL qxePostMessage (HWND arg1, UINT arg2, WPARAM arg3, LPARAM arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef PostThreadMessage +#define PostThreadMessage error_use_qxePostThreadMessage_or_PostThreadMessageA_and_PostThreadMessageW +#endif +BOOL qxePostThreadMessage (DWORD arg1, UINT arg2, WPARAM arg3, LPARAM arg4); + +#undef RealGetWindowClass +#define RealGetWindowClass error_NT_5_0__only + +/* Skipping RegisterClass because need to intercept so we can provide our own window procedure and handle split notify messages; split-simple WNDCLASS */ + +/* Skipping RegisterClassEx because need to intercept so we can provide our own window procedure and handle split notify messages; split-simple WNDCLASSEX; NT 4.0+ only */ + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RegisterClipboardFormat +#define RegisterClipboardFormat error_use_qxeRegisterClipboardFormat_or_RegisterClipboardFormatA_and_RegisterClipboardFormatW +#endif +UINT qxeRegisterClipboardFormat (const Extbyte * arg1); + +#undef RegisterDeviceNotification +#define RegisterDeviceNotification error_NT_5_0__only + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RegisterWindowMessage +#define RegisterWindowMessage error_use_qxeRegisterWindowMessage_or_RegisterWindowMessageA_and_RegisterWindowMessageW +#endif +UINT qxeRegisterWindowMessage (const Extbyte * arg1); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RemoveProp +#define RemoveProp error_use_qxeRemoveProp_or_RemovePropA_and_RemovePropW +#endif +HANDLE qxeRemoveProp (HWND arg1, const Extbyte * arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef SendDlgItemMessage +#define SendDlgItemMessage error_use_qxeSendDlgItemMessage_or_SendDlgItemMessageA_and_SendDlgItemMessageW +#endif +LONG qxeSendDlgItemMessage (HWND arg1, int arg2, UINT arg3, WPARAM arg4, LPARAM arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef SendMessageCallback +#define SendMessageCallback error_use_qxeSendMessageCallback_or_SendMessageCallbackA_and_SendMessageCallbackW +#endif +BOOL qxeSendMessageCallback (HWND arg1, UINT arg2, WPARAM arg3, LPARAM arg4, SENDASYNCPROC arg5, DWORD arg6); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef SendMessageTimeout +#define SendMessageTimeout error_use_qxeSendMessageTimeout_or_SendMessageTimeoutA_and_SendMessageTimeoutW +#endif +LRESULT qxeSendMessageTimeout (HWND arg1, UINT arg2, WPARAM arg3, LPARAM arg4, UINT arg5, UINT arg6, PDWORD_PTR arg7); + +/* Skipping SendMessage because split messages and structures */ + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef SendNotifyMessage +#define SendNotifyMessage error_use_qxeSendNotifyMessage_or_SendNotifyMessageA_and_SendNotifyMessageW +#endif +BOOL qxeSendNotifyMessage (HWND arg1, UINT arg2, WPARAM arg3, LPARAM arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef SetClassLong +#define SetClassLong error_use_qxeSetClassLong_or_SetClassLongA_and_SetClassLongW +#endif +DWORD qxeSetClassLong (HWND arg1, int arg2, LONG arg3); + +#undef SetClassLongPtr +#define SetClassLongPtr error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef SetDlgItemText +#define SetDlgItemText error_use_qxeSetDlgItemText_or_SetDlgItemTextA_and_SetDlgItemTextW +#endif +BOOL qxeSetDlgItemText (HWND arg1, int arg2, const Extbyte * arg3); #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef SetMenuItemInfo @@ -816,151 +1157,25 @@ BOOL qxeSetMenuItemInfo (HMENU arg1, UINT arg2, BOOL arg3, LPCMENUITEMINFOW arg4); #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef DrawText -#define DrawText error_use_qxeDrawText_or_DrawTextA_and_DrawTextW -#endif -int qxeDrawText (HDC hDC, const Extbyte * lpString, int nCount, LPRECT lpRect, UINT uFormat); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef DrawTextEx -#define DrawTextEx error_use_qxeDrawTextEx_or_DrawTextExA_and_DrawTextExW -#endif -int qxeDrawTextEx (HDC arg1, Extbyte * arg2, int arg3, LPRECT arg4, UINT arg5, LPDRAWTEXTPARAMS arg6); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GrayString -#define GrayString error_use_qxeGrayString_or_GrayStringA_and_GrayStringW -#endif -BOOL qxeGrayString (HDC hDC, HBRUSH hBrush, GRAYSTRINGPROC lpOutputFunc, LPARAM lpData, int nCount, int X, int Y, int nWidth, int nHeight); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef DrawState -#define DrawState error_use_qxeDrawState_or_DrawStateA_and_DrawStateW -#endif -BOOL qxeDrawState (HDC arg1, HBRUSH arg2, DRAWSTATEPROC arg3, LPARAM arg4, WPARAM arg5, int arg6, int arg7, int arg8, int arg9, UINT arg10); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef TabbedTextOut -#define TabbedTextOut error_use_qxeTabbedTextOut_or_TabbedTextOutA_and_TabbedTextOutW -#endif -LONG qxeTabbedTextOut (HDC hDC, int X, int Y, const Extbyte * lpString, int nCount, int nTabPositions, LPINT lpnTabStopPositions, int nTabOrigin); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetTabbedTextExtent -#define GetTabbedTextExtent error_use_qxeGetTabbedTextExtent_or_GetTabbedTextExtentA_and_GetTabbedTextExtentW -#endif -DWORD qxeGetTabbedTextExtent (HDC hDC, const Extbyte * lpString, int nCount, int nTabPositions, LPINT lpnTabStopPositions); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef SetProp #define SetProp error_use_qxeSetProp_or_SetPropA_and_SetPropW #endif -BOOL qxeSetProp (HWND hWnd, const Extbyte * lpString, HANDLE hData); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetProp -#define GetProp error_use_qxeGetProp_or_GetPropA_and_GetPropW -#endif -HANDLE qxeGetProp (HWND hWnd, const Extbyte * lpString); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RemoveProp -#define RemoveProp error_use_qxeRemoveProp_or_RemovePropA_and_RemovePropW -#endif -HANDLE qxeRemoveProp (HWND hWnd, const Extbyte * lpString); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef EnumPropsEx -#define EnumPropsEx error_use_qxeEnumPropsEx_or_EnumPropsExA_and_EnumPropsExW -#endif -int qxeEnumPropsEx (HWND hWnd, PROPENUMPROCEXW lpEnumFunc, LPARAM lParam); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef EnumProps -#define EnumProps error_use_qxeEnumProps_or_EnumPropsA_and_EnumPropsW -#endif -int qxeEnumProps (HWND hWnd, PROPENUMPROCW lpEnumFunc); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef SetWindowText -#define SetWindowText error_use_qxeSetWindowText_or_SetWindowTextA_and_SetWindowTextW -#endif -BOOL qxeSetWindowText (HWND hWnd, const Extbyte * lpString); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetWindowText -#define GetWindowText error_use_qxeGetWindowText_or_GetWindowTextA_and_GetWindowTextW -#endif -int qxeGetWindowText (HWND hWnd, Extbyte * lpString, int nMaxCount); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetWindowTextLength -#define GetWindowTextLength error_use_qxeGetWindowTextLength_or_GetWindowTextLengthA_and_GetWindowTextLengthW -#endif -int qxeGetWindowTextLength (HWND hWnd); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef MessageBox -#define MessageBox error_use_qxeMessageBox_or_MessageBoxA_and_MessageBoxW -#endif -int qxeMessageBox (HWND hWnd, const Extbyte * lpText, const Extbyte * lpCaption, UINT uType); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef MessageBoxEx -#define MessageBoxEx error_use_qxeMessageBoxEx_or_MessageBoxExA_and_MessageBoxExW -#endif -int qxeMessageBoxEx (HWND hWnd, const Extbyte * lpText, const Extbyte * lpCaption, UINT uType, WORD wLanguageId); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef MessageBoxIndirect -#define MessageBoxIndirect error_use_qxeMessageBoxIndirect_or_MessageBoxIndirectA_and_MessageBoxIndirectW -#endif -int qxeMessageBoxIndirect (LPMSGBOXPARAMSW arg1); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetWindowLong -#define GetWindowLong error_use_qxeGetWindowLong_or_GetWindowLongA_and_GetWindowLongW -#endif -LONG qxeGetWindowLong (HWND hWnd, int nIndex); +BOOL qxeSetProp (HWND arg1, const Extbyte * arg2, HANDLE arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef SetUserObjectInformation +#define SetUserObjectInformation error_use_qxeSetUserObjectInformation_or_SetUserObjectInformationA_and_SetUserObjectInformationW +#endif +BOOL qxeSetUserObjectInformation (HANDLE arg1, int arg2, PVOID arg3, DWORD arg4); #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef SetWindowLong #define SetWindowLong error_use_qxeSetWindowLong_or_SetWindowLongA_and_SetWindowLongW #endif -LONG qxeSetWindowLong (HWND hWnd, int nIndex, LONG dwNewLong); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetClassLong -#define GetClassLong error_use_qxeGetClassLong_or_GetClassLongA_and_GetClassLongW -#endif -DWORD qxeGetClassLong (HWND hWnd, int nIndex); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef SetClassLong -#define SetClassLong error_use_qxeSetClassLong_or_SetClassLongA_and_SetClassLongW -#endif -DWORD qxeSetClassLong (HWND hWnd, int nIndex, LONG dwNewLong); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef FindWindow -#define FindWindow error_use_qxeFindWindow_or_FindWindowA_and_FindWindowW -#endif -HWND qxeFindWindow (const Extbyte * lpClassName, const Extbyte * lpWindowName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef FindWindowEx -#define FindWindowEx error_use_qxeFindWindowEx_or_FindWindowExA_and_FindWindowExW -#endif -HWND qxeFindWindowEx (HWND arg1, HWND arg2, const Extbyte * arg3, const Extbyte * arg4); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetClassName -#define GetClassName error_use_qxeGetClassName_or_GetClassNameA_and_GetClassNameW -#endif -int qxeGetClassName (HWND hWnd, Extbyte * lpClassName, int nMaxCount); - -#undef SetWindowsHook -#define SetWindowsHook error_obsolete__two_versions__STRICT_and_non_STRICT +LONG qxeSetWindowLong (HWND arg1, int arg2, LONG arg3); + +#undef SetWindowLongPtr +#define SetWindowLongPtr error_Function_needs_review_to_determine_how_to_handle_it #undef SetWindowsHook #define SetWindowsHook error_obsolete__two_versions__STRICT_and_non_STRICT @@ -969,130 +1184,712 @@ #undef SetWindowsHookEx #define SetWindowsHookEx error_use_qxeSetWindowsHookEx_or_SetWindowsHookExA_and_SetWindowsHookExW #endif -HHOOK qxeSetWindowsHookEx (int idHook, HOOKPROC lpfn, HINSTANCE hmod, DWORD dwThreadId); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef LoadBitmap -#define LoadBitmap error_use_qxeLoadBitmap_or_LoadBitmapA_and_LoadBitmapW -#endif -HBITMAP qxeLoadBitmap (HINSTANCE hInstance, const Extbyte * lpBitmapName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef LoadCursor -#define LoadCursor error_use_qxeLoadCursor_or_LoadCursorA_and_LoadCursorW -#endif -HCURSOR qxeLoadCursor (HINSTANCE hInstance, const Extbyte * lpCursorName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef LoadCursorFromFile -#define LoadCursorFromFile error_use_qxeLoadCursorFromFile_or_LoadCursorFromFileA_and_LoadCursorFromFileW -#endif -HCURSOR qxeLoadCursorFromFile (const Extbyte * lpFileName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef LoadIcon -#define LoadIcon error_use_qxeLoadIcon_or_LoadIconA_and_LoadIconW -#endif -HICON qxeLoadIcon (HINSTANCE hInstance, const Extbyte * lpIconName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef LoadImage -#define LoadImage error_use_qxeLoadImage_or_LoadImageA_and_LoadImageW -#endif -HANDLE qxeLoadImage (HINSTANCE arg1, const Extbyte * arg2, UINT arg3, int arg4, int arg5, UINT arg6); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef LoadString -#define LoadString error_use_qxeLoadString_or_LoadStringA_and_LoadStringW -#endif -int qxeLoadString (HINSTANCE hInstance, UINT uID, Extbyte * lpBuffer, int nBufferMax); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef IsDialogMessage -#define IsDialogMessage error_use_qxeIsDialogMessage_or_IsDialogMessageA_and_IsDialogMessageW -#endif -BOOL qxeIsDialogMessage (HWND hDlg, LPMSG lpMsg); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef DlgDirList -#define DlgDirList error_use_qxeDlgDirList_or_DlgDirListA_and_DlgDirListW -#endif -int qxeDlgDirList (HWND hDlg, Extbyte * lpPathSpec, int nIDListBox, int nIDStaticPath, UINT uFileType); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef DlgDirSelectEx -#define DlgDirSelectEx error_use_qxeDlgDirSelectEx_or_DlgDirSelectExA_and_DlgDirSelectExW -#endif -BOOL qxeDlgDirSelectEx (HWND hDlg, Extbyte * lpString, int nCount, int nIDListBox); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef DlgDirListComboBox -#define DlgDirListComboBox error_use_qxeDlgDirListComboBox_or_DlgDirListComboBoxA_and_DlgDirListComboBoxW -#endif -int qxeDlgDirListComboBox (HWND hDlg, Extbyte * lpPathSpec, int nIDComboBox, int nIDStaticPath, UINT uFiletype); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef DlgDirSelectComboBoxEx -#define DlgDirSelectComboBoxEx error_use_qxeDlgDirSelectComboBoxEx_or_DlgDirSelectComboBoxExA_and_DlgDirSelectComboBoxExW -#endif -BOOL qxeDlgDirSelectComboBoxEx (HWND hDlg, Extbyte * lpString, int nCount, int nIDComboBox); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef DefFrameProc -#define DefFrameProc error_use_qxeDefFrameProc_or_DefFrameProcA_and_DefFrameProcW -#endif -LRESULT qxeDefFrameProc (HWND hWnd, HWND hWndMDIClient, UINT uMsg, WPARAM wParam, LPARAM lParam); - -#undef DefMDIChildProc -#define DefMDIChildProc error_return_value_is_conditionalized_on__MAC__messes_up_parser - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CreateMDIWindow -#define CreateMDIWindow error_use_qxeCreateMDIWindow_or_CreateMDIWindowA_and_CreateMDIWindowW -#endif -HWND qxeCreateMDIWindow (Extbyte * lpClassName, Extbyte * lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight, HWND hWndParent, HINSTANCE hInstance, LPARAM lParam); +HHOOK qxeSetWindowsHookEx (int arg1, HOOKPROC arg2, HINSTANCE arg3, DWORD arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef SetWindowText +#define SetWindowText error_use_qxeSetWindowText_or_SetWindowTextA_and_SetWindowTextW +#endif +BOOL qxeSetWindowText (HWND arg1, const Extbyte * arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef SystemParametersInfo +#define SystemParametersInfo error_use_qxeSystemParametersInfo_or_SystemParametersInfoA_and_SystemParametersInfoW +#endif +BOOL qxeSystemParametersInfo (UINT arg1, UINT arg2, PVOID arg3, UINT arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef TabbedTextOut +#define TabbedTextOut error_use_qxeTabbedTextOut_or_TabbedTextOutA_and_TabbedTextOutW +#endif +LONG qxeTabbedTextOut (HDC arg1, int arg2, int arg3, const Extbyte * arg4, int arg5, int arg6, LPINT arg7, int arg8); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef TranslateAccelerator +#define TranslateAccelerator error_use_qxeTranslateAccelerator_or_TranslateAcceleratorA_and_TranslateAcceleratorW +#endif +int qxeTranslateAccelerator (HWND arg1, HACCEL arg2, LPMSG arg3); + +/* Skipping UnregisterClass because need to intercept for reasons related to RegisterClass */ + +#undef VkKeyScanEx +#define VkKeyScanEx error_split_CHAR__NT_4_0__only + +/* Skipping VkKeyScan because split CHAR */ #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef WinHelp #define WinHelp error_use_qxeWinHelp_or_WinHelpA_and_WinHelpW #endif -BOOL qxeWinHelp (HWND hWndMain, const Extbyte * lpszHelp, UINT uCommand, DWORD dwData); - -#undef ChangeDisplaySettings -#define ChangeDisplaySettings error_split_sized_LPDEVMODE - -#undef ChangeDisplaySettingsEx -#define ChangeDisplaySettingsEx error_split_sized_LPDEVMODE__NT_5_0_Win98__only - -#undef EnumDisplaySettings -#define EnumDisplaySettings error_split_sized_LPDEVMODE - -#undef EnumDisplayDevices -#define EnumDisplayDevices error_split_sized_PDISPLAY_DEVICE__NT_5_0__only__no_Win98 - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef SystemParametersInfo -#define SystemParametersInfo error_use_qxeSystemParametersInfo_or_SystemParametersInfoA_and_SystemParametersInfoW -#endif -BOOL qxeSystemParametersInfo (UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni); - -#undef GetMonitorInfo -#define GetMonitorInfo error_NT_5_0_Win98__only - -#undef GetWindowModuleFileName -#define GetWindowModuleFileName error_NT_5_0__only - -#undef RealGetWindowClass -#define RealGetWindowClass error_NT_5_0__only - -#undef GetAltTabInfo -#define GetAltTabInfo error_NT_5_0__only - - -/* Processing file IME.H */ - -#undef SendIMEMessageEx -#define SendIMEMessageEx error_obsolete__no_docs_available +BOOL qxeWinHelp (HWND arg1, const Extbyte * arg2, UINT arg3, DWORD arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef wvsprintf +#define wvsprintf error_use_qxewvsprintf_or_wvsprintfA_and_wvsprintfW +#endif +int qxewvsprintf (Extbyte * arg1, const Extbyte * arg2, va_list arglist); + + +/* Processing file DDEML.H */ + +/* Skipping DdeCreateStringHandle because error in Cygwin prototype */ + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef DdeInitialize +#define DdeInitialize error_use_qxeDdeInitialize_or_DdeInitializeA_and_DdeInitializeW +#endif +UINT qxeDdeInitialize (PDWORD arg1, PFNCALLBACK arg2, DWORD arg3, DWORD arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef DdeQueryString +#define DdeQueryString error_use_qxeDdeQueryString_or_DdeQueryStringA_and_DdeQueryStringW +#endif +DWORD qxeDdeQueryString (DWORD arg1, HSZ arg2, Extbyte * arg3, DWORD arg4, int arg5); + + +/* Processing file WINREG.H */ + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef AbortSystemShutdown +#define AbortSystemShutdown error_use_qxeAbortSystemShutdown_or_AbortSystemShutdownA_and_AbortSystemShutdownW +#endif +BOOL qxeAbortSystemShutdown (const Extbyte * arg1); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef InitiateSystemShutdown +#define InitiateSystemShutdown error_use_qxeInitiateSystemShutdown_or_InitiateSystemShutdownA_and_InitiateSystemShutdownW +#endif +BOOL qxeInitiateSystemShutdown (Extbyte * arg1, Extbyte * arg2, DWORD arg3, BOOL arg4, BOOL arg5); + +/* Skipping RegConnectRegistry because error in Cygwin prototype */ + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RegCreateKeyEx +#define RegCreateKeyEx error_use_qxeRegCreateKeyEx_or_RegCreateKeyExA_and_RegCreateKeyExW +#endif +LONG qxeRegCreateKeyEx (HKEY arg1, const Extbyte * arg2, DWORD arg3, Extbyte * arg4, DWORD arg5, REGSAM arg6, LPSECURITY_ATTRIBUTES arg7, PHKEY arg8, PDWORD arg9); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RegCreateKey +#define RegCreateKey error_use_qxeRegCreateKey_or_RegCreateKeyA_and_RegCreateKeyW +#endif +LONG qxeRegCreateKey (HKEY arg1, const Extbyte * arg2, PHKEY arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RegDeleteKey +#define RegDeleteKey error_use_qxeRegDeleteKey_or_RegDeleteKeyA_and_RegDeleteKeyW +#endif +LONG qxeRegDeleteKey (HKEY arg1, const Extbyte * arg2); + +#undef RegDeleteKeyEx +#define RegDeleteKeyEx error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RegDeleteValue +#define RegDeleteValue error_use_qxeRegDeleteValue_or_RegDeleteValueA_and_RegDeleteValueW +#endif +LONG qxeRegDeleteValue (HKEY arg1, const Extbyte * arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RegEnumKey +#define RegEnumKey error_use_qxeRegEnumKey_or_RegEnumKeyA_and_RegEnumKeyW +#endif +LONG qxeRegEnumKey (HKEY arg1, DWORD arg2, Extbyte * arg3, DWORD arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RegEnumKeyEx +#define RegEnumKeyEx error_use_qxeRegEnumKeyEx_or_RegEnumKeyExA_and_RegEnumKeyExW +#endif +LONG qxeRegEnumKeyEx (HKEY arg1, DWORD arg2, Extbyte * arg3, PDWORD arg4, PDWORD arg5, Extbyte * arg6, PDWORD arg7, PFILETIME arg8); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RegEnumValue +#define RegEnumValue error_use_qxeRegEnumValue_or_RegEnumValueA_and_RegEnumValueW +#endif +LONG qxeRegEnumValue (HKEY arg1, DWORD arg2, Extbyte * arg3, PDWORD arg4, PDWORD arg5, PDWORD arg6, LPBYTE arg7, PDWORD arg8); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RegLoadKey +#define RegLoadKey error_use_qxeRegLoadKey_or_RegLoadKeyA_and_RegLoadKeyW +#endif +LONG qxeRegLoadKey (HKEY arg1, const Extbyte * arg2, const Extbyte * arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RegOpenKeyEx +#define RegOpenKeyEx error_use_qxeRegOpenKeyEx_or_RegOpenKeyExA_and_RegOpenKeyExW +#endif +LONG qxeRegOpenKeyEx (HKEY arg1, const Extbyte * arg2, DWORD arg3, REGSAM arg4, PHKEY arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RegOpenKey +#define RegOpenKey error_use_qxeRegOpenKey_or_RegOpenKeyA_and_RegOpenKeyW +#endif +LONG qxeRegOpenKey (HKEY arg1, const Extbyte * arg2, PHKEY arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RegQueryInfoKey +#define RegQueryInfoKey error_use_qxeRegQueryInfoKey_or_RegQueryInfoKeyA_and_RegQueryInfoKeyW +#endif +LONG qxeRegQueryInfoKey (HKEY arg1, Extbyte * arg2, PDWORD arg3, PDWORD arg4, PDWORD arg5, PDWORD arg6, PDWORD arg7, PDWORD arg8, PDWORD arg9, PDWORD arg10, PDWORD arg11, PFILETIME arg12); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RegQueryMultipleValues +#define RegQueryMultipleValues error_use_qxeRegQueryMultipleValues_or_RegQueryMultipleValuesA_and_RegQueryMultipleValuesW +#endif +LONG qxeRegQueryMultipleValues (HKEY arg1, PVALENTW arg2, DWORD arg3, Extbyte * arg4, LPDWORD arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RegQueryValueEx +#define RegQueryValueEx error_use_qxeRegQueryValueEx_or_RegQueryValueExA_and_RegQueryValueExW +#endif +LONG qxeRegQueryValueEx (HKEY arg1, const Extbyte * arg2, LPDWORD arg3, LPDWORD arg4, LPBYTE arg5, LPDWORD arg6); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RegQueryValue +#define RegQueryValue error_use_qxeRegQueryValue_or_RegQueryValueA_and_RegQueryValueW +#endif +LONG qxeRegQueryValue (HKEY arg1, const Extbyte * arg2, Extbyte * arg3, PLONG arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RegReplaceKey +#define RegReplaceKey error_use_qxeRegReplaceKey_or_RegReplaceKeyA_and_RegReplaceKeyW +#endif +LONG qxeRegReplaceKey (HKEY arg1, const Extbyte * arg2, const Extbyte * arg3, const Extbyte * arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RegRestoreKey +#define RegRestoreKey error_use_qxeRegRestoreKey_or_RegRestoreKeyA_and_RegRestoreKeyW +#endif +LONG qxeRegRestoreKey (HKEY arg1, const Extbyte * arg2, DWORD arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RegSaveKey +#define RegSaveKey error_use_qxeRegSaveKey_or_RegSaveKeyA_and_RegSaveKeyW +#endif +LONG qxeRegSaveKey (HKEY arg1, const Extbyte * arg2, LPSECURITY_ATTRIBUTES arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RegSetValueEx +#define RegSetValueEx error_use_qxeRegSetValueEx_or_RegSetValueExA_and_RegSetValueExW +#endif +LONG qxeRegSetValueEx (HKEY arg1, const Extbyte * arg2, DWORD arg3, DWORD arg4, const BYTE* arg5, DWORD arg6); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RegSetValue +#define RegSetValue error_use_qxeRegSetValue_or_RegSetValueA_and_RegSetValueW +#endif +LONG qxeRegSetValue (HKEY arg1, const Extbyte * arg2, DWORD arg3, const Extbyte * arg4, DWORD arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RegUnLoadKey +#define RegUnLoadKey error_use_qxeRegUnLoadKey_or_RegUnLoadKeyA_and_RegUnLoadKeyW +#endif +LONG qxeRegUnLoadKey (HKEY arg1, const Extbyte * arg2); + + +/* Processing file WINNLS.H */ + +#undef CompareString +#define CompareString error_not_used__not_examined_yet + +#undef EnumCalendarInfo +#define EnumCalendarInfo error_not_used__not_examined_yet + +#undef EnumDateFormats +#define EnumDateFormats error_not_used__not_examined_yet + +#undef EnumSystemCodePages +#define EnumSystemCodePages error_not_used__not_examined_yet + +#undef EnumSystemLocales +#define EnumSystemLocales error_not_used__not_examined_yet + +#undef EnumTimeFormats +#define EnumTimeFormats error_not_used__not_examined_yet + +#undef FoldString +#define FoldString error_not_used__not_examined_yet + +#undef GetCalendarInfo +#define GetCalendarInfo error_Function_needs_review_to_determine_how_to_handle_it + +#undef GetCPInfoEx +#define GetCPInfoEx error_not_used__not_examined_yet + +#undef GetCurrencyFormat +#define GetCurrencyFormat error_not_used__not_examined_yet + +#undef GetDateFormat +#define GetDateFormat error_not_used__not_examined_yet + +#undef GetGeoInfo +#define GetGeoInfo error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetLocaleInfo +#define GetLocaleInfo error_use_qxeGetLocaleInfo_or_GetLocaleInfoA_and_GetLocaleInfoW +#endif +int qxeGetLocaleInfo (LCID arg1, LCTYPE arg2, Extbyte * arg3, int arg4); + +#undef GetNumberFormat +#define GetNumberFormat error_not_used__not_examined_yet + +#undef GetStringType +#define GetStringType error_no_such_fun__A_and_W_versions_have_different_nos__of_args + +#undef GetStringTypeEx +#define GetStringTypeEx error_not_used__not_examined_yet + +#undef GetTimeFormat +#define GetTimeFormat error_not_used__not_examined_yet + +#undef LCMapString +#define LCMapString error_not_used__not_examined_yet + +#undef SetCalendarInfo +#define SetCalendarInfo error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef SetLocaleInfo +#define SetLocaleInfo error_use_qxeSetLocaleInfo_or_SetLocaleInfoA_and_SetLocaleInfoW +#endif +BOOL qxeSetLocaleInfo (LCID arg1, LCTYPE arg2, const Extbyte * arg3); + +#undef EnumCalendarInfoEx +#define EnumCalendarInfoEx error_not_used__not_examined_yet + +#undef EnumDateFormatsEx +#define EnumDateFormatsEx error_not_used__not_examined_yet + +#undef EnumSystemLanguageGroups +#define EnumSystemLanguageGroups error_Function_needs_review_to_determine_how_to_handle_it + +#undef EnumLanguageGroupLocales +#define EnumLanguageGroupLocales error_Function_needs_review_to_determine_how_to_handle_it + +#undef EnumUILanguages +#define EnumUILanguages error_Function_needs_review_to_determine_how_to_handle_it + + +/* Processing file WINGDI.H */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef AddFontResource +#define AddFontResource error_use_qxeAddFontResource_or_AddFontResourceA_and_AddFontResourceW +#endif +int qxeAddFontResource (const Extbyte * arg1); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef AddFontResourceEx +#define AddFontResourceEx error_NT_5_0__only +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CopyEnhMetaFile +#define CopyEnhMetaFile error_use_qxeCopyEnhMetaFile_or_CopyEnhMetaFileA_and_CopyEnhMetaFileW +#endif +HENHMETAFILE qxeCopyEnhMetaFile (HENHMETAFILE arg1, const Extbyte * arg2); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CopyMetaFile +#define CopyMetaFile error_use_qxeCopyMetaFile_or_CopyMetaFileA_and_CopyMetaFileW +#endif +HMETAFILE qxeCopyMetaFile (HMETAFILE arg1, const Extbyte * arg2); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef CreateColorSpace +#define CreateColorSpace error_split_sized_LPLOGCOLORSPACE__NT_4_0__only +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +/* Skipping CreateDC because split-sized DEVMODE */ +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CreateEnhMetaFile +#define CreateEnhMetaFile error_use_qxeCreateEnhMetaFile_or_CreateEnhMetaFileA_and_CreateEnhMetaFileW +#endif +HDC qxeCreateEnhMetaFile (HDC arg1, const Extbyte * arg2, LPCRECT arg3, const Extbyte * arg4); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CreateFont +#define CreateFont error_use_qxeCreateFont_or_CreateFontA_and_CreateFontW +#endif +HFONT qxeCreateFont (int arg1, int arg2, int arg3, int arg4, int arg5, DWORD arg6, DWORD arg7, DWORD arg8, DWORD arg9, DWORD arg10, DWORD arg11, DWORD arg12, DWORD arg13, const Extbyte * arg14); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +/* Skipping CreateFontIndirect because split-sized LOGFONT */ +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +/* Skipping CreateIC because split-sized DEVMODE */ +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CreateMetaFile +#define CreateMetaFile error_use_qxeCreateMetaFile_or_CreateMetaFileA_and_CreateMetaFileW +#endif +HDC qxeCreateMetaFile (const Extbyte * arg1); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CreateScalableFontResource +#define CreateScalableFontResource error_use_qxeCreateScalableFontResource_or_CreateScalableFontResourceA_and_CreateScalableFontResourceW +#endif +BOOL qxeCreateScalableFontResource (DWORD arg1, const Extbyte * arg2, const Extbyte * arg3, const Extbyte * arg4); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +/* Skipping DeviceCapabilities because split-sized DEVMODE */ +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef EnumFontFamilies +#define EnumFontFamilies error_split_complex_FONTENUMPROC +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +/* Skipping EnumFontFamiliesEx because split-complex FONTENUMPROC; NT 4.0+ only */ +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef EnumFonts +#define EnumFonts error_split_complex_FONTENUMPROC +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef EnumICMProfiles +#define EnumICMProfiles error_use_qxeEnumICMProfiles_or_EnumICMProfilesA_and_EnumICMProfilesW +#endif +int qxeEnumICMProfiles (HDC arg1, ICMENUMPROCW arg2, LPARAM arg3); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef ExtTextOut +#define ExtTextOut error_use_qxeExtTextOut_or_ExtTextOutA_and_ExtTextOutW +#endif +BOOL qxeExtTextOut (HDC arg1, int arg2, int arg3, UINT arg4, LPCRECT arg5, const Extbyte * arg6, UINT arg7, const INT* arg8); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetCharABCWidths +#define GetCharABCWidths error_use_qxeGetCharABCWidths_or_GetCharABCWidthsA_and_GetCharABCWidthsW +#endif +BOOL qxeGetCharABCWidths (HDC arg1, UINT arg2, UINT arg3, LPABC arg4); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetCharABCWidthsFloat +#define GetCharABCWidthsFloat error_use_qxeGetCharABCWidthsFloat_or_GetCharABCWidthsFloatA_and_GetCharABCWidthsFloatW +#endif +BOOL qxeGetCharABCWidthsFloat (HDC arg1, UINT arg2, UINT arg3, LPABCFLOAT arg4); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetCharacterPlacement +#define GetCharacterPlacement error_use_qxeGetCharacterPlacement_or_GetCharacterPlacementA_and_GetCharacterPlacementW +#endif +DWORD qxeGetCharacterPlacement (HDC arg1, const Extbyte * arg2, int arg3, int arg4, LPGCP_RESULTSW arg5, DWORD arg6); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetCharWidth32 +#define GetCharWidth32 error_use_qxeGetCharWidth32_or_GetCharWidth32A_and_GetCharWidth32W +#endif +BOOL qxeGetCharWidth32 (HDC arg1, UINT arg2, UINT arg3, LPINT arg4); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetCharWidth +#define GetCharWidth error_use_qxeGetCharWidth_or_GetCharWidthA_and_GetCharWidthW +#endif +BOOL qxeGetCharWidth (HDC arg1, UINT arg2, UINT arg3, LPINT arg4); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetCharWidthFloat +#define GetCharWidthFloat error_use_qxeGetCharWidthFloat_or_GetCharWidthFloatA_and_GetCharWidthFloatW +#endif +BOOL qxeGetCharWidthFloat (HDC arg1, UINT arg2, UINT arg3, PFLOAT arg4); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetEnhMetaFile +#define GetEnhMetaFile error_use_qxeGetEnhMetaFile_or_GetEnhMetaFileA_and_GetEnhMetaFileW +#endif +HENHMETAFILE qxeGetEnhMetaFile (const Extbyte * arg1); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetEnhMetaFileDescription +#define GetEnhMetaFileDescription error_use_qxeGetEnhMetaFileDescription_or_GetEnhMetaFileDescriptionA_and_GetEnhMetaFileDescriptionW +#endif +UINT qxeGetEnhMetaFileDescription (HENHMETAFILE arg1, UINT arg2, Extbyte * arg3); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetGlyphOutline +#define GetGlyphOutline error_use_qxeGetGlyphOutline_or_GetGlyphOutlineA_and_GetGlyphOutlineW +#endif +DWORD qxeGetGlyphOutline (HDC arg1, UINT arg2, UINT arg3, LPGLYPHMETRICS arg4, DWORD arg5, PVOID arg6, const MAT2* arg7); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +/* Skipping GetICMProfile because NT 4.0+ only, error in Cygwin prototype */ +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetKerningPairs +#define GetKerningPairs error_use_qxeGetKerningPairs_or_GetKerningPairsA_and_GetKerningPairsW +#endif +DWORD qxeGetKerningPairs (HDC arg1, DWORD arg2, LPKERNINGPAIR arg3); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef GetLogColorSpace +#define GetLogColorSpace error_split_sized_LPLOGCOLORSPACE__NT_4_0__only +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetMetaFile +#define GetMetaFile error_use_qxeGetMetaFile_or_GetMetaFileA_and_GetMetaFileW +#endif +HMETAFILE qxeGetMetaFile (const Extbyte * arg1); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +/* Skipping GetObject because split-sized LOGFONT */ +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef GetOutlineTextMetrics +#define GetOutlineTextMetrics error_split_sized_LPOUTLINETEXTMETRIC +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetTextExtentExPoint +#define GetTextExtentExPoint error_use_qxeGetTextExtentExPoint_or_GetTextExtentExPointA_and_GetTextExtentExPointW +#endif +BOOL qxeGetTextExtentExPoint (HDC arg1, const Extbyte * arg2, int arg3, int arg4, LPINT arg5, LPINT arg6, LPSIZE arg7); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetTextExtentPoint +#define GetTextExtentPoint error_use_qxeGetTextExtentPoint_or_GetTextExtentPointA_and_GetTextExtentPointW +#endif +BOOL qxeGetTextExtentPoint (HDC arg1, const Extbyte * arg2, int arg3, LPSIZE arg4); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetTextExtentPoint32 +#define GetTextExtentPoint32 error_use_qxeGetTextExtentPoint32_or_GetTextExtentPoint32A_and_GetTextExtentPoint32W +#endif +BOOL qxeGetTextExtentPoint32 (HDC arg1, const Extbyte * arg2, int arg3, LPSIZE arg4); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetTextFace +#define GetTextFace error_use_qxeGetTextFace_or_GetTextFaceA_and_GetTextFaceW +#endif +int qxeGetTextFace (HDC arg1, int arg2, Extbyte * arg3); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +/* Skipping GetTextMetrics because split-sized LPTEXTMETRIC */ +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef PolyTextOut +#define PolyTextOut error_use_qxePolyTextOut_or_PolyTextOutA_and_PolyTextOutW +#endif +BOOL qxePolyTextOut (HDC arg1, const POLYTEXTW* arg2, int arg3); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RemoveFontResource +#define RemoveFontResource error_use_qxeRemoveFontResource_or_RemoveFontResourceA_and_RemoveFontResourceW +#endif +BOOL qxeRemoveFontResource (const Extbyte * arg1); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef RemoveFontResourceEx +#define RemoveFontResourceEx error_NT_5_0__only +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +/* Skipping ResetDC because split-sized DEVMODE */ +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef SetICMProfile +#define SetICMProfile error_use_qxeSetICMProfile_or_SetICMProfileA_and_SetICMProfileW +#endif +BOOL qxeSetICMProfile (HDC arg1, Extbyte * arg2); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef StartDoc +#define StartDoc error_use_qxeStartDoc_or_StartDocA_and_StartDocW +#endif +int qxeStartDoc (HDC arg1, const DOCINFOW* arg2); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef TextOut +#define TextOut error_use_qxeTextOut_or_TextOutA_and_TextOutW +#endif +BOOL qxeTextOut (HDC arg1, int arg2, int arg3, const Extbyte * arg4, int arg5); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +/* Skipping UpdateICMRegKey because NT 4.0+ only, error in Cygwin prototype */ +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef wglUseFontBitmaps +#define wglUseFontBitmaps error_causes_link_error +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef wglUseFontOutlines +#define wglUseFontOutlines error_causes_link_error +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef GetGlyphIndices +#define GetGlyphIndices error_NT_5_0__only +#endif /* defined (HAVE_MS_WINDOWS) */ + + +/* Processing file SHLOBJ.H */ + +/* Skipping SHBrowseForFolder because need to intercept callback for SendMessage */ + +/* Skipping SHGetDataFromIDList because split-sized WIN32_FIND_DATA or split-simple NETRESOURCE, missing from Cygwin libraries */ + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef SHGetPathFromIDList +#define SHGetPathFromIDList error_use_qxeSHGetPathFromIDList_or_SHGetPathFromIDListA_and_SHGetPathFromIDListW +#endif +BOOL qxeSHGetPathFromIDList (LPCITEMIDLIST arg1, Extbyte * arg2); + +/* Skipping SHGetSpecialFolderPath because error in Cygwin prototype, missing from Cygwin libraries */ + +#undef SHGetFolderPath +#define SHGetFolderPath error_Function_needs_review_to_determine_how_to_handle_it + +#undef SHGetIconOverlayIndex +#define SHGetIconOverlayIndex error_Function_needs_review_to_determine_how_to_handle_it + +#undef SHCreateDirectoryEx +#define SHCreateDirectoryEx error_Function_needs_review_to_determine_how_to_handle_it + +#undef SHGetFolderPathAndSubDir +#define SHGetFolderPathAndSubDir error_Function_needs_review_to_determine_how_to_handle_it + + +/* Processing file COMMDLG.H */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef ChooseColor +#define ChooseColor error_use_qxeChooseColor_or_ChooseColorA_and_ChooseColorW +#endif +BOOL qxeChooseColor (LPCHOOSECOLORW arg1); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef ChooseFont +#define ChooseFont error_split_sized_LPLOGFONT_in_LPCHOOSEFONT +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef FindText +#define FindText error_use_qxeFindText_or_FindTextA_and_FindTextW +#endif +HWND qxeFindText (LPFINDREPLACEW arg1); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetFileTitle +#define GetFileTitle error_use_qxeGetFileTitle_or_GetFileTitleA_and_GetFileTitleW +#endif +short qxeGetFileTitle (const Extbyte * arg1, Extbyte * arg2, WORD arg3); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetOpenFileName +#define GetOpenFileName error_use_qxeGetOpenFileName_or_GetOpenFileNameA_and_GetOpenFileNameW +#endif +BOOL qxeGetOpenFileName (LPOPENFILENAMEW arg1); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetSaveFileName +#define GetSaveFileName error_use_qxeGetSaveFileName_or_GetSaveFileNameA_and_GetSaveFileNameW +#endif +BOOL qxeGetSaveFileName (LPOPENFILENAMEW arg1); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +/* Skipping PageSetupDlg because LPPAGESETUPDLG with split-sized DEVMODE handle */ +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +/* Skipping PrintDlg because LPPRINTDLG with split-sized DEVMODE handle */ +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef ReplaceText +#define ReplaceText error_use_qxeReplaceText_or_ReplaceTextA_and_ReplaceTextW +#endif +HWND qxeReplaceText (LPFINDREPLACEW arg1); +#endif /* defined (HAVE_MS_WINDOWS) */ + +#if defined (HAVE_MS_WINDOWS) +#undef PrintDlgEx +#define PrintDlgEx error_Function_needs_review_to_determine_how_to_handle_it +#endif /* defined (HAVE_MS_WINDOWS) */ /* Processing file IMM.H */ @@ -1102,7 +1899,7 @@ #undef ImmInstallIME #define ImmInstallIME error_use_qxeImmInstallIME_or_ImmInstallIMEA_and_ImmInstallIMEW #endif -HKL qxeImmInstallIME (const Extbyte * lpszIMEFileName, const Extbyte * lpszLayoutText); +HKL qxeImmInstallIME (const Extbyte * arg1, const Extbyte * arg2); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) @@ -1110,7 +1907,7 @@ #undef ImmGetDescription #define ImmGetDescription error_use_qxeImmGetDescription_or_ImmGetDescriptionA_and_ImmGetDescriptionW #endif -UINT qxeImmGetDescription (HKL arg1, Extbyte * arg2, UINT uBufLen); +UINT qxeImmGetDescription (HKL arg1, Extbyte * arg2, UINT arg3); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) @@ -1118,7 +1915,7 @@ #undef ImmGetIMEFileName #define ImmGetIMEFileName error_use_qxeImmGetIMEFileName_or_ImmGetIMEFileNameA_and_ImmGetIMEFileNameW #endif -UINT qxeImmGetIMEFileName (HKL arg1, Extbyte * arg2, UINT uBufLen); +UINT qxeImmGetIMEFileName (HKL arg1, Extbyte * arg2, UINT arg3); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) @@ -1126,7 +1923,7 @@ #undef ImmGetCompositionString #define ImmGetCompositionString error_use_qxeImmGetCompositionString_or_ImmGetCompositionStringA_and_ImmGetCompositionStringW #endif -LONG qxeImmGetCompositionString (HIMC arg1, DWORD arg2, LPVOID arg3, DWORD arg4); +LONG qxeImmGetCompositionString (HIMC arg1, DWORD arg2, PVOID arg3, DWORD arg4); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) @@ -1138,7 +1935,7 @@ #undef ImmGetCandidateListCount #define ImmGetCandidateListCount error_use_qxeImmGetCandidateListCount_or_ImmGetCandidateListCountA_and_ImmGetCandidateListCountW #endif -DWORD qxeImmGetCandidateListCount (HIMC arg1, LPDWORD lpdwListCount); +DWORD qxeImmGetCandidateListCount (HIMC arg1, PDWORD arg2); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) @@ -1146,7 +1943,7 @@ #undef ImmGetCandidateList #define ImmGetCandidateList error_use_qxeImmGetCandidateList_or_ImmGetCandidateListA_and_ImmGetCandidateListW #endif -DWORD qxeImmGetCandidateList (HIMC arg1, DWORD deIndex, LPCANDIDATELIST arg3, DWORD dwBufLen); +DWORD qxeImmGetCandidateList (HIMC arg1, DWORD arg2, PCANDIDATELIST arg3, DWORD arg4); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) @@ -1154,7 +1951,7 @@ #undef ImmGetGuideLine #define ImmGetGuideLine error_use_qxeImmGetGuideLine_or_ImmGetGuideLineA_and_ImmGetGuideLineW #endif -DWORD qxeImmGetGuideLine (HIMC arg1, DWORD dwIndex, Extbyte * arg3, DWORD dwBufLen); +DWORD qxeImmGetGuideLine (HIMC arg1, DWORD arg2, Extbyte * arg3, DWORD arg4); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) @@ -1170,7 +1967,7 @@ #undef ImmConfigureIME #define ImmConfigureIME error_use_qxeImmConfigureIME_or_ImmConfigureIMEA_and_ImmConfigureIMEW #endif -BOOL qxeImmConfigureIME (HKL arg1, HWND arg2, DWORD arg3, LPVOID arg4); +BOOL qxeImmConfigureIME (HKL arg1, HWND arg2, DWORD arg3, PVOID arg4); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) @@ -1178,7 +1975,7 @@ #undef ImmEscape #define ImmEscape error_use_qxeImmEscape_or_ImmEscapeA_and_ImmEscapeW #endif -LRESULT qxeImmEscape (HKL arg1, HIMC arg2, UINT arg3, LPVOID arg4); +LRESULT qxeImmEscape (HKL arg1, HIMC arg2, UINT arg3, PVOID arg4); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) @@ -1186,7 +1983,7 @@ #undef ImmGetConversionList #define ImmGetConversionList error_use_qxeImmGetConversionList_or_ImmGetConversionListA_and_ImmGetConversionListW #endif -DWORD qxeImmGetConversionList (HKL arg1, HIMC arg2, const Extbyte * arg3, LPCANDIDATELIST arg4, DWORD dwBufLen, UINT uFlag); +DWORD qxeImmGetConversionList (HKL arg1, HIMC arg2, const Extbyte * arg3, PCANDIDATELIST arg4, DWORD arg5, UINT arg6); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) @@ -1202,7 +1999,7 @@ #undef ImmRegisterWord #define ImmRegisterWord error_use_qxeImmRegisterWord_or_ImmRegisterWordA_and_ImmRegisterWordW #endif -BOOL qxeImmRegisterWord (HKL arg1, const Extbyte * lpszReading, DWORD arg3, const Extbyte * lpszRegister); +BOOL qxeImmRegisterWord (HKL arg1, const Extbyte * arg2, DWORD arg3, const Extbyte * arg4); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) @@ -1210,7 +2007,7 @@ #undef ImmUnregisterWord #define ImmUnregisterWord error_use_qxeImmUnregisterWord_or_ImmUnregisterWordA_and_ImmUnregisterWordW #endif -BOOL qxeImmUnregisterWord (HKL arg1, const Extbyte * lpszReading, DWORD arg3, const Extbyte * lpszUnregister); +BOOL qxeImmUnregisterWord (HKL arg1, const Extbyte * arg2, DWORD arg3, const Extbyte * arg4); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) @@ -1223,7 +2020,7 @@ #undef ImmEnumRegisterWord #define ImmEnumRegisterWord error_use_qxeImmEnumRegisterWord_or_ImmEnumRegisterWordA_and_ImmEnumRegisterWordW #endif -UINT qxeImmEnumRegisterWord (HKL arg1, REGISTERWORDENUMPROCW arg2, const Extbyte * lpszReading, DWORD arg4, const Extbyte * lpszRegister, LPVOID arg6); +UINT qxeImmEnumRegisterWord (HKL arg1, REGISTERWORDENUMPROCW arg2, const Extbyte * arg3, DWORD arg4, const Extbyte * arg5, PVOID arg6); #endif /* defined (HAVE_MS_WINDOWS) */ #if defined (HAVE_MS_WINDOWS) @@ -1232,19 +2029,940 @@ #endif /* defined (HAVE_MS_WINDOWS) */ +/* Processing file WINBASE.H */ + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef AccessCheckAndAuditAlarm +#define AccessCheckAndAuditAlarm error_use_qxeAccessCheckAndAuditAlarm_or_AccessCheckAndAuditAlarmA_and_AccessCheckAndAuditAlarmW +#endif +BOOL qxeAccessCheckAndAuditAlarm (const Extbyte * arg1, LPVOID arg2, Extbyte * arg3, Extbyte * arg4, PSECURITY_DESCRIPTOR arg5, DWORD arg6, PGENERIC_MAPPING arg7, BOOL arg8, PDWORD arg9, PBOOL arg10, PBOOL arg11); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef AddAtom +#define AddAtom error_use_qxeAddAtom_or_AddAtomA_and_AddAtomW +#endif +ATOM qxeAddAtom (const Extbyte * arg1); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef BackupEventLog +#define BackupEventLog error_use_qxeBackupEventLog_or_BackupEventLogA_and_BackupEventLogW +#endif +BOOL qxeBackupEventLog (HANDLE arg1, const Extbyte * arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef BeginUpdateResource +#define BeginUpdateResource error_use_qxeBeginUpdateResource_or_BeginUpdateResourceA_and_BeginUpdateResourceW +#endif +HANDLE qxeBeginUpdateResource (const Extbyte * arg1, BOOL arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef BuildCommDCB +#define BuildCommDCB error_use_qxeBuildCommDCB_or_BuildCommDCBA_and_BuildCommDCBW +#endif +BOOL qxeBuildCommDCB (const Extbyte * arg1, LPDCB arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef BuildCommDCBAndTimeouts +#define BuildCommDCBAndTimeouts error_use_qxeBuildCommDCBAndTimeouts_or_BuildCommDCBAndTimeoutsA_and_BuildCommDCBAndTimeoutsW +#endif +BOOL qxeBuildCommDCBAndTimeouts (const Extbyte * arg1, LPDCB arg2, LPCOMMTIMEOUTS arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CallNamedPipe +#define CallNamedPipe error_use_qxeCallNamedPipe_or_CallNamedPipeA_and_CallNamedPipeW +#endif +BOOL qxeCallNamedPipe (const Extbyte * arg1, PVOID arg2, DWORD arg3, PVOID arg4, DWORD arg5, PDWORD arg6, DWORD arg7); + +#undef CheckNameLegalDOS8Dot3 +#define CheckNameLegalDOS8Dot3 error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef ClearEventLog +#define ClearEventLog error_use_qxeClearEventLog_or_ClearEventLogA_and_ClearEventLogW +#endif +BOOL qxeClearEventLog (HANDLE arg1, const Extbyte * arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CommConfigDialog +#define CommConfigDialog error_use_qxeCommConfigDialog_or_CommConfigDialogA_and_CommConfigDialogW +#endif +BOOL qxeCommConfigDialog (const Extbyte * arg1, HWND arg2, LPCOMMCONFIG arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CopyFile +#define CopyFile error_use_qxeCopyFile_or_CopyFileA_and_CopyFileW +#endif +BOOL qxeCopyFile (const Extbyte * arg1, const Extbyte * arg2, BOOL arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CopyFileEx +#define CopyFileEx error_use_qxeCopyFileEx_or_CopyFileExA_and_CopyFileExW +#endif +BOOL qxeCopyFileEx (const Extbyte * arg1, const Extbyte * arg2, LPPROGRESS_ROUTINE arg3, LPVOID arg4, LPBOOL arg5, DWORD arg6); + +#undef CreateActCtx +#define CreateActCtx error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CreateDirectory +#define CreateDirectory error_use_qxeCreateDirectory_or_CreateDirectoryA_and_CreateDirectoryW +#endif +BOOL qxeCreateDirectory (const Extbyte * arg1, LPSECURITY_ATTRIBUTES arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CreateDirectoryEx +#define CreateDirectoryEx error_use_qxeCreateDirectoryEx_or_CreateDirectoryExA_and_CreateDirectoryExW +#endif +BOOL qxeCreateDirectoryEx (const Extbyte * arg1, const Extbyte * arg2, LPSECURITY_ATTRIBUTES arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CreateEvent +#define CreateEvent error_use_qxeCreateEvent_or_CreateEventA_and_CreateEventW +#endif +HANDLE qxeCreateEvent (LPSECURITY_ATTRIBUTES arg1, BOOL arg2, BOOL arg3, const Extbyte * arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CreateFile +#define CreateFile error_use_qxeCreateFile_or_CreateFileA_and_CreateFileW +#endif +HANDLE qxeCreateFile (const Extbyte * arg1, DWORD arg2, DWORD arg3, LPSECURITY_ATTRIBUTES arg4, DWORD arg5, DWORD arg6, HANDLE arg7); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CreateFileMapping +#define CreateFileMapping error_use_qxeCreateFileMapping_or_CreateFileMappingA_and_CreateFileMappingW +#endif +HANDLE qxeCreateFileMapping (HANDLE arg1, LPSECURITY_ATTRIBUTES arg2, DWORD arg3, DWORD arg4, DWORD arg5, const Extbyte * arg6); + +#undef CreateHardLink +#define CreateHardLink error_NT_5_0__only + +#undef CreateJobObject +#define CreateJobObject error_NT_5_0__only + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CreateMailslot +#define CreateMailslot error_use_qxeCreateMailslot_or_CreateMailslotA_and_CreateMailslotW +#endif +HANDLE qxeCreateMailslot (const Extbyte * arg1, DWORD arg2, DWORD arg3, LPSECURITY_ATTRIBUTES arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CreateMutex +#define CreateMutex error_use_qxeCreateMutex_or_CreateMutexA_and_CreateMutexW +#endif +HANDLE qxeCreateMutex (LPSECURITY_ATTRIBUTES arg1, BOOL arg2, const Extbyte * arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CreateNamedPipe +#define CreateNamedPipe error_use_qxeCreateNamedPipe_or_CreateNamedPipeA_and_CreateNamedPipeW +#endif +HANDLE qxeCreateNamedPipe (const Extbyte * arg1, DWORD arg2, DWORD arg3, DWORD arg4, DWORD arg5, DWORD arg6, DWORD arg7, LPSECURITY_ATTRIBUTES arg8); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CreateProcess +#define CreateProcess error_use_qxeCreateProcess_or_CreateProcessA_and_CreateProcessW +#endif +BOOL qxeCreateProcess (const Extbyte * arg1, Extbyte * arg2, LPSECURITY_ATTRIBUTES arg3, LPSECURITY_ATTRIBUTES arg4, BOOL arg5, DWORD arg6, PVOID arg7, const Extbyte * arg8, LPSTARTUPINFOW arg9, LPPROCESS_INFORMATION arg10); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CreateProcessAsUser +#define CreateProcessAsUser error_use_qxeCreateProcessAsUser_or_CreateProcessAsUserA_and_CreateProcessAsUserW +#endif +BOOL qxeCreateProcessAsUser (HANDLE arg1, const Extbyte * arg2, Extbyte * arg3, LPSECURITY_ATTRIBUTES arg4, LPSECURITY_ATTRIBUTES arg5, BOOL arg6, DWORD arg7, PVOID arg8, const Extbyte * arg9, LPSTARTUPINFOW arg10, LPPROCESS_INFORMATION arg11); + +#undef CreateProcessWithLogon +#define CreateProcessWithLogon error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CreateSemaphore +#define CreateSemaphore error_use_qxeCreateSemaphore_or_CreateSemaphoreA_and_CreateSemaphoreW +#endif +HANDLE qxeCreateSemaphore (LPSECURITY_ATTRIBUTES arg1, LONG arg2, LONG arg3, const Extbyte * arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef CreateWaitableTimer +#define CreateWaitableTimer error_use_qxeCreateWaitableTimer_or_CreateWaitableTimerA_and_CreateWaitableTimerW +#endif +HANDLE qxeCreateWaitableTimer (LPSECURITY_ATTRIBUTES arg1, BOOL arg2, const Extbyte * arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef DefineDosDevice +#define DefineDosDevice error_use_qxeDefineDosDevice_or_DefineDosDeviceA_and_DefineDosDeviceW +#endif +BOOL qxeDefineDosDevice (DWORD arg1, const Extbyte * arg2, const Extbyte * arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef DeleteFile +#define DeleteFile error_use_qxeDeleteFile_or_DeleteFileA_and_DeleteFileW +#endif +BOOL qxeDeleteFile (const Extbyte * arg1); + +#undef DeleteVolumeMountPoint +#define DeleteVolumeMountPoint error_Function_needs_review_to_determine_how_to_handle_it + +#undef DnsHostnameToComputerName +#define DnsHostnameToComputerName error_Function_needs_review_to_determine_how_to_handle_it + +#if !defined (CYGWIN_HEADERS) +#undef EncryptFile +#define EncryptFile error_Win2K__only +#endif /* !defined (CYGWIN_HEADERS) */ + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef EndUpdateResource +#define EndUpdateResource error_use_qxeEndUpdateResource_or_EndUpdateResourceA_and_EndUpdateResourceW +#endif +BOOL qxeEndUpdateResource (HANDLE arg1, BOOL arg2); + +/* Skipping EnumResourceLanguages because different prototypes in VC6 and VC7 */ + +/* Skipping EnumResourceNames because different prototypes in VC6 and VC7 */ + +/* Skipping EnumResourceTypes because different prototypes in VC6 and VC7 */ + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef ExpandEnvironmentStrings +#define ExpandEnvironmentStrings error_use_qxeExpandEnvironmentStrings_or_ExpandEnvironmentStringsA_and_ExpandEnvironmentStringsW +#endif +DWORD qxeExpandEnvironmentStrings (const Extbyte * arg1, Extbyte * arg2, DWORD arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef FatalAppExit +#define FatalAppExit error_use_qxeFatalAppExit_or_FatalAppExitA_and_FatalAppExitW +#endif +void qxeFatalAppExit (UINT arg1, const Extbyte * arg2); + +#undef FileEncryptionStatus +#define FileEncryptionStatus error_Function_needs_review_to_determine_how_to_handle_it + +#undef FindActCtxSectionString +#define FindActCtxSectionString error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef FindAtom +#define FindAtom error_use_qxeFindAtom_or_FindAtomA_and_FindAtomW +#endif +ATOM qxeFindAtom (const Extbyte * arg1); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef FindFirstChangeNotification +#define FindFirstChangeNotification error_use_qxeFindFirstChangeNotification_or_FindFirstChangeNotificationA_and_FindFirstChangeNotificationW +#endif +HANDLE qxeFindFirstChangeNotification (const Extbyte * arg1, BOOL arg2, DWORD arg3); + +/* Skipping FindFirstFile because split-sized LPWIN32_FIND_DATA */ + +#undef FindFirstFileEx +#define FindFirstFileEx error_split_sized_LPWIN32_FIND_DATA__not_used__NT_4_0__only + +#undef FindFirstVolume +#define FindFirstVolume error_Function_needs_review_to_determine_how_to_handle_it + +#undef FindFirstVolumeMountPoint +#define FindFirstVolumeMountPoint error_Function_needs_review_to_determine_how_to_handle_it + +/* Skipping FindNextFile because split-sized LPWIN32_FIND_DATA */ + +#undef FindNextVolume +#define FindNextVolume error_Function_needs_review_to_determine_how_to_handle_it + +#undef FindNextVolumeMountPoint +#define FindNextVolumeMountPoint error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef FindResource +#define FindResource error_use_qxeFindResource_or_FindResourceA_and_FindResourceW +#endif +HRSRC qxeFindResource (HINSTANCE arg1, const Extbyte * arg2, const Extbyte * arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef FindResourceEx +#define FindResourceEx error_use_qxeFindResourceEx_or_FindResourceExA_and_FindResourceExW +#endif +HRSRC qxeFindResourceEx (HINSTANCE arg1, const Extbyte * arg2, const Extbyte * arg3, WORD arg4); + +#undef GetFirmwareEnvironmentVariable +#define GetFirmwareEnvironmentVariable error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef FormatMessage +#define FormatMessage error_use_qxeFormatMessage_or_FormatMessageA_and_FormatMessageW +#endif +DWORD qxeFormatMessage (DWORD arg1, PCVOID arg2, DWORD arg3, DWORD arg4, Extbyte * arg5, DWORD arg6, va_list* arg7); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef FreeEnvironmentStrings +#define FreeEnvironmentStrings error_use_qxeFreeEnvironmentStrings_or_FreeEnvironmentStringsA_and_FreeEnvironmentStringsW +#endif +BOOL qxeFreeEnvironmentStrings (Extbyte * arg1); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetAtomName +#define GetAtomName error_use_qxeGetAtomName_or_GetAtomNameA_and_GetAtomNameW +#endif +UINT qxeGetAtomName (ATOM arg1, Extbyte * arg2, int arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetBinaryType +#define GetBinaryType error_use_qxeGetBinaryType_or_GetBinaryTypeA_and_GetBinaryTypeW +#endif +BOOL qxeGetBinaryType (const Extbyte * arg1, PDWORD arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetCommandLine +#define GetCommandLine error_use_qxeGetCommandLine_or_GetCommandLineA_and_GetCommandLineW +#endif +Extbyte * qxeGetCommandLine (void); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetCompressedFileSize +#define GetCompressedFileSize error_use_qxeGetCompressedFileSize_or_GetCompressedFileSizeA_and_GetCompressedFileSizeW +#endif +DWORD qxeGetCompressedFileSize (const Extbyte * arg1, PDWORD arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetComputerName +#define GetComputerName error_use_qxeGetComputerName_or_GetComputerNameA_and_GetComputerNameW +#endif +BOOL qxeGetComputerName (Extbyte * arg1, PDWORD arg2); + +#undef GetComputerNameEx +#define GetComputerNameEx error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetCurrentDirectory +#define GetCurrentDirectory error_use_qxeGetCurrentDirectory_or_GetCurrentDirectoryA_and_GetCurrentDirectoryW +#endif +DWORD qxeGetCurrentDirectory (DWORD arg1, Extbyte * arg2); + +#undef GetCurrentHwProfile +#define GetCurrentHwProfile error_split_sized_LPHW_PROFILE_INFO__NT_4_0__only + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetDefaultCommConfig +#define GetDefaultCommConfig error_use_qxeGetDefaultCommConfig_or_GetDefaultCommConfigA_and_GetDefaultCommConfigW +#endif +BOOL qxeGetDefaultCommConfig (const Extbyte * arg1, LPCOMMCONFIG arg2, PDWORD arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetDiskFreeSpace +#define GetDiskFreeSpace error_use_qxeGetDiskFreeSpace_or_GetDiskFreeSpaceA_and_GetDiskFreeSpaceW +#endif +BOOL qxeGetDiskFreeSpace (const Extbyte * arg1, PDWORD arg2, PDWORD arg3, PDWORD arg4, PDWORD arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetDiskFreeSpaceEx +#define GetDiskFreeSpaceEx error_use_qxeGetDiskFreeSpaceEx_or_GetDiskFreeSpaceExA_and_GetDiskFreeSpaceExW +#endif +BOOL qxeGetDiskFreeSpaceEx (const Extbyte * arg1, PULARGE_INTEGER arg2, PULARGE_INTEGER arg3, PULARGE_INTEGER arg4); + +#undef GetDllDirectory +#define GetDllDirectory error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetDriveType +#define GetDriveType error_use_qxeGetDriveType_or_GetDriveTypeA_and_GetDriveTypeW +#endif +UINT qxeGetDriveType (const Extbyte * arg1); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetEnvironmentVariable +#define GetEnvironmentVariable error_use_qxeGetEnvironmentVariable_or_GetEnvironmentVariableA_and_GetEnvironmentVariableW +#endif +DWORD qxeGetEnvironmentVariable (const Extbyte * arg1, Extbyte * arg2, DWORD arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetFileAttributes +#define GetFileAttributes error_use_qxeGetFileAttributes_or_GetFileAttributesA_and_GetFileAttributesW +#endif +DWORD qxeGetFileAttributes (const Extbyte * arg1); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetFileAttributesEx +#define GetFileAttributesEx error_use_qxeGetFileAttributesEx_or_GetFileAttributesExA_and_GetFileAttributesExW +#endif +BOOL qxeGetFileAttributesEx (const Extbyte * arg1, GET_FILEEX_INFO_LEVELS arg2, PVOID arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetFileSecurity +#define GetFileSecurity error_use_qxeGetFileSecurity_or_GetFileSecurityA_and_GetFileSecurityW +#endif +BOOL qxeGetFileSecurity (const Extbyte * arg1, SECURITY_INFORMATION arg2, PSECURITY_DESCRIPTOR arg3, DWORD arg4, PDWORD arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetFullPathName +#define GetFullPathName error_use_qxeGetFullPathName_or_GetFullPathNameA_and_GetFullPathNameW +#endif +DWORD qxeGetFullPathName (const Extbyte * arg1, DWORD arg2, Extbyte * arg3, Extbyte ** arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetLogicalDriveStrings +#define GetLogicalDriveStrings error_use_qxeGetLogicalDriveStrings_or_GetLogicalDriveStringsA_and_GetLogicalDriveStringsW +#endif +DWORD qxeGetLogicalDriveStrings (DWORD arg1, Extbyte * arg2); + +#undef GetLongPathName +#define GetLongPathName error_Win98_2K__only + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetModuleFileName +#define GetModuleFileName error_use_qxeGetModuleFileName_or_GetModuleFileNameA_and_GetModuleFileNameW +#endif +DWORD qxeGetModuleFileName (HINSTANCE arg1, Extbyte * arg2, DWORD arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetModuleHandle +#define GetModuleHandle error_use_qxeGetModuleHandle_or_GetModuleHandleA_and_GetModuleHandleW +#endif +HMODULE qxeGetModuleHandle (const Extbyte * arg1); + +#undef GetModuleHandleEx +#define GetModuleHandleEx error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetNamedPipeHandleState +#define GetNamedPipeHandleState error_use_qxeGetNamedPipeHandleState_or_GetNamedPipeHandleStateA_and_GetNamedPipeHandleStateW +#endif +BOOL qxeGetNamedPipeHandleState (HANDLE arg1, PDWORD arg2, PDWORD arg3, PDWORD arg4, PDWORD arg5, Extbyte * arg6, DWORD arg7); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetPrivateProfileInt +#define GetPrivateProfileInt error_use_qxeGetPrivateProfileInt_or_GetPrivateProfileIntA_and_GetPrivateProfileIntW +#endif +UINT qxeGetPrivateProfileInt (const Extbyte * arg1, const Extbyte * arg2, INT arg3, const Extbyte * arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetPrivateProfileSection +#define GetPrivateProfileSection error_use_qxeGetPrivateProfileSection_or_GetPrivateProfileSectionA_and_GetPrivateProfileSectionW +#endif +DWORD qxeGetPrivateProfileSection (const Extbyte * arg1, Extbyte * arg2, DWORD arg3, const Extbyte * arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetPrivateProfileSectionNames +#define GetPrivateProfileSectionNames error_use_qxeGetPrivateProfileSectionNames_or_GetPrivateProfileSectionNamesA_and_GetPrivateProfileSectionNamesW +#endif +DWORD qxeGetPrivateProfileSectionNames (Extbyte * arg1, DWORD arg2, const Extbyte * arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetPrivateProfileString +#define GetPrivateProfileString error_use_qxeGetPrivateProfileString_or_GetPrivateProfileStringA_and_GetPrivateProfileStringW +#endif +DWORD qxeGetPrivateProfileString (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3, Extbyte * arg4, DWORD arg5, const Extbyte * arg6); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetPrivateProfileStruct +#define GetPrivateProfileStruct error_use_qxeGetPrivateProfileStruct_or_GetPrivateProfileStructA_and_GetPrivateProfileStructW +#endif +BOOL qxeGetPrivateProfileStruct (const Extbyte * arg1, const Extbyte * arg2, LPVOID arg3, UINT arg4, const Extbyte * arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetProfileInt +#define GetProfileInt error_use_qxeGetProfileInt_or_GetProfileIntA_and_GetProfileIntW +#endif +UINT qxeGetProfileInt (const Extbyte * arg1, const Extbyte * arg2, INT arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetProfileSection +#define GetProfileSection error_use_qxeGetProfileSection_or_GetProfileSectionA_and_GetProfileSectionW +#endif +DWORD qxeGetProfileSection (const Extbyte * arg1, Extbyte * arg2, DWORD arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetProfileString +#define GetProfileString error_use_qxeGetProfileString_or_GetProfileStringA_and_GetProfileStringW +#endif +DWORD qxeGetProfileString (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3, Extbyte * arg4, DWORD arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetShortPathName +#define GetShortPathName error_use_qxeGetShortPathName_or_GetShortPathNameA_and_GetShortPathNameW +#endif +DWORD qxeGetShortPathName (const Extbyte * arg1, Extbyte * arg2, DWORD arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetStartupInfo +#define GetStartupInfo error_use_qxeGetStartupInfo_or_GetStartupInfoA_and_GetStartupInfoW +#endif +VOID qxeGetStartupInfo (LPSTARTUPINFOW arg1); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetSystemDirectory +#define GetSystemDirectory error_use_qxeGetSystemDirectory_or_GetSystemDirectoryA_and_GetSystemDirectoryW +#endif +UINT qxeGetSystemDirectory (Extbyte * arg1, UINT arg2); + +#undef GetSystemWindowsDirectory +#define GetSystemWindowsDirectory error_Function_needs_review_to_determine_how_to_handle_it + +#undef GetSystemWow64Directory +#define GetSystemWow64Directory error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetTempFileName +#define GetTempFileName error_use_qxeGetTempFileName_or_GetTempFileNameA_and_GetTempFileNameW +#endif +UINT qxeGetTempFileName (const Extbyte * arg1, const Extbyte * arg2, UINT arg3, Extbyte * arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetTempPath +#define GetTempPath error_use_qxeGetTempPath_or_GetTempPathA_and_GetTempPathW +#endif +DWORD qxeGetTempPath (DWORD arg1, Extbyte * arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetUserName +#define GetUserName error_use_qxeGetUserName_or_GetUserNameA_and_GetUserNameW +#endif +BOOL qxeGetUserName (Extbyte * arg1, PDWORD arg2); + +#undef GetVersionEx +#define GetVersionEx error_split_sized_LPOSVERSIONINFO + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetVolumeInformation +#define GetVolumeInformation error_use_qxeGetVolumeInformation_or_GetVolumeInformationA_and_GetVolumeInformationW +#endif +BOOL qxeGetVolumeInformation (const Extbyte * arg1, Extbyte * arg2, DWORD arg3, PDWORD arg4, PDWORD arg5, PDWORD arg6, Extbyte * arg7, DWORD arg8); + +#undef GetVolumeNameForVolumeMountPoint +#define GetVolumeNameForVolumeMountPoint error_Function_needs_review_to_determine_how_to_handle_it + +#undef GetVolumePathName +#define GetVolumePathName error_Function_needs_review_to_determine_how_to_handle_it + +#undef GetVolumePathNamesForVolumeName +#define GetVolumePathNamesForVolumeName error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetWindowsDirectory +#define GetWindowsDirectory error_use_qxeGetWindowsDirectory_or_GetWindowsDirectoryA_and_GetWindowsDirectoryW +#endif +UINT qxeGetWindowsDirectory (Extbyte * arg1, UINT arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GlobalAddAtom +#define GlobalAddAtom error_use_qxeGlobalAddAtom_or_GlobalAddAtomA_and_GlobalAddAtomW +#endif +ATOM qxeGlobalAddAtom (const Extbyte * arg1); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GlobalFindAtom +#define GlobalFindAtom error_use_qxeGlobalFindAtom_or_GlobalFindAtomA_and_GlobalFindAtomW +#endif +ATOM qxeGlobalFindAtom (const Extbyte * arg1); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GlobalGetAtomName +#define GlobalGetAtomName error_use_qxeGlobalGetAtomName_or_GlobalGetAtomNameA_and_GlobalGetAtomNameW +#endif +UINT qxeGlobalGetAtomName (ATOM arg1, Extbyte * arg2, int arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef IsBadStringPtr +#define IsBadStringPtr error_use_qxeIsBadStringPtr_or_IsBadStringPtrA_and_IsBadStringPtrW +#endif +BOOL qxeIsBadStringPtr (const Extbyte * arg1, UINT arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef LoadLibraryEx +#define LoadLibraryEx error_use_qxeLoadLibraryEx_or_LoadLibraryExA_and_LoadLibraryExW +#endif +HINSTANCE qxeLoadLibraryEx (const Extbyte * arg1, HANDLE arg2, DWORD arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef LoadLibrary +#define LoadLibrary error_use_qxeLoadLibrary_or_LoadLibraryA_and_LoadLibraryW +#endif +HINSTANCE qxeLoadLibrary (const Extbyte * arg1); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef LogonUser +#define LogonUser error_use_qxeLogonUser_or_LogonUserA_and_LogonUserW +#endif +BOOL qxeLogonUser (Extbyte * arg1, Extbyte * arg2, Extbyte * arg3, DWORD arg4, DWORD arg5, PHANDLE arg6); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef LookupAccountName +#define LookupAccountName error_use_qxeLookupAccountName_or_LookupAccountNameA_and_LookupAccountNameW +#endif +BOOL qxeLookupAccountName (const Extbyte * arg1, const Extbyte * arg2, PSID arg3, PDWORD arg4, Extbyte * arg5, PDWORD arg6, PSID_NAME_USE arg7); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef LookupAccountSid +#define LookupAccountSid error_use_qxeLookupAccountSid_or_LookupAccountSidA_and_LookupAccountSidW +#endif +BOOL qxeLookupAccountSid (const Extbyte * arg1, PSID arg2, Extbyte * arg3, PDWORD arg4, Extbyte * arg5, PDWORD arg6, PSID_NAME_USE arg7); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef LookupPrivilegeDisplayName +#define LookupPrivilegeDisplayName error_use_qxeLookupPrivilegeDisplayName_or_LookupPrivilegeDisplayNameA_and_LookupPrivilegeDisplayNameW +#endif +BOOL qxeLookupPrivilegeDisplayName (const Extbyte * arg1, const Extbyte * arg2, Extbyte * arg3, PDWORD arg4, PDWORD arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef LookupPrivilegeName +#define LookupPrivilegeName error_use_qxeLookupPrivilegeName_or_LookupPrivilegeNameA_and_LookupPrivilegeNameW +#endif +BOOL qxeLookupPrivilegeName (const Extbyte * arg1, PLUID arg2, Extbyte * arg3, PDWORD arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef LookupPrivilegeValue +#define LookupPrivilegeValue error_use_qxeLookupPrivilegeValue_or_LookupPrivilegeValueA_and_LookupPrivilegeValueW +#endif +BOOL qxeLookupPrivilegeValue (const Extbyte * arg1, const Extbyte * arg2, PLUID arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef lstrcat +#define lstrcat error_use_qxelstrcat_or_lstrcatA_and_lstrcatW +#endif +Extbyte * qxelstrcat (Extbyte * arg1, const Extbyte * arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef lstrcmpi +#define lstrcmpi error_use_qxelstrcmpi_or_lstrcmpiA_and_lstrcmpiW +#endif +int qxelstrcmpi (const Extbyte * arg1, const Extbyte * arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef lstrcmp +#define lstrcmp error_use_qxelstrcmp_or_lstrcmpA_and_lstrcmpW +#endif +int qxelstrcmp (const Extbyte * arg1, const Extbyte * arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef lstrcpyn +#define lstrcpyn error_use_qxelstrcpyn_or_lstrcpynA_and_lstrcpynW +#endif +Extbyte * qxelstrcpyn (Extbyte * arg1, const Extbyte * arg2, int arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef lstrcpy +#define lstrcpy error_use_qxelstrcpy_or_lstrcpyA_and_lstrcpyW +#endif +Extbyte * qxelstrcpy (Extbyte * arg1, const Extbyte * arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef lstrlen +#define lstrlen error_use_qxelstrlen_or_lstrlenA_and_lstrlenW +#endif +int qxelstrlen (const Extbyte * arg1); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef MoveFileEx +#define MoveFileEx error_use_qxeMoveFileEx_or_MoveFileExA_and_MoveFileExW +#endif +BOOL qxeMoveFileEx (const Extbyte * arg1, const Extbyte * arg2, DWORD arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef MoveFile +#define MoveFile error_use_qxeMoveFile_or_MoveFileA_and_MoveFileW +#endif +BOOL qxeMoveFile (const Extbyte * arg1, const Extbyte * arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef ObjectCloseAuditAlarm +#define ObjectCloseAuditAlarm error_use_qxeObjectCloseAuditAlarm_or_ObjectCloseAuditAlarmA_and_ObjectCloseAuditAlarmW +#endif +BOOL qxeObjectCloseAuditAlarm (const Extbyte * arg1, PVOID arg2, BOOL arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef ObjectDeleteAuditAlarm +#define ObjectDeleteAuditAlarm error_use_qxeObjectDeleteAuditAlarm_or_ObjectDeleteAuditAlarmA_and_ObjectDeleteAuditAlarmW +#endif +BOOL qxeObjectDeleteAuditAlarm (const Extbyte * arg1, PVOID arg2, BOOL arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef ObjectOpenAuditAlarm +#define ObjectOpenAuditAlarm error_use_qxeObjectOpenAuditAlarm_or_ObjectOpenAuditAlarmA_and_ObjectOpenAuditAlarmW +#endif +BOOL qxeObjectOpenAuditAlarm (const Extbyte * arg1, PVOID arg2, Extbyte * arg3, Extbyte * arg4, PSECURITY_DESCRIPTOR arg5, HANDLE arg6, DWORD arg7, DWORD arg8, PPRIVILEGE_SET arg9, BOOL arg10, BOOL arg11, PBOOL arg12); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef ObjectPrivilegeAuditAlarm +#define ObjectPrivilegeAuditAlarm error_use_qxeObjectPrivilegeAuditAlarm_or_ObjectPrivilegeAuditAlarmA_and_ObjectPrivilegeAuditAlarmW +#endif +BOOL qxeObjectPrivilegeAuditAlarm (const Extbyte * arg1, PVOID arg2, HANDLE arg3, DWORD arg4, PPRIVILEGE_SET arg5, BOOL arg6); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef OpenBackupEventLog +#define OpenBackupEventLog error_use_qxeOpenBackupEventLog_or_OpenBackupEventLogA_and_OpenBackupEventLogW +#endif +HANDLE qxeOpenBackupEventLog (const Extbyte * arg1, const Extbyte * arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef OpenEventLog +#define OpenEventLog error_use_qxeOpenEventLog_or_OpenEventLogA_and_OpenEventLogW +#endif +HANDLE qxeOpenEventLog (const Extbyte * arg1, const Extbyte * arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef OpenEvent +#define OpenEvent error_use_qxeOpenEvent_or_OpenEventA_and_OpenEventW +#endif +HANDLE qxeOpenEvent (DWORD arg1, BOOL arg2, const Extbyte * arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef OpenFileMapping +#define OpenFileMapping error_use_qxeOpenFileMapping_or_OpenFileMappingA_and_OpenFileMappingW +#endif +HANDLE qxeOpenFileMapping (DWORD arg1, BOOL arg2, const Extbyte * arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef OpenMutex +#define OpenMutex error_use_qxeOpenMutex_or_OpenMutexA_and_OpenMutexW +#endif +HANDLE qxeOpenMutex (DWORD arg1, BOOL arg2, const Extbyte * arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef OpenSemaphore +#define OpenSemaphore error_use_qxeOpenSemaphore_or_OpenSemaphoreA_and_OpenSemaphoreW +#endif +HANDLE qxeOpenSemaphore (DWORD arg1, BOOL arg2, const Extbyte * arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef OpenWaitableTimer +#define OpenWaitableTimer error_use_qxeOpenWaitableTimer_or_OpenWaitableTimerA_and_OpenWaitableTimerW +#endif +HANDLE qxeOpenWaitableTimer (DWORD arg1, BOOL arg2, const Extbyte * arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef OutputDebugString +#define OutputDebugString error_use_qxeOutputDebugString_or_OutputDebugStringA_and_OutputDebugStringW +#endif +void qxeOutputDebugString (const Extbyte * arg1); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef PrivilegedServiceAuditAlarm +#define PrivilegedServiceAuditAlarm error_use_qxePrivilegedServiceAuditAlarm_or_PrivilegedServiceAuditAlarmA_and_PrivilegedServiceAuditAlarmW +#endif +BOOL qxePrivilegedServiceAuditAlarm (const Extbyte * arg1, const Extbyte * arg2, HANDLE arg3, PPRIVILEGE_SET arg4, BOOL arg5); + +#undef QueryActCtx +#define QueryActCtx error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef QueryDosDevice +#define QueryDosDevice error_use_qxeQueryDosDevice_or_QueryDosDeviceA_and_QueryDosDeviceW +#endif +DWORD qxeQueryDosDevice (const Extbyte * arg1, Extbyte * arg2, DWORD arg3); + +#undef ReadDirectoryChanges +#define ReadDirectoryChanges error_Unicode_only + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef ReadEventLog +#define ReadEventLog error_use_qxeReadEventLog_or_ReadEventLogA_and_ReadEventLogW +#endif +BOOL qxeReadEventLog (HANDLE arg1, DWORD arg2, DWORD arg3, PVOID arg4, DWORD arg5, DWORD * arg6, DWORD * arg7); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RegisterEventSource +#define RegisterEventSource error_use_qxeRegisterEventSource_or_RegisterEventSourceA_and_RegisterEventSourceW +#endif +HANDLE qxeRegisterEventSource (const Extbyte * arg1, const Extbyte * arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef RemoveDirectory +#define RemoveDirectory error_use_qxeRemoveDirectory_or_RemoveDirectoryA_and_RemoveDirectoryW +#endif +BOOL qxeRemoveDirectory (const Extbyte * arg1); + +#undef ReplaceFile +#define ReplaceFile error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef ReportEvent +#define ReportEvent error_use_qxeReportEvent_or_ReportEventA_and_ReportEventW +#endif +BOOL qxeReportEvent (HANDLE arg1, WORD arg2, WORD arg3, DWORD arg4, PSID arg5, WORD arg6, DWORD arg7, const Extbyte ** arg8, PVOID arg9); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef SearchPath +#define SearchPath error_use_qxeSearchPath_or_SearchPathA_and_SearchPathW +#endif +DWORD qxeSearchPath (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3, DWORD arg4, Extbyte * arg5, Extbyte ** arg6); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef SetComputerName +#define SetComputerName error_use_qxeSetComputerName_or_SetComputerNameA_and_SetComputerNameW +#endif +BOOL qxeSetComputerName (const Extbyte * arg1); + +#undef SetComputerNameEx +#define SetComputerNameEx error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef SetCurrentDirectory +#define SetCurrentDirectory error_use_qxeSetCurrentDirectory_or_SetCurrentDirectoryA_and_SetCurrentDirectoryW +#endif +BOOL qxeSetCurrentDirectory (const Extbyte * arg1); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef SetDefaultCommConfig +#define SetDefaultCommConfig error_use_qxeSetDefaultCommConfig_or_SetDefaultCommConfigA_and_SetDefaultCommConfigW +#endif +BOOL qxeSetDefaultCommConfig (const Extbyte * arg1, LPCOMMCONFIG arg2, DWORD arg3); + +#undef SetDllDirectory +#define SetDllDirectory error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef SetEnvironmentVariable +#define SetEnvironmentVariable error_use_qxeSetEnvironmentVariable_or_SetEnvironmentVariableA_and_SetEnvironmentVariableW +#endif +BOOL qxeSetEnvironmentVariable (const Extbyte * arg1, const Extbyte * arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef SetFileAttributes +#define SetFileAttributes error_use_qxeSetFileAttributes_or_SetFileAttributesA_and_SetFileAttributesW +#endif +BOOL qxeSetFileAttributes (const Extbyte * arg1, DWORD arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef SetFileSecurity +#define SetFileSecurity error_use_qxeSetFileSecurity_or_SetFileSecurityA_and_SetFileSecurityW +#endif +BOOL qxeSetFileSecurity (const Extbyte * arg1, SECURITY_INFORMATION arg2, PSECURITY_DESCRIPTOR arg3); + +#undef SetFileShortName +#define SetFileShortName error_Function_needs_review_to_determine_how_to_handle_it + +#undef SetFirmwareEnvironmentVariable +#define SetFirmwareEnvironmentVariable error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef SetVolumeLabel +#define SetVolumeLabel error_use_qxeSetVolumeLabel_or_SetVolumeLabelA_and_SetVolumeLabelW +#endif +BOOL qxeSetVolumeLabel (const Extbyte * arg1, const Extbyte * arg2); + +#undef SetVolumeMountPoint +#define SetVolumeMountPoint error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef UpdateResource +#define UpdateResource error_use_qxeUpdateResource_or_UpdateResourceA_and_UpdateResourceW +#endif +BOOL qxeUpdateResource (HANDLE arg1, const Extbyte * arg2, const Extbyte * arg3, WORD arg4, PVOID arg5, DWORD arg6); + +#undef VerifyVersionInfo +#define VerifyVersionInfo error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WaitNamedPipe +#define WaitNamedPipe error_use_qxeWaitNamedPipe_or_WaitNamedPipeA_and_WaitNamedPipeW +#endif +BOOL qxeWaitNamedPipe (const Extbyte * arg1, DWORD arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WritePrivateProfileSection +#define WritePrivateProfileSection error_use_qxeWritePrivateProfileSection_or_WritePrivateProfileSectionA_and_WritePrivateProfileSectionW +#endif +BOOL qxeWritePrivateProfileSection (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WritePrivateProfileString +#define WritePrivateProfileString error_use_qxeWritePrivateProfileString_or_WritePrivateProfileStringA_and_WritePrivateProfileStringW +#endif +BOOL qxeWritePrivateProfileString (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3, const Extbyte * arg4); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WritePrivateProfileStruct +#define WritePrivateProfileStruct error_use_qxeWritePrivateProfileStruct_or_WritePrivateProfileStructA_and_WritePrivateProfileStructW +#endif +BOOL qxeWritePrivateProfileStruct (const Extbyte * arg1, const Extbyte * arg2, LPVOID arg3, UINT arg4, const Extbyte * arg5); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WriteProfileSection +#define WriteProfileSection error_use_qxeWriteProfileSection_or_WriteProfileSectionA_and_WriteProfileSectionW +#endif +BOOL qxeWriteProfileSection (const Extbyte * arg1, const Extbyte * arg2); + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef WriteProfileString +#define WriteProfileString error_use_qxeWriteProfileString_or_WriteProfileStringA_and_WriteProfileStringW +#endif +BOOL qxeWriteProfileString (const Extbyte * arg1, const Extbyte * arg2, const Extbyte * arg3); + + +/* Processing file ACLAPI.h */ + +#undef BuildExplicitAccessWithName +#define BuildExplicitAccessWithName error_Function_needs_review_to_determine_how_to_handle_it + +#undef BuildSecurityDescriptor +#define BuildSecurityDescriptor error_Function_needs_review_to_determine_how_to_handle_it + +#undef BuildTrusteeWithName +#define BuildTrusteeWithName error_Function_needs_review_to_determine_how_to_handle_it + +#undef BuildTrusteeWithObjectsAndName +#define BuildTrusteeWithObjectsAndName error_Function_needs_review_to_determine_how_to_handle_it + +#undef BuildTrusteeWithObjectsAndSid +#define BuildTrusteeWithObjectsAndSid error_Function_needs_review_to_determine_how_to_handle_it + +#undef BuildTrusteeWithSid +#define BuildTrusteeWithSid error_Function_needs_review_to_determine_how_to_handle_it + +#undef GetAuditedPermissionsFromAcl +#define GetAuditedPermissionsFromAcl error_Function_needs_review_to_determine_how_to_handle_it + +#undef GetEffectiveRightsFromAcl +#define GetEffectiveRightsFromAcl error_Function_needs_review_to_determine_how_to_handle_it + +#undef GetExplicitEntriesFromAcl +#define GetExplicitEntriesFromAcl error_Function_needs_review_to_determine_how_to_handle_it + +#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED +#undef GetNamedSecurityInfo +#define GetNamedSecurityInfo error_use_qxeGetNamedSecurityInfo_or_GetNamedSecurityInfoA_and_GetNamedSecurityInfoW +#endif +DWORD qxeGetNamedSecurityInfo (Extbyte * arg1, SE_OBJECT_TYPE arg2, SECURITY_INFORMATION arg3, PSID* arg4, PSID* arg5, PACL* arg6, PACL* arg7, PSECURITY_DESCRIPTOR* arg8); + +#undef GetTrusteeForm +#define GetTrusteeForm error_Function_needs_review_to_determine_how_to_handle_it + +#undef GetTrusteeName +#define GetTrusteeName error_Function_needs_review_to_determine_how_to_handle_it + +#undef GetTrusteeType +#define GetTrusteeType error_Function_needs_review_to_determine_how_to_handle_it + +#undef LookupSecurityDescriptorParts +#define LookupSecurityDescriptorParts error_Function_needs_review_to_determine_how_to_handle_it + +#undef SetEntriesInAcl +#define SetEntriesInAcl error_Function_needs_review_to_determine_how_to_handle_it + +#undef SetNamedSecurityInfo +#define SetNamedSecurityInfo error_Function_needs_review_to_determine_how_to_handle_it + +#undef BuildImpersonateExplicitAccessWithName +#define BuildImpersonateExplicitAccessWithName error_Function_needs_review_to_determine_how_to_handle_it + +#undef BuildImpersonateTrustee +#define BuildImpersonateTrustee error_Function_needs_review_to_determine_how_to_handle_it + +#undef GetMultipleTrustee +#define GetMultipleTrustee error_Function_needs_review_to_determine_how_to_handle_it + +#undef GetMultipleTrusteeOperation +#define GetMultipleTrusteeOperation error_Function_needs_review_to_determine_how_to_handle_it + + /* Processing file MMSYSTEM.H */ #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef sndPlaySound #define sndPlaySound error_use_qxesndPlaySound_or_sndPlaySoundA_and_sndPlaySoundW #endif -BOOL qxesndPlaySound (const Extbyte * pszSound, UINT fuSound); +BOOL qxesndPlaySound (const Extbyte * arg1, UINT arg2); #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef PlaySound #define PlaySound error_use_qxePlaySound_or_PlaySoundA_and_PlaySoundW #endif -BOOL qxePlaySound (const Extbyte * pszSound, HMODULE hmod, DWORD fdwSound); +BOOL qxePlaySound (const Extbyte * arg1, HMODULE arg2, DWORD arg3); #undef waveOutGetDevCaps #define waveOutGetDevCaps error_split_sized_LPWAVEOUTCAPS @@ -1253,7 +2971,7 @@ #undef waveOutGetErrorText #define waveOutGetErrorText error_use_qxewaveOutGetErrorText_or_waveOutGetErrorTextA_and_waveOutGetErrorTextW #endif -MMRESULT qxewaveOutGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText); +MMRESULT qxewaveOutGetErrorText (MMRESULT arg1, Extbyte * arg2, UINT arg3); #undef waveInGetDevCaps #define waveInGetDevCaps error_split_sized_LPWAVEINCAPS @@ -1262,7 +2980,7 @@ #undef waveInGetErrorText #define waveInGetErrorText error_use_qxewaveInGetErrorText_or_waveInGetErrorTextA_and_waveInGetErrorTextW #endif -MMRESULT qxewaveInGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText); +MMRESULT qxewaveInGetErrorText (MMRESULT arg1, Extbyte * arg2, UINT arg3); #undef midiOutGetDevCaps #define midiOutGetDevCaps error_split_sized_LPMIDIOUTCAPS @@ -1271,7 +2989,7 @@ #undef midiOutGetErrorText #define midiOutGetErrorText error_use_qxemidiOutGetErrorText_or_midiOutGetErrorTextA_and_midiOutGetErrorTextW #endif -MMRESULT qxemidiOutGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText); +MMRESULT qxemidiOutGetErrorText (MMRESULT arg1, Extbyte * arg2, UINT arg3); #undef midiInGetDevCaps #define midiInGetDevCaps error_split_sized_LPMIDIOUTCAPS @@ -1280,7 +2998,7 @@ #undef midiInGetErrorText #define midiInGetErrorText error_use_qxemidiInGetErrorText_or_midiInGetErrorTextA_and_midiInGetErrorTextW #endif -MMRESULT qxemidiInGetErrorText (MMRESULT mmrError, Extbyte * pszText, UINT cchText); +MMRESULT qxemidiInGetErrorText (MMRESULT arg1, Extbyte * arg2, UINT arg3); #undef auxGetDevCaps #define auxGetDevCaps error_split_sized_LPAUXCAPS @@ -1304,43 +3022,43 @@ #undef mmioStringToFOURCC #define mmioStringToFOURCC error_use_qxemmioStringToFOURCC_or_mmioStringToFOURCCA_and_mmioStringToFOURCCW #endif -FOURCC qxemmioStringToFOURCC (const Extbyte * sz, UINT uFlags); +FOURCC qxemmioStringToFOURCC (const Extbyte * arg1, UINT arg2); #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef mmioInstallIOProc #define mmioInstallIOProc error_use_qxemmioInstallIOProc_or_mmioInstallIOProcA_and_mmioInstallIOProcW #endif -LPMMIOPROC qxemmioInstallIOProc (FOURCC fccIOProc, LPMMIOPROC pIOProc, DWORD dwFlags); +LPMMIOPROC qxemmioInstallIOProc (FOURCC arg1, LPMMIOPROC arg2, DWORD arg3); #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef mmioOpen #define mmioOpen error_use_qxemmioOpen_or_mmioOpenA_and_mmioOpenW #endif -HMMIO qxemmioOpen (Extbyte * pszFileName, LPMMIOINFO pmmioinfo, DWORD fdwOpen); +HMMIO qxemmioOpen (Extbyte * arg1, LPMMIOINFO arg2, DWORD arg3); #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef mmioRename #define mmioRename error_use_qxemmioRename_or_mmioRenameA_and_mmioRenameW #endif -MMRESULT qxemmioRename (const Extbyte * pszFileName, const Extbyte * pszNewFileName, LPCMMIOINFO pmmioinfo, DWORD fdwRename); +MMRESULT qxemmioRename (const Extbyte * arg1, const Extbyte * arg2, LPCMMIOINFO arg3, DWORD arg4); #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef mciSendCommand #define mciSendCommand error_use_qxemciSendCommand_or_mciSendCommandA_and_mciSendCommandW #endif -MCIERROR qxemciSendCommand (MCIDEVICEID mciId, UINT uMsg, DWORD dwParam1, DWORD dwParam2); +MCIERROR qxemciSendCommand (MCIDEVICEID arg1, UINT arg2, DWORD arg3, DWORD arg4); #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef mciSendString #define mciSendString error_use_qxemciSendString_or_mciSendStringA_and_mciSendStringW #endif -MCIERROR qxemciSendString (const Extbyte * lpstrCommand, Extbyte * lpstrReturnString, UINT uReturnLength, HWND hwndCallback); +MCIERROR qxemciSendString (const Extbyte * arg1, Extbyte * arg2, UINT arg3, HWND arg4); #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED #undef mciGetDeviceID #define mciGetDeviceID error_use_qxemciGetDeviceID_or_mciGetDeviceIDA_and_mciGetDeviceIDW #endif -MCIDEVICEID qxemciGetDeviceID (const Extbyte * pszDevice); +MCIDEVICEID qxemciGetDeviceID (const Extbyte * arg1); #if !defined (MINGW) #undef mciGetDeviceIDFromElementID @@ -1351,1563 +3069,5 @@ #undef mciGetErrorString #define mciGetErrorString error_use_qxemciGetErrorString_or_mciGetErrorStringA_and_mciGetErrorStringW #endif -BOOL qxemciGetErrorString (MCIERROR mcierr, Extbyte * pszText, UINT cchText); - - -/* Processing file WINCON.H */ - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef PeekConsoleInput -#define PeekConsoleInput error_use_qxePeekConsoleInput_or_PeekConsoleInputA_and_PeekConsoleInputW -#endif -BOOL qxePeekConsoleInput (HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsRead); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef ReadConsoleInput -#define ReadConsoleInput error_use_qxeReadConsoleInput_or_ReadConsoleInputA_and_ReadConsoleInputW -#endif -BOOL qxeReadConsoleInput (HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsRead); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WriteConsoleInput -#define WriteConsoleInput error_use_qxeWriteConsoleInput_or_WriteConsoleInputA_and_WriteConsoleInputW -#endif -BOOL qxeWriteConsoleInput (HANDLE hConsoleInput, CONST INPUT_RECORD * lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsWritten); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef ReadConsoleOutput -#define ReadConsoleOutput error_use_qxeReadConsoleOutput_or_ReadConsoleOutputA_and_ReadConsoleOutputW -#endif -BOOL qxeReadConsoleOutput (HANDLE hConsoleOutput, PCHAR_INFO lpBuffer, COORD dwBufferSize, COORD dwBufferCoord, PSMALL_RECT lpReadRegion); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WriteConsoleOutput -#define WriteConsoleOutput error_use_qxeWriteConsoleOutput_or_WriteConsoleOutputA_and_WriteConsoleOutputW -#endif -BOOL qxeWriteConsoleOutput (HANDLE hConsoleOutput, CONST CHAR_INFO * lpBuffer, COORD dwBufferSize, COORD dwBufferCoord, PSMALL_RECT lpWriteRegion); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef ReadConsoleOutputCharacter -#define ReadConsoleOutputCharacter error_use_qxeReadConsoleOutputCharacter_or_ReadConsoleOutputCharacterA_and_ReadConsoleOutputCharacterW -#endif -BOOL qxeReadConsoleOutputCharacter (HANDLE hConsoleOutput, Extbyte * lpCharacter, DWORD nLength, COORD dwReadCoord, LPDWORD lpNumberOfCharsRead); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WriteConsoleOutputCharacter -#define WriteConsoleOutputCharacter error_use_qxeWriteConsoleOutputCharacter_or_WriteConsoleOutputCharacterA_and_WriteConsoleOutputCharacterW -#endif -BOOL qxeWriteConsoleOutputCharacter (HANDLE hConsoleOutput, const Extbyte * lpCharacter, DWORD nLength, COORD dwWriteCoord, LPDWORD lpNumberOfCharsWritten); - -#undef FillConsoleOutputCharacter -#define FillConsoleOutputCharacter error_split_CHAR - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef ScrollConsoleScreenBuffer -#define ScrollConsoleScreenBuffer error_use_qxeScrollConsoleScreenBuffer_or_ScrollConsoleScreenBufferA_and_ScrollConsoleScreenBufferW -#endif -BOOL qxeScrollConsoleScreenBuffer (HANDLE hConsoleOutput, CONST SMALL_RECT * lpScrollRectangle, CONST SMALL_RECT * lpClipRectangle, COORD dwDestinationOrigin, CONST CHAR_INFO * lpFill); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetConsoleTitle -#define GetConsoleTitle error_use_qxeGetConsoleTitle_or_GetConsoleTitleA_and_GetConsoleTitleW -#endif -DWORD qxeGetConsoleTitle (Extbyte * lpConsoleTitle, DWORD nSize); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef SetConsoleTitle -#define SetConsoleTitle error_use_qxeSetConsoleTitle_or_SetConsoleTitleA_and_SetConsoleTitleW -#endif -BOOL qxeSetConsoleTitle (const Extbyte * lpConsoleTitle); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef ReadConsole -#define ReadConsole error_use_qxeReadConsole_or_ReadConsoleA_and_ReadConsoleW -#endif -BOOL qxeReadConsole (HANDLE hConsoleInput, LPVOID lpBuffer, DWORD nNumberOfCharsToRead, LPDWORD lpNumberOfCharsRead, LPVOID lpReserved); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WriteConsole -#define WriteConsole error_use_qxeWriteConsole_or_WriteConsoleA_and_WriteConsoleW -#endif -BOOL qxeWriteConsole (HANDLE hConsoleOutput, CONST VOID * lpBuffer, DWORD nNumberOfCharsToWrite, LPDWORD lpNumberOfCharsWritten, LPVOID lpReserved); - - -/* Processing file WINNETWK.H */ - -#if defined (HAVE_MS_WINDOWS) -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WNetAddConnection -#define WNetAddConnection error_use_qxeWNetAddConnection_or_WNetAddConnectionA_and_WNetAddConnectionW -#endif -DWORD qxeWNetAddConnection (const Extbyte * lpRemoteName, const Extbyte * lpPassword, const Extbyte * lpLocalName); -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WNetAddConnection2 -#define WNetAddConnection2 error_use_qxeWNetAddConnection2_or_WNetAddConnection2A_and_WNetAddConnection2W -#endif -DWORD qxeWNetAddConnection2 (LPNETRESOURCEW lpNetResource, const Extbyte * lpPassword, const Extbyte * lpUserName, DWORD dwFlags); -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WNetAddConnection3 -#define WNetAddConnection3 error_use_qxeWNetAddConnection3_or_WNetAddConnection3A_and_WNetAddConnection3W -#endif -DWORD qxeWNetAddConnection3 (HWND hwndOwner, LPNETRESOURCEW lpNetResource, const Extbyte * lpPassword, const Extbyte * lpUserName, DWORD dwFlags); -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WNetCancelConnection -#define WNetCancelConnection error_use_qxeWNetCancelConnection_or_WNetCancelConnectionA_and_WNetCancelConnectionW -#endif -DWORD qxeWNetCancelConnection (const Extbyte * lpName, BOOL fForce); -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WNetCancelConnection2 -#define WNetCancelConnection2 error_use_qxeWNetCancelConnection2_or_WNetCancelConnection2A_and_WNetCancelConnection2W -#endif -DWORD qxeWNetCancelConnection2 (const Extbyte * lpName, DWORD dwFlags, BOOL fForce); -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WNetGetConnection -#define WNetGetConnection error_use_qxeWNetGetConnection_or_WNetGetConnectionA_and_WNetGetConnectionW -#endif -DWORD qxeWNetGetConnection (const Extbyte * lpLocalName, Extbyte * lpRemoteName, LPDWORD lpnLength); -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WNetUseConnection -#define WNetUseConnection error_use_qxeWNetUseConnection_or_WNetUseConnectionA_and_WNetUseConnectionW -#endif -DWORD qxeWNetUseConnection (HWND hwndOwner, LPNETRESOURCEW lpNetResource, const Extbyte * lpUserID, const Extbyte * lpPassword, DWORD dwFlags, Extbyte * lpAccessName, LPDWORD lpBufferSize, LPDWORD lpResult); -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WNetConnectionDialog1 -#define WNetConnectionDialog1 error_use_qxeWNetConnectionDialog1_or_WNetConnectionDialog1A_and_WNetConnectionDialog1W -#endif -DWORD qxeWNetConnectionDialog1 (LPCONNECTDLGSTRUCTW lpConnDlgStruct); -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WNetDisconnectDialog1 -#define WNetDisconnectDialog1 error_use_qxeWNetDisconnectDialog1_or_WNetDisconnectDialog1A_and_WNetDisconnectDialog1W -#endif -DWORD qxeWNetDisconnectDialog1 (LPDISCDLGSTRUCTW lpConnDlgStruct); -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WNetOpenEnum -#define WNetOpenEnum error_use_qxeWNetOpenEnum_or_WNetOpenEnumA_and_WNetOpenEnumW -#endif -DWORD qxeWNetOpenEnum (DWORD dwScope, DWORD dwType, DWORD dwUsage, LPNETRESOURCEW lpNetResource, LPHANDLE lphEnum); -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WNetEnumResource -#define WNetEnumResource error_use_qxeWNetEnumResource_or_WNetEnumResourceA_and_WNetEnumResourceW -#endif -DWORD qxeWNetEnumResource (HANDLE hEnum, LPDWORD lpcCount, LPVOID lpBuffer, LPDWORD lpBufferSize); -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WNetGetUniversalName -#define WNetGetUniversalName error_use_qxeWNetGetUniversalName_or_WNetGetUniversalNameA_and_WNetGetUniversalNameW -#endif -DWORD qxeWNetGetUniversalName (const Extbyte * lpLocalPath, DWORD dwInfoLevel, LPVOID lpBuffer, LPDWORD lpBufferSize); -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WNetGetUser -#define WNetGetUser error_use_qxeWNetGetUser_or_WNetGetUserA_and_WNetGetUserW -#endif -DWORD qxeWNetGetUser (const Extbyte * lpName, Extbyte * lpUserName, LPDWORD lpnLength); -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WNetGetProviderName -#define WNetGetProviderName error_use_qxeWNetGetProviderName_or_WNetGetProviderNameA_and_WNetGetProviderNameW -#endif -DWORD qxeWNetGetProviderName (DWORD dwNetType, Extbyte * lpProviderName, LPDWORD lpBufferSize); -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WNetGetNetworkInformation -#define WNetGetNetworkInformation error_use_qxeWNetGetNetworkInformation_or_WNetGetNetworkInformationA_and_WNetGetNetworkInformationW -#endif -DWORD qxeWNetGetNetworkInformation (const Extbyte * lpProvider, LPNETINFOSTRUCT lpNetInfoStruct); -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WNetGetLastError -#define WNetGetLastError error_use_qxeWNetGetLastError_or_WNetGetLastErrorA_and_WNetGetLastErrorW -#endif -DWORD qxeWNetGetLastError (LPDWORD lpError, Extbyte * lpErrorBuf, DWORD nErrorBufSize, Extbyte * lpNameBuf, DWORD nNameBufSize); -#endif /* defined (HAVE_MS_WINDOWS) */ - -#if defined (HAVE_MS_WINDOWS) -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef MultinetGetConnectionPerformance -#define MultinetGetConnectionPerformance error_use_qxeMultinetGetConnectionPerformance_or_MultinetGetConnectionPerformanceA_and_MultinetGetConnectionPerformanceW -#endif -DWORD qxeMultinetGetConnectionPerformance (LPNETRESOURCEW lpNetResource, LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct); -#endif /* defined (HAVE_MS_WINDOWS) */ - - -/* Processing file DDEML.H */ - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef DdeInitialize -#define DdeInitialize error_use_qxeDdeInitialize_or_DdeInitializeA_and_DdeInitializeW -#endif -UINT qxeDdeInitialize (LPDWORD pidInst, PFNCALLBACK pfnCallback, DWORD afCmd, DWORD ulRes); - -/* Skipping DdeCreateStringHandle because error in Cygwin prototype */ - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef DdeQueryString -#define DdeQueryString error_use_qxeDdeQueryString_or_DdeQueryStringA_and_DdeQueryStringW -#endif -DWORD qxeDdeQueryString (DWORD idInst, HSZ hsz, Extbyte * psz, DWORD cchMax, int iCodePage); - - -/* Processing file WINGDI.H */ - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef AddFontResource -#define AddFontResource error_use_qxeAddFontResource_or_AddFontResourceA_and_AddFontResourceW -#endif -int qxeAddFontResource (const Extbyte * arg1); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CopyMetaFile -#define CopyMetaFile error_use_qxeCopyMetaFile_or_CopyMetaFileA_and_CopyMetaFileW -#endif -HMETAFILE qxeCopyMetaFile (HMETAFILE arg1, const Extbyte * arg2); - -/* Skipping CreateDC because split-sized DEVMODE */ - -/* Skipping CreateFontIndirect because split-sized LOGFONT */ - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CreateFont -#define CreateFont error_use_qxeCreateFont_or_CreateFontA_and_CreateFontW -#endif -HFONT qxeCreateFont (int arg1, int arg2, int arg3, int arg4, int arg5, DWORD arg6, DWORD arg7, DWORD arg8, DWORD arg9, DWORD arg10, DWORD arg11, DWORD arg12, DWORD arg13, const Extbyte * arg14); - -/* Skipping CreateIC because split-sized DEVMODE */ - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CreateMetaFile -#define CreateMetaFile error_use_qxeCreateMetaFile_or_CreateMetaFileA_and_CreateMetaFileW -#endif -HDC qxeCreateMetaFile (const Extbyte * arg1); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CreateScalableFontResource -#define CreateScalableFontResource error_use_qxeCreateScalableFontResource_or_CreateScalableFontResourceA_and_CreateScalableFontResourceW -#endif -BOOL qxeCreateScalableFontResource (DWORD arg1, const Extbyte * arg2, const Extbyte * arg3, const Extbyte * arg4); - -/* Skipping DeviceCapabilities because split-sized DEVMODE */ - -/* Skipping EnumFontFamiliesEx because split-complex FONTENUMPROC; NT 4.0+ only */ - -#undef EnumFontFamilies -#define EnumFontFamilies error_split_complex_FONTENUMPROC - -#undef EnumFonts -#define EnumFonts error_split_complex_FONTENUMPROC - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetCharWidth -#define GetCharWidth error_use_qxeGetCharWidth_or_GetCharWidthA_and_GetCharWidthW -#endif -BOOL qxeGetCharWidth (HDC arg1, UINT arg2, UINT arg3, LPINT arg4); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetCharWidth32 -#define GetCharWidth32 error_use_qxeGetCharWidth32_or_GetCharWidth32A_and_GetCharWidth32W -#endif -BOOL qxeGetCharWidth32 (HDC arg1, UINT arg2, UINT arg3, LPINT arg4); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetCharWidthFloat -#define GetCharWidthFloat error_use_qxeGetCharWidthFloat_or_GetCharWidthFloatA_and_GetCharWidthFloatW -#endif -BOOL qxeGetCharWidthFloat (HDC arg1, UINT arg2, UINT arg3, PFLOAT arg4); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetCharABCWidths -#define GetCharABCWidths error_use_qxeGetCharABCWidths_or_GetCharABCWidthsA_and_GetCharABCWidthsW -#endif -BOOL qxeGetCharABCWidths (HDC arg1, UINT arg2, UINT arg3, LPABC arg4); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetCharABCWidthsFloat -#define GetCharABCWidthsFloat error_use_qxeGetCharABCWidthsFloat_or_GetCharABCWidthsFloatA_and_GetCharABCWidthsFloatW -#endif -BOOL qxeGetCharABCWidthsFloat (HDC arg1, UINT arg2, UINT arg3, LPABCFLOAT arg4); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetGlyphOutline -#define GetGlyphOutline error_use_qxeGetGlyphOutline_or_GetGlyphOutlineA_and_GetGlyphOutlineW -#endif -DWORD qxeGetGlyphOutline (HDC arg1, UINT arg2, UINT arg3, LPGLYPHMETRICS arg4, DWORD arg5, LPVOID arg6, CONST MAT2 * arg7); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetMetaFile -#define GetMetaFile error_use_qxeGetMetaFile_or_GetMetaFileA_and_GetMetaFileW -#endif -HMETAFILE qxeGetMetaFile (const Extbyte * arg1); - -#undef GetOutlineTextMetrics -#define GetOutlineTextMetrics error_split_sized_LPOUTLINETEXTMETRIC - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetTextExtentPoint -#define GetTextExtentPoint error_use_qxeGetTextExtentPoint_or_GetTextExtentPointA_and_GetTextExtentPointW -#endif -BOOL qxeGetTextExtentPoint (HDC arg1, const Extbyte * arg2, int arg3, LPSIZE arg4); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetTextExtentPoint32 -#define GetTextExtentPoint32 error_use_qxeGetTextExtentPoint32_or_GetTextExtentPoint32A_and_GetTextExtentPoint32W -#endif -BOOL qxeGetTextExtentPoint32 (HDC arg1, const Extbyte * arg2, int arg3, LPSIZE arg4); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetTextExtentExPoint -#define GetTextExtentExPoint error_use_qxeGetTextExtentExPoint_or_GetTextExtentExPointA_and_GetTextExtentExPointW -#endif -BOOL qxeGetTextExtentExPoint (HDC arg1, const Extbyte * arg2, int arg3, int arg4, LPINT arg5, LPINT arg6, LPSIZE arg7); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetCharacterPlacement -#define GetCharacterPlacement error_use_qxeGetCharacterPlacement_or_GetCharacterPlacementA_and_GetCharacterPlacementW -#endif -DWORD qxeGetCharacterPlacement (HDC arg1, const Extbyte * arg2, int arg3, int arg4, LPGCP_RESULTSW arg5, DWORD arg6); - -#undef GetGlyphIndices -#define GetGlyphIndices error_NT_5_0__only - -#undef AddFontResourceEx -#define AddFontResourceEx error_NT_5_0__only - -#undef RemoveFontResourceEx -#define RemoveFontResourceEx error_NT_5_0__only - -#undef CreateFontIndirectEx -#define CreateFontIndirectEx error_split_sized_ENUMLOGFONTEXDV__NT_5_0__only - -/* Skipping ResetDC because split-sized DEVMODE */ - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RemoveFontResource -#define RemoveFontResource error_use_qxeRemoveFontResource_or_RemoveFontResourceA_and_RemoveFontResourceW -#endif -BOOL qxeRemoveFontResource (const Extbyte * arg1); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CopyEnhMetaFile -#define CopyEnhMetaFile error_use_qxeCopyEnhMetaFile_or_CopyEnhMetaFileA_and_CopyEnhMetaFileW -#endif -HENHMETAFILE qxeCopyEnhMetaFile (HENHMETAFILE arg1, const Extbyte * arg2); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CreateEnhMetaFile -#define CreateEnhMetaFile error_use_qxeCreateEnhMetaFile_or_CreateEnhMetaFileA_and_CreateEnhMetaFileW -#endif -HDC qxeCreateEnhMetaFile (HDC arg1, const Extbyte * arg2, CONST RECT * arg3, const Extbyte * arg4); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetEnhMetaFile -#define GetEnhMetaFile error_use_qxeGetEnhMetaFile_or_GetEnhMetaFileA_and_GetEnhMetaFileW -#endif -HENHMETAFILE qxeGetEnhMetaFile (const Extbyte * arg1); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetEnhMetaFileDescription -#define GetEnhMetaFileDescription error_use_qxeGetEnhMetaFileDescription_or_GetEnhMetaFileDescriptionA_and_GetEnhMetaFileDescriptionW -#endif -UINT qxeGetEnhMetaFileDescription (HENHMETAFILE arg1, UINT arg2, Extbyte * arg3); - -/* Skipping GetTextMetrics because split-sized LPTEXTMETRIC */ - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef StartDoc -#define StartDoc error_use_qxeStartDoc_or_StartDocA_and_StartDocW -#endif -int qxeStartDoc (HDC arg1, CONST DOCINFOW * arg2); - -/* Skipping GetObject because split-sized LOGFONT */ - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef TextOut -#define TextOut error_use_qxeTextOut_or_TextOutA_and_TextOutW -#endif -BOOL qxeTextOut (HDC arg1, int arg2, int arg3, const Extbyte * arg4, int arg5); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef ExtTextOut -#define ExtTextOut error_use_qxeExtTextOut_or_ExtTextOutA_and_ExtTextOutW -#endif -BOOL qxeExtTextOut (HDC arg1, int arg2, int arg3, UINT arg4, CONST RECT * arg5, const Extbyte * arg6, UINT arg7, CONST INT * arg8); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef PolyTextOut -#define PolyTextOut error_use_qxePolyTextOut_or_PolyTextOutA_and_PolyTextOutW -#endif -BOOL qxePolyTextOut (HDC arg1, CONST POLYTEXTW * arg2, int arg3); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetTextFace -#define GetTextFace error_use_qxeGetTextFace_or_GetTextFaceA_and_GetTextFaceW -#endif -int qxeGetTextFace (HDC arg1, int arg2, Extbyte * arg3); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetKerningPairs -#define GetKerningPairs error_use_qxeGetKerningPairs_or_GetKerningPairsA_and_GetKerningPairsW -#endif -DWORD qxeGetKerningPairs (HDC arg1, DWORD arg2, LPKERNINGPAIR arg3); - -#undef GetLogColorSpace -#define GetLogColorSpace error_split_sized_LPLOGCOLORSPACE__NT_4_0__only - -#undef CreateColorSpace -#define CreateColorSpace error_split_sized_LPLOGCOLORSPACE__NT_4_0__only - -/* Skipping GetICMProfile because NT 4.0+ only, error in Cygwin prototype */ - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef SetICMProfile -#define SetICMProfile error_use_qxeSetICMProfile_or_SetICMProfileA_and_SetICMProfileW -#endif -BOOL qxeSetICMProfile (HDC arg1, Extbyte * arg2); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef EnumICMProfiles -#define EnumICMProfiles error_use_qxeEnumICMProfiles_or_EnumICMProfilesA_and_EnumICMProfilesW -#endif -int qxeEnumICMProfiles (HDC arg1, ICMENUMPROCW arg2, LPARAM arg3); - -/* Skipping UpdateICMRegKey because NT 4.0+ only, error in Cygwin prototype */ - -#undef wglUseFontBitmaps -#define wglUseFontBitmaps error_causes_link_error - -#undef wglUseFontOutlines -#define wglUseFontOutlines error_causes_link_error - - -/* Processing file WINNLS.H */ - -#undef GetCPInfoEx -#define GetCPInfoEx error_not_used__not_examined_yet - -#undef CompareString -#define CompareString error_not_used__not_examined_yet - -#undef LCMapString -#define LCMapString error_not_used__not_examined_yet - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetLocaleInfo -#define GetLocaleInfo error_use_qxeGetLocaleInfo_or_GetLocaleInfoA_and_GetLocaleInfoW -#endif -int qxeGetLocaleInfo (LCID Locale, LCTYPE LCType, Extbyte * lpLCData, int cchData); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef SetLocaleInfo -#define SetLocaleInfo error_use_qxeSetLocaleInfo_or_SetLocaleInfoA_and_SetLocaleInfoW -#endif -BOOL qxeSetLocaleInfo (LCID Locale, LCTYPE LCType, const Extbyte * lpLCData); - -#undef GetTimeFormat -#define GetTimeFormat error_not_used__not_examined_yet - -#undef GetDateFormat -#define GetDateFormat error_not_used__not_examined_yet - -#undef GetNumberFormat -#define GetNumberFormat error_not_used__not_examined_yet - -#undef GetCurrencyFormat -#define GetCurrencyFormat error_not_used__not_examined_yet - -#undef EnumCalendarInfo -#define EnumCalendarInfo error_not_used__not_examined_yet - -#undef EnumCalendarInfoEx -#define EnumCalendarInfoEx error_not_used__not_examined_yet - -#undef EnumTimeFormats -#define EnumTimeFormats error_not_used__not_examined_yet - -#undef EnumDateFormats -#define EnumDateFormats error_not_used__not_examined_yet - -#undef EnumDateFormatsEx -#define EnumDateFormatsEx error_not_used__not_examined_yet - -#undef GetStringTypeEx -#define GetStringTypeEx error_not_used__not_examined_yet - -#undef GetStringType -#define GetStringType error_no_such_fun__A_and_W_versions_have_different_nos__of_args - -#undef FoldString -#define FoldString error_not_used__not_examined_yet - -#undef EnumSystemLocales -#define EnumSystemLocales error_not_used__not_examined_yet - -#undef EnumSystemCodePages -#define EnumSystemCodePages error_not_used__not_examined_yet - - -/* Processing file WINREG.H */ - -/* Skipping RegConnectRegistry because error in Cygwin prototype */ - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RegCreateKey -#define RegCreateKey error_use_qxeRegCreateKey_or_RegCreateKeyA_and_RegCreateKeyW -#endif -LONG - qxeRegCreateKey (HKEY hKey, const Extbyte * lpSubKey, PHKEY phkResult); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RegCreateKeyEx -#define RegCreateKeyEx error_use_qxeRegCreateKeyEx_or_RegCreateKeyExA_and_RegCreateKeyExW -#endif -LONG - qxeRegCreateKeyEx (HKEY hKey, const Extbyte * lpSubKey, DWORD Reserved, Extbyte * lpClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RegDeleteKey -#define RegDeleteKey error_use_qxeRegDeleteKey_or_RegDeleteKeyA_and_RegDeleteKeyW -#endif -LONG - qxeRegDeleteKey (HKEY hKey, const Extbyte * lpSubKey); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RegDeleteValue -#define RegDeleteValue error_use_qxeRegDeleteValue_or_RegDeleteValueA_and_RegDeleteValueW -#endif -LONG - qxeRegDeleteValue (HKEY hKey, const Extbyte * lpValueName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RegEnumKey -#define RegEnumKey error_use_qxeRegEnumKey_or_RegEnumKeyA_and_RegEnumKeyW -#endif -LONG - qxeRegEnumKey (HKEY hKey, DWORD dwIndex, Extbyte * lpName, DWORD cbName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RegEnumKeyEx -#define RegEnumKeyEx error_use_qxeRegEnumKeyEx_or_RegEnumKeyExA_and_RegEnumKeyExW -#endif -LONG - qxeRegEnumKeyEx (HKEY hKey, DWORD dwIndex, Extbyte * lpName, LPDWORD lpcbName, LPDWORD lpReserved, Extbyte * lpClass, LPDWORD lpcbClass, PFILETIME lpftLastWriteTime); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RegEnumValue -#define RegEnumValue error_use_qxeRegEnumValue_or_RegEnumValueA_and_RegEnumValueW -#endif -LONG - qxeRegEnumValue (HKEY hKey, DWORD dwIndex, Extbyte * lpValueName, LPDWORD lpcbValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RegLoadKey -#define RegLoadKey error_use_qxeRegLoadKey_or_RegLoadKeyA_and_RegLoadKeyW -#endif -LONG - qxeRegLoadKey (HKEY hKey, const Extbyte * lpSubKey, const Extbyte * lpFile); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RegOpenKey -#define RegOpenKey error_use_qxeRegOpenKey_or_RegOpenKeyA_and_RegOpenKeyW -#endif -LONG - qxeRegOpenKey (HKEY hKey, const Extbyte * lpSubKey, PHKEY phkResult); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RegOpenKeyEx -#define RegOpenKeyEx error_use_qxeRegOpenKeyEx_or_RegOpenKeyExA_and_RegOpenKeyExW -#endif -LONG - qxeRegOpenKeyEx (HKEY hKey, const Extbyte * lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RegQueryInfoKey -#define RegQueryInfoKey error_use_qxeRegQueryInfoKey_or_RegQueryInfoKeyA_and_RegQueryInfoKeyW -#endif -LONG - qxeRegQueryInfoKey (HKEY hKey, Extbyte * lpClass, LPDWORD lpcbClass, LPDWORD lpReserved, LPDWORD lpcSubKeys, LPDWORD lpcbMaxSubKeyLen, LPDWORD lpcbMaxClassLen, LPDWORD lpcValues, LPDWORD lpcbMaxValueNameLen, LPDWORD lpcbMaxValueLen, LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RegQueryValue -#define RegQueryValue error_use_qxeRegQueryValue_or_RegQueryValueA_and_RegQueryValueW -#endif -LONG - qxeRegQueryValue (HKEY hKey, const Extbyte * lpSubKey, Extbyte * lpValue, PLONG lpcbValue); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RegQueryMultipleValues -#define RegQueryMultipleValues error_use_qxeRegQueryMultipleValues_or_RegQueryMultipleValuesA_and_RegQueryMultipleValuesW -#endif -LONG - qxeRegQueryMultipleValues (HKEY hKey, PVALENTW val_list, DWORD num_vals, Extbyte * lpValueBuf, LPDWORD ldwTotsize); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RegQueryValueEx -#define RegQueryValueEx error_use_qxeRegQueryValueEx_or_RegQueryValueExA_and_RegQueryValueExW -#endif -LONG - qxeRegQueryValueEx (HKEY hKey, const Extbyte * lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RegReplaceKey -#define RegReplaceKey error_use_qxeRegReplaceKey_or_RegReplaceKeyA_and_RegReplaceKeyW -#endif -LONG - qxeRegReplaceKey (HKEY hKey, const Extbyte * lpSubKey, const Extbyte * lpNewFile, const Extbyte * lpOldFile); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RegRestoreKey -#define RegRestoreKey error_use_qxeRegRestoreKey_or_RegRestoreKeyA_and_RegRestoreKeyW -#endif -LONG - qxeRegRestoreKey (HKEY hKey, const Extbyte * lpFile, DWORD dwFlags); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RegSaveKey -#define RegSaveKey error_use_qxeRegSaveKey_or_RegSaveKeyA_and_RegSaveKeyW -#endif -LONG - qxeRegSaveKey (HKEY hKey, const Extbyte * lpFile, LPSECURITY_ATTRIBUTES lpSecurityAttributes); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RegSetValue -#define RegSetValue error_use_qxeRegSetValue_or_RegSetValueA_and_RegSetValueW -#endif -LONG - qxeRegSetValue (HKEY hKey, const Extbyte * lpSubKey, DWORD dwType, const Extbyte * lpData, DWORD cbData); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RegSetValueEx -#define RegSetValueEx error_use_qxeRegSetValueEx_or_RegSetValueExA_and_RegSetValueExW -#endif -LONG - qxeRegSetValueEx (HKEY hKey, const Extbyte * lpValueName, DWORD Reserved, DWORD dwType, CONST BYTE* lpData, DWORD cbData); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RegUnLoadKey -#define RegUnLoadKey error_use_qxeRegUnLoadKey_or_RegUnLoadKeyA_and_RegUnLoadKeyW -#endif -LONG - qxeRegUnLoadKey (HKEY hKey, const Extbyte * lpSubKey); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef InitiateSystemShutdown -#define InitiateSystemShutdown error_use_qxeInitiateSystemShutdown_or_InitiateSystemShutdownA_and_InitiateSystemShutdownW -#endif -BOOL - qxeInitiateSystemShutdown (Extbyte * lpMachineName, Extbyte * lpMessage, DWORD dwTimeout, BOOL bForceAppsClosed, BOOL bRebootAfterShutdown); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef AbortSystemShutdown -#define AbortSystemShutdown error_use_qxeAbortSystemShutdown_or_AbortSystemShutdownA_and_AbortSystemShutdownW -#endif -BOOL - qxeAbortSystemShutdown (Extbyte * lpMachineName); - - -/* Processing file COMMDLG.H */ - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetOpenFileName -#define GetOpenFileName error_use_qxeGetOpenFileName_or_GetOpenFileNameA_and_GetOpenFileNameW -#endif -BOOL qxeGetOpenFileName (LPOPENFILENAMEW arg1); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetSaveFileName -#define GetSaveFileName error_use_qxeGetSaveFileName_or_GetSaveFileNameA_and_GetSaveFileNameW -#endif -BOOL qxeGetSaveFileName (LPOPENFILENAMEW arg1); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetFileTitle -#define GetFileTitle error_use_qxeGetFileTitle_or_GetFileTitleA_and_GetFileTitleW -#endif -short qxeGetFileTitle (const Extbyte * arg1, Extbyte * arg2, WORD arg3); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef ChooseColor -#define ChooseColor error_use_qxeChooseColor_or_ChooseColorA_and_ChooseColorW -#endif -BOOL qxeChooseColor (LPCHOOSECOLORW arg1); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef FindText -#define FindText error_use_qxeFindText_or_FindTextA_and_FindTextW -#endif -HWND qxeFindText (LPFINDREPLACEW arg1); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef ReplaceText -#define ReplaceText error_use_qxeReplaceText_or_ReplaceTextA_and_ReplaceTextW -#endif -HWND qxeReplaceText (LPFINDREPLACEW arg1); - -#undef AfxReplaceText -#define AfxReplaceText error_mac_only - -#undef ChooseFont -#define ChooseFont error_split_sized_LPLOGFONT_in_LPCHOOSEFONT - -/* Skipping PrintDlg because LPPRINTDLG with split-sized DEVMODE handle */ - -/* Skipping PageSetupDlg because LPPAGESETUPDLG with split-sized DEVMODE handle */ - - -/* Processing file SHLOBJ.H */ - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef SHGetPathFromIDList -#define SHGetPathFromIDList error_use_qxeSHGetPathFromIDList_or_SHGetPathFromIDListA_and_SHGetPathFromIDListW -#endif -BOOL qxeSHGetPathFromIDList (LPCITEMIDLIST pidl, Extbyte * pszPath); - -/* Skipping SHGetSpecialFolderPath because error in Cygwin prototype, missing from Cygwin libraries */ - -/* Skipping SHBrowseForFolder because need to intercept callback for SendMessage */ - -/* Skipping SHGetDataFromIDList because split-sized WIN32_FIND_DATA or split-simple NETRESOURCE, missing from Cygwin libraries */ - - -/* Processing file WINBASE.H */ - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetBinaryType -#define GetBinaryType error_use_qxeGetBinaryType_or_GetBinaryTypeA_and_GetBinaryTypeW -#endif -BOOL qxeGetBinaryType (const Extbyte * lpApplicationName, LPDWORD lpBinaryType); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetShortPathName -#define GetShortPathName error_use_qxeGetShortPathName_or_GetShortPathNameA_and_GetShortPathNameW -#endif -DWORD qxeGetShortPathName (const Extbyte * lpszLongPath, Extbyte * lpszShortPath, DWORD cchBuffer); - -#undef GetLongPathName -#define GetLongPathName error_Win98_2K__only - -/* Skipping GetEnvironmentStrings because misnamed ANSI version of the function */ - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef FreeEnvironmentStrings -#define FreeEnvironmentStrings error_use_qxeFreeEnvironmentStrings_or_FreeEnvironmentStringsA_and_FreeEnvironmentStringsW -#endif -BOOL qxeFreeEnvironmentStrings (Extbyte * arg1); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef FormatMessage -#define FormatMessage error_use_qxeFormatMessage_or_FormatMessageA_and_FormatMessageW -#endif -DWORD qxeFormatMessage (DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, Extbyte * lpBuffer, DWORD nSize, va_list * Arguments); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CreateMailslot -#define CreateMailslot error_use_qxeCreateMailslot_or_CreateMailslotA_and_CreateMailslotW -#endif -HANDLE qxeCreateMailslot (const Extbyte * lpName, DWORD nMaxMessageSize, DWORD lReadTimeout, LPSECURITY_ATTRIBUTES lpSecurityAttributes); - -#if !defined (CYGWIN_HEADERS) -#undef EncryptFile -#define EncryptFile error_Win2K__only -#endif /* !defined (CYGWIN_HEADERS) */ - -#if !defined (CYGWIN_HEADERS) -#undef DecryptFile -#define DecryptFile error_Win2K__only -#endif /* !defined (CYGWIN_HEADERS) */ - -#undef OpenRaw -#define OpenRaw error_error__The_procedure_entry_point_OpenRawW_could_not_be_located_in_the_dynamic_link_library_ADVAPI32_dll__ - -#undef QueryRecoveryAgents -#define QueryRecoveryAgents error_split_sized_LPRECOVERY_AGENT_INFORMATION - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef lstrcmp -#define lstrcmp error_use_qxelstrcmp_or_lstrcmpA_and_lstrcmpW -#endif -int qxelstrcmp (const Extbyte * lpString1, const Extbyte * lpString2); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef lstrcmpi -#define lstrcmpi error_use_qxelstrcmpi_or_lstrcmpiA_and_lstrcmpiW -#endif -int qxelstrcmpi (const Extbyte * lpString1, const Extbyte * lpString2); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef lstrcpyn -#define lstrcpyn error_use_qxelstrcpyn_or_lstrcpynA_and_lstrcpynW -#endif -Extbyte * qxelstrcpyn (Extbyte * lpString1, const Extbyte * lpString2, int iMaxLength); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef lstrcpy -#define lstrcpy error_use_qxelstrcpy_or_lstrcpyA_and_lstrcpyW -#endif -Extbyte * qxelstrcpy (Extbyte * lpString1, const Extbyte * lpString2); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef lstrcat -#define lstrcat error_use_qxelstrcat_or_lstrcatA_and_lstrcatW -#endif -Extbyte * qxelstrcat (Extbyte * lpString1, const Extbyte * lpString2); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef lstrlen -#define lstrlen error_use_qxelstrlen_or_lstrlenA_and_lstrlenW -#endif -int qxelstrlen (const Extbyte * lpString); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CreateMutex -#define CreateMutex error_use_qxeCreateMutex_or_CreateMutexA_and_CreateMutexW -#endif -HANDLE qxeCreateMutex (LPSECURITY_ATTRIBUTES lpMutexAttributes, BOOL bInitialOwner, const Extbyte * lpName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef OpenMutex -#define OpenMutex error_use_qxeOpenMutex_or_OpenMutexA_and_OpenMutexW -#endif -HANDLE qxeOpenMutex (DWORD dwDesiredAccess, BOOL bInheritHandle, const Extbyte * lpName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CreateEvent -#define CreateEvent error_use_qxeCreateEvent_or_CreateEventA_and_CreateEventW -#endif -HANDLE qxeCreateEvent (LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState, const Extbyte * lpName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef OpenEvent -#define OpenEvent error_use_qxeOpenEvent_or_OpenEventA_and_OpenEventW -#endif -HANDLE qxeOpenEvent (DWORD dwDesiredAccess, BOOL bInheritHandle, const Extbyte * lpName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CreateSemaphore -#define CreateSemaphore error_use_qxeCreateSemaphore_or_CreateSemaphoreA_and_CreateSemaphoreW -#endif -HANDLE qxeCreateSemaphore (LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, const Extbyte * lpName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef OpenSemaphore -#define OpenSemaphore error_use_qxeOpenSemaphore_or_OpenSemaphoreA_and_OpenSemaphoreW -#endif -HANDLE qxeOpenSemaphore (DWORD dwDesiredAccess, BOOL bInheritHandle, const Extbyte * lpName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CreateWaitableTimer -#define CreateWaitableTimer error_use_qxeCreateWaitableTimer_or_CreateWaitableTimerA_and_CreateWaitableTimerW -#endif -HANDLE qxeCreateWaitableTimer (LPSECURITY_ATTRIBUTES lpTimerAttributes, BOOL bManualReset, const Extbyte * lpTimerName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef OpenWaitableTimer -#define OpenWaitableTimer error_use_qxeOpenWaitableTimer_or_OpenWaitableTimerA_and_OpenWaitableTimerW -#endif -HANDLE qxeOpenWaitableTimer (DWORD dwDesiredAccess, BOOL bInheritHandle, const Extbyte * lpTimerName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CreateFileMapping -#define CreateFileMapping error_use_qxeCreateFileMapping_or_CreateFileMappingA_and_CreateFileMappingW -#endif -HANDLE qxeCreateFileMapping (HANDLE hFile, LPSECURITY_ATTRIBUTES lpFileMappingAttributes, DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, const Extbyte * lpName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef OpenFileMapping -#define OpenFileMapping error_use_qxeOpenFileMapping_or_OpenFileMappingA_and_OpenFileMappingW -#endif -HANDLE qxeOpenFileMapping (DWORD dwDesiredAccess, BOOL bInheritHandle, const Extbyte * lpName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetLogicalDriveStrings -#define GetLogicalDriveStrings error_use_qxeGetLogicalDriveStrings_or_GetLogicalDriveStringsA_and_GetLogicalDriveStringsW -#endif -DWORD qxeGetLogicalDriveStrings (DWORD nBufferLength, Extbyte * lpBuffer); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef LoadLibrary -#define LoadLibrary error_use_qxeLoadLibrary_or_LoadLibraryA_and_LoadLibraryW -#endif -HMODULE qxeLoadLibrary (const Extbyte * lpLibFileName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef LoadLibraryEx -#define LoadLibraryEx error_use_qxeLoadLibraryEx_or_LoadLibraryExA_and_LoadLibraryExW -#endif -HMODULE qxeLoadLibraryEx (const Extbyte * lpLibFileName, HANDLE hFile, DWORD dwFlags); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetModuleFileName -#define GetModuleFileName error_use_qxeGetModuleFileName_or_GetModuleFileNameA_and_GetModuleFileNameW -#endif -DWORD qxeGetModuleFileName (HMODULE hModule, Extbyte * lpFilename, DWORD nSize); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetModuleHandle -#define GetModuleHandle error_use_qxeGetModuleHandle_or_GetModuleHandleA_and_GetModuleHandleW -#endif -HMODULE qxeGetModuleHandle (const Extbyte * lpModuleName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CreateProcess -#define CreateProcess error_use_qxeCreateProcess_or_CreateProcessA_and_CreateProcessW -#endif -BOOL qxeCreateProcess (const Extbyte * lpApplicationName, Extbyte * lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, const Extbyte * lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef FatalAppExit -#define FatalAppExit error_use_qxeFatalAppExit_or_FatalAppExitA_and_FatalAppExitW -#endif -VOID qxeFatalAppExit (UINT uAction, const Extbyte * lpMessageText); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetStartupInfo -#define GetStartupInfo error_use_qxeGetStartupInfo_or_GetStartupInfoA_and_GetStartupInfoW -#endif -VOID qxeGetStartupInfo (LPSTARTUPINFOW lpStartupInfo); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetCommandLine -#define GetCommandLine error_use_qxeGetCommandLine_or_GetCommandLineA_and_GetCommandLineW -#endif -Extbyte * qxeGetCommandLine (void); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetEnvironmentVariable -#define GetEnvironmentVariable error_use_qxeGetEnvironmentVariable_or_GetEnvironmentVariableA_and_GetEnvironmentVariableW -#endif -DWORD qxeGetEnvironmentVariable (const Extbyte * lpName, Extbyte * lpBuffer, DWORD nSize); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef SetEnvironmentVariable -#define SetEnvironmentVariable error_use_qxeSetEnvironmentVariable_or_SetEnvironmentVariableA_and_SetEnvironmentVariableW -#endif -BOOL qxeSetEnvironmentVariable (const Extbyte * lpName, const Extbyte * lpValue); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef ExpandEnvironmentStrings -#define ExpandEnvironmentStrings error_use_qxeExpandEnvironmentStrings_or_ExpandEnvironmentStringsA_and_ExpandEnvironmentStringsW -#endif -DWORD qxeExpandEnvironmentStrings (const Extbyte * lpSrc, Extbyte * lpDst, DWORD nSize); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef OutputDebugString -#define OutputDebugString error_use_qxeOutputDebugString_or_OutputDebugStringA_and_OutputDebugStringW -#endif -VOID qxeOutputDebugString (const Extbyte * lpOutputString); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef FindResource -#define FindResource error_use_qxeFindResource_or_FindResourceA_and_FindResourceW -#endif -HRSRC qxeFindResource (HMODULE hModule, const Extbyte * lpName, const Extbyte * lpType); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef FindResourceEx -#define FindResourceEx error_use_qxeFindResourceEx_or_FindResourceExA_and_FindResourceExW -#endif -HRSRC qxeFindResourceEx (HMODULE hModule, const Extbyte * lpType, const Extbyte * lpName, WORD wLanguage); - -/* Skipping EnumResourceTypes because different prototypes in VC6 and VC7 */ - -/* Skipping EnumResourceNames because different prototypes in VC6 and VC7 */ - -/* Skipping EnumResourceLanguages because different prototypes in VC6 and VC7 */ - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef BeginUpdateResource -#define BeginUpdateResource error_use_qxeBeginUpdateResource_or_BeginUpdateResourceA_and_BeginUpdateResourceW -#endif -HANDLE qxeBeginUpdateResource (const Extbyte * pFileName, BOOL bDeleteExistingResources); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef UpdateResource -#define UpdateResource error_use_qxeUpdateResource_or_UpdateResourceA_and_UpdateResourceW -#endif -BOOL qxeUpdateResource (HANDLE hUpdate, const Extbyte * lpType, const Extbyte * lpName, WORD wLanguage, LPVOID lpData, DWORD cbData); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef EndUpdateResource -#define EndUpdateResource error_use_qxeEndUpdateResource_or_EndUpdateResourceA_and_EndUpdateResourceW -#endif -BOOL qxeEndUpdateResource (HANDLE hUpdate, BOOL fDiscard); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GlobalAddAtom -#define GlobalAddAtom error_use_qxeGlobalAddAtom_or_GlobalAddAtomA_and_GlobalAddAtomW -#endif -ATOM qxeGlobalAddAtom (const Extbyte * lpString); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GlobalFindAtom -#define GlobalFindAtom error_use_qxeGlobalFindAtom_or_GlobalFindAtomA_and_GlobalFindAtomW -#endif -ATOM qxeGlobalFindAtom (const Extbyte * lpString); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GlobalGetAtomName -#define GlobalGetAtomName error_use_qxeGlobalGetAtomName_or_GlobalGetAtomNameA_and_GlobalGetAtomNameW -#endif -UINT qxeGlobalGetAtomName (ATOM nAtom, Extbyte * lpBuffer, int nSize); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef AddAtom -#define AddAtom error_use_qxeAddAtom_or_AddAtomA_and_AddAtomW -#endif -ATOM qxeAddAtom (const Extbyte * lpString); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef FindAtom -#define FindAtom error_use_qxeFindAtom_or_FindAtomA_and_FindAtomW -#endif -ATOM qxeFindAtom (const Extbyte * lpString); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetAtomName -#define GetAtomName error_use_qxeGetAtomName_or_GetAtomNameA_and_GetAtomNameW -#endif -UINT qxeGetAtomName (ATOM nAtom, Extbyte * lpBuffer, int nSize); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetProfileInt -#define GetProfileInt error_use_qxeGetProfileInt_or_GetProfileIntA_and_GetProfileIntW -#endif -UINT qxeGetProfileInt (const Extbyte * lpAppName, const Extbyte * lpKeyName, INT nDefault); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetProfileString -#define GetProfileString error_use_qxeGetProfileString_or_GetProfileStringA_and_GetProfileStringW -#endif -DWORD qxeGetProfileString (const Extbyte * lpAppName, const Extbyte * lpKeyName, const Extbyte * lpDefault, Extbyte * lpReturnedString, DWORD nSize); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WriteProfileString -#define WriteProfileString error_use_qxeWriteProfileString_or_WriteProfileStringA_and_WriteProfileStringW -#endif -BOOL qxeWriteProfileString (const Extbyte * lpAppName, const Extbyte * lpKeyName, const Extbyte * lpString); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetProfileSection -#define GetProfileSection error_use_qxeGetProfileSection_or_GetProfileSectionA_and_GetProfileSectionW -#endif -DWORD qxeGetProfileSection (const Extbyte * lpAppName, Extbyte * lpReturnedString, DWORD nSize); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WriteProfileSection -#define WriteProfileSection error_use_qxeWriteProfileSection_or_WriteProfileSectionA_and_WriteProfileSectionW -#endif -BOOL qxeWriteProfileSection (const Extbyte * lpAppName, const Extbyte * lpString); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetPrivateProfileInt -#define GetPrivateProfileInt error_use_qxeGetPrivateProfileInt_or_GetPrivateProfileIntA_and_GetPrivateProfileIntW -#endif -UINT qxeGetPrivateProfileInt (const Extbyte * lpAppName, const Extbyte * lpKeyName, INT nDefault, const Extbyte * lpFileName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetPrivateProfileString -#define GetPrivateProfileString error_use_qxeGetPrivateProfileString_or_GetPrivateProfileStringA_and_GetPrivateProfileStringW -#endif -DWORD qxeGetPrivateProfileString (const Extbyte * lpAppName, const Extbyte * lpKeyName, const Extbyte * lpDefault, Extbyte * lpReturnedString, DWORD nSize, const Extbyte * lpFileName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WritePrivateProfileString -#define WritePrivateProfileString error_use_qxeWritePrivateProfileString_or_WritePrivateProfileStringA_and_WritePrivateProfileStringW -#endif -BOOL qxeWritePrivateProfileString (const Extbyte * lpAppName, const Extbyte * lpKeyName, const Extbyte * lpString, const Extbyte * lpFileName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetPrivateProfileSection -#define GetPrivateProfileSection error_use_qxeGetPrivateProfileSection_or_GetPrivateProfileSectionA_and_GetPrivateProfileSectionW -#endif -DWORD qxeGetPrivateProfileSection (const Extbyte * lpAppName, Extbyte * lpReturnedString, DWORD nSize, const Extbyte * lpFileName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WritePrivateProfileSection -#define WritePrivateProfileSection error_use_qxeWritePrivateProfileSection_or_WritePrivateProfileSectionA_and_WritePrivateProfileSectionW -#endif -BOOL qxeWritePrivateProfileSection (const Extbyte * lpAppName, const Extbyte * lpString, const Extbyte * lpFileName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetPrivateProfileSectionNames -#define GetPrivateProfileSectionNames error_use_qxeGetPrivateProfileSectionNames_or_GetPrivateProfileSectionNamesA_and_GetPrivateProfileSectionNamesW -#endif -DWORD qxeGetPrivateProfileSectionNames (Extbyte * lpszReturnBuffer, DWORD nSize, const Extbyte * lpFileName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetPrivateProfileStruct -#define GetPrivateProfileStruct error_use_qxeGetPrivateProfileStruct_or_GetPrivateProfileStructA_and_GetPrivateProfileStructW -#endif -BOOL qxeGetPrivateProfileStruct (const Extbyte * lpszSection, const Extbyte * lpszKey, LPVOID lpStruct, UINT uSizeStruct, const Extbyte * szFile); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WritePrivateProfileStruct -#define WritePrivateProfileStruct error_use_qxeWritePrivateProfileStruct_or_WritePrivateProfileStructA_and_WritePrivateProfileStructW -#endif -BOOL qxeWritePrivateProfileStruct (const Extbyte * lpszSection, const Extbyte * lpszKey, LPVOID lpStruct, UINT uSizeStruct, const Extbyte * szFile); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetDriveType -#define GetDriveType error_use_qxeGetDriveType_or_GetDriveTypeA_and_GetDriveTypeW -#endif -UINT qxeGetDriveType (const Extbyte * lpRootPathName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetSystemDirectory -#define GetSystemDirectory error_use_qxeGetSystemDirectory_or_GetSystemDirectoryA_and_GetSystemDirectoryW -#endif -UINT qxeGetSystemDirectory (Extbyte * lpBuffer, UINT uSize); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetTempPath -#define GetTempPath error_use_qxeGetTempPath_or_GetTempPathA_and_GetTempPathW -#endif -DWORD qxeGetTempPath (DWORD nBufferLength, Extbyte * lpBuffer); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetTempFileName -#define GetTempFileName error_use_qxeGetTempFileName_or_GetTempFileNameA_and_GetTempFileNameW -#endif -UINT qxeGetTempFileName (const Extbyte * lpPathName, const Extbyte * lpPrefixString, UINT uUnique, Extbyte * lpTempFileName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetWindowsDirectory -#define GetWindowsDirectory error_use_qxeGetWindowsDirectory_or_GetWindowsDirectoryA_and_GetWindowsDirectoryW -#endif -UINT qxeGetWindowsDirectory (Extbyte * lpBuffer, UINT uSize); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef SetCurrentDirectory -#define SetCurrentDirectory error_use_qxeSetCurrentDirectory_or_SetCurrentDirectoryA_and_SetCurrentDirectoryW -#endif -BOOL qxeSetCurrentDirectory (const Extbyte * lpPathName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetCurrentDirectory -#define GetCurrentDirectory error_use_qxeGetCurrentDirectory_or_GetCurrentDirectoryA_and_GetCurrentDirectoryW -#endif -DWORD qxeGetCurrentDirectory (DWORD nBufferLength, Extbyte * lpBuffer); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetDiskFreeSpace -#define GetDiskFreeSpace error_use_qxeGetDiskFreeSpace_or_GetDiskFreeSpaceA_and_GetDiskFreeSpaceW -#endif -BOOL qxeGetDiskFreeSpace (const Extbyte * lpRootPathName, LPDWORD lpSectorsPerCluster, LPDWORD lpBytesPerSector, LPDWORD lpNumberOfFreeClusters, LPDWORD lpTotalNumberOfClusters); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetDiskFreeSpaceEx -#define GetDiskFreeSpaceEx error_use_qxeGetDiskFreeSpaceEx_or_GetDiskFreeSpaceExA_and_GetDiskFreeSpaceExW -#endif -BOOL qxeGetDiskFreeSpaceEx (const Extbyte * lpDirectoryName, PULARGE_INTEGER lpFreeBytesAvailableToCaller, PULARGE_INTEGER lpTotalNumberOfBytes, PULARGE_INTEGER lpTotalNumberOfFreeBytes); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CreateDirectory -#define CreateDirectory error_use_qxeCreateDirectory_or_CreateDirectoryA_and_CreateDirectoryW -#endif -BOOL qxeCreateDirectory (const Extbyte * lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CreateDirectoryEx -#define CreateDirectoryEx error_use_qxeCreateDirectoryEx_or_CreateDirectoryExA_and_CreateDirectoryExW -#endif -BOOL qxeCreateDirectoryEx (const Extbyte * lpTemplateDirectory, const Extbyte * lpNewDirectory, LPSECURITY_ATTRIBUTES lpSecurityAttributes); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RemoveDirectory -#define RemoveDirectory error_use_qxeRemoveDirectory_or_RemoveDirectoryA_and_RemoveDirectoryW -#endif -BOOL qxeRemoveDirectory (const Extbyte * lpPathName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetFullPathName -#define GetFullPathName error_use_qxeGetFullPathName_or_GetFullPathNameA_and_GetFullPathNameW -#endif -DWORD qxeGetFullPathName (const Extbyte * lpFileName, DWORD nBufferLength, Extbyte * lpBuffer, Extbyte * * lpFilePart); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef DefineDosDevice -#define DefineDosDevice error_use_qxeDefineDosDevice_or_DefineDosDeviceA_and_DefineDosDeviceW -#endif -BOOL qxeDefineDosDevice (DWORD dwFlags, const Extbyte * lpDeviceName, const Extbyte * lpTargetPath); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef QueryDosDevice -#define QueryDosDevice error_use_qxeQueryDosDevice_or_QueryDosDeviceA_and_QueryDosDeviceW -#endif -DWORD qxeQueryDosDevice (const Extbyte * lpDeviceName, Extbyte * lpTargetPath, DWORD ucchMax); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CreateFile -#define CreateFile error_use_qxeCreateFile_or_CreateFileA_and_CreateFileW -#endif -HANDLE qxeCreateFile (const Extbyte * lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef SetFileAttributes -#define SetFileAttributes error_use_qxeSetFileAttributes_or_SetFileAttributesA_and_SetFileAttributesW -#endif -BOOL qxeSetFileAttributes (const Extbyte * lpFileName, DWORD dwFileAttributes); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetFileAttributes -#define GetFileAttributes error_use_qxeGetFileAttributes_or_GetFileAttributesA_and_GetFileAttributesW -#endif -DWORD qxeGetFileAttributes (const Extbyte * lpFileName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetFileAttributesEx -#define GetFileAttributesEx error_use_qxeGetFileAttributesEx_or_GetFileAttributesExA_and_GetFileAttributesExW -#endif -BOOL qxeGetFileAttributesEx (const Extbyte * lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetCompressedFileSize -#define GetCompressedFileSize error_use_qxeGetCompressedFileSize_or_GetCompressedFileSizeA_and_GetCompressedFileSizeW -#endif -DWORD qxeGetCompressedFileSize (const Extbyte * lpFileName, LPDWORD lpFileSizeHigh); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef DeleteFile -#define DeleteFile error_use_qxeDeleteFile_or_DeleteFileA_and_DeleteFileW -#endif -BOOL qxeDeleteFile (const Extbyte * lpFileName); - -#undef FindFirstFileEx -#define FindFirstFileEx error_split_sized_LPWIN32_FIND_DATA__not_used__NT_4_0__only - -/* Skipping FindFirstFile because split-sized LPWIN32_FIND_DATA */ - -/* Skipping FindNextFile because split-sized LPWIN32_FIND_DATA */ - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef SearchPath -#define SearchPath error_use_qxeSearchPath_or_SearchPathA_and_SearchPathW -#endif -DWORD qxeSearchPath (const Extbyte * lpPath, const Extbyte * lpFileName, const Extbyte * lpExtension, DWORD nBufferLength, Extbyte * lpBuffer, Extbyte * * lpFilePart); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CopyFile -#define CopyFile error_use_qxeCopyFile_or_CopyFileA_and_CopyFileW -#endif -BOOL qxeCopyFile (const Extbyte * lpExistingFileName, const Extbyte * lpNewFileName, BOOL bFailIfExists); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CopyFileEx -#define CopyFileEx error_use_qxeCopyFileEx_or_CopyFileExA_and_CopyFileExW -#endif -BOOL qxeCopyFileEx (const Extbyte * lpExistingFileName, const Extbyte * lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL pbCancel, DWORD dwCopyFlags); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef MoveFile -#define MoveFile error_use_qxeMoveFile_or_MoveFileA_and_MoveFileW -#endif -BOOL qxeMoveFile (const Extbyte * lpExistingFileName, const Extbyte * lpNewFileName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef MoveFileEx -#define MoveFileEx error_use_qxeMoveFileEx_or_MoveFileExA_and_MoveFileExW -#endif -BOOL qxeMoveFileEx (const Extbyte * lpExistingFileName, const Extbyte * lpNewFileName, DWORD dwFlags); - -#undef MoveFileWithProgress -#define MoveFileWithProgress error_NT_5_0__only - -#undef CreateHardLink -#define CreateHardLink error_NT_5_0__only - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CreateNamedPipe -#define CreateNamedPipe error_use_qxeCreateNamedPipe_or_CreateNamedPipeA_and_CreateNamedPipeW -#endif -HANDLE qxeCreateNamedPipe (const Extbyte * lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, DWORD nOutBufferSize, DWORD nInBufferSize, DWORD nDefaultTimeOut, LPSECURITY_ATTRIBUTES lpSecurityAttributes); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetNamedPipeHandleState -#define GetNamedPipeHandleState error_use_qxeGetNamedPipeHandleState_or_GetNamedPipeHandleStateA_and_GetNamedPipeHandleStateW -#endif -BOOL qxeGetNamedPipeHandleState (HANDLE hNamedPipe, LPDWORD lpState, LPDWORD lpCurInstances, LPDWORD lpMaxCollectionCount, LPDWORD lpCollectDataTimeout, Extbyte * lpUserName, DWORD nMaxUserNameSize); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CallNamedPipe -#define CallNamedPipe error_use_qxeCallNamedPipe_or_CallNamedPipeA_and_CallNamedPipeW -#endif -BOOL qxeCallNamedPipe (const Extbyte * lpNamedPipeName, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesRead, DWORD nTimeOut); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef WaitNamedPipe -#define WaitNamedPipe error_use_qxeWaitNamedPipe_or_WaitNamedPipeA_and_WaitNamedPipeW -#endif -BOOL qxeWaitNamedPipe (const Extbyte * lpNamedPipeName, DWORD nTimeOut); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef SetVolumeLabel -#define SetVolumeLabel error_use_qxeSetVolumeLabel_or_SetVolumeLabelA_and_SetVolumeLabelW -#endif -BOOL qxeSetVolumeLabel (const Extbyte * lpRootPathName, const Extbyte * lpVolumeName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetVolumeInformation -#define GetVolumeInformation error_use_qxeGetVolumeInformation_or_GetVolumeInformationA_and_GetVolumeInformationW -#endif -BOOL qxeGetVolumeInformation (const Extbyte * lpRootPathName, Extbyte * lpVolumeNameBuffer, DWORD nVolumeNameSize, LPDWORD lpVolumeSerialNumber, LPDWORD lpMaximumComponentLength, LPDWORD lpFileSystemFlags, Extbyte * lpFileSystemNameBuffer, DWORD nFileSystemNameSize); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef ClearEventLog -#define ClearEventLog error_use_qxeClearEventLog_or_ClearEventLogA_and_ClearEventLogW -#endif -BOOL qxeClearEventLog (HANDLE hEventLog, const Extbyte * lpBackupFileName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef BackupEventLog -#define BackupEventLog error_use_qxeBackupEventLog_or_BackupEventLogA_and_BackupEventLogW -#endif -BOOL qxeBackupEventLog (HANDLE hEventLog, const Extbyte * lpBackupFileName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef OpenEventLog -#define OpenEventLog error_use_qxeOpenEventLog_or_OpenEventLogA_and_OpenEventLogW -#endif -HANDLE qxeOpenEventLog (const Extbyte * lpUNCServerName, const Extbyte * lpSourceName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef RegisterEventSource -#define RegisterEventSource error_use_qxeRegisterEventSource_or_RegisterEventSourceA_and_RegisterEventSourceW -#endif -HANDLE qxeRegisterEventSource (const Extbyte * lpUNCServerName, const Extbyte * lpSourceName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef OpenBackupEventLog -#define OpenBackupEventLog error_use_qxeOpenBackupEventLog_or_OpenBackupEventLogA_and_OpenBackupEventLogW -#endif -HANDLE qxeOpenBackupEventLog (const Extbyte * lpUNCServerName, const Extbyte * lpFileName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef ReadEventLog -#define ReadEventLog error_use_qxeReadEventLog_or_ReadEventLogA_and_ReadEventLogW -#endif -BOOL qxeReadEventLog (HANDLE hEventLog, DWORD dwReadFlags, DWORD dwRecordOffset, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, DWORD * pnBytesRead, DWORD * pnMinNumberOfBytesNeeded); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef ReportEvent -#define ReportEvent error_use_qxeReportEvent_or_ReportEventA_and_ReportEventW -#endif -BOOL qxeReportEvent (HANDLE hEventLog, WORD wType, WORD wCategory, DWORD dwEventID, PSID lpUserSid, WORD wNumStrings, DWORD dwDataSize, const Extbyte * * lpStrings, LPVOID lpRawData); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef AccessCheckAndAuditAlarm -#define AccessCheckAndAuditAlarm error_use_qxeAccessCheckAndAuditAlarm_or_AccessCheckAndAuditAlarmA_and_AccessCheckAndAuditAlarmW -#endif -BOOL qxeAccessCheckAndAuditAlarm (const Extbyte * SubsystemName, LPVOID HandleId, Extbyte * ObjectTypeName, Extbyte * ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, DWORD DesiredAccess, PGENERIC_MAPPING GenericMapping, BOOL ObjectCreation, LPDWORD GrantedAccess, LPBOOL AccessStatus, LPBOOL pfGenerateOnClose); - -#undef AccessCheckByTypeAndAuditAlarm -#define AccessCheckByTypeAndAuditAlarm error_NT_5_0__only - -#undef AccessCheckByTypeResultListAndAuditAlarm -#define AccessCheckByTypeResultListAndAuditAlarm error_NT_5_0__only - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef ObjectOpenAuditAlarm -#define ObjectOpenAuditAlarm error_use_qxeObjectOpenAuditAlarm_or_ObjectOpenAuditAlarmA_and_ObjectOpenAuditAlarmW -#endif -BOOL qxeObjectOpenAuditAlarm (const Extbyte * SubsystemName, LPVOID HandleId, Extbyte * ObjectTypeName, Extbyte * ObjectName, PSECURITY_DESCRIPTOR pSecurityDescriptor, HANDLE ClientToken, DWORD DesiredAccess, DWORD GrantedAccess, PPRIVILEGE_SET Privileges, BOOL ObjectCreation, BOOL AccessGranted, LPBOOL GenerateOnClose); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef ObjectPrivilegeAuditAlarm -#define ObjectPrivilegeAuditAlarm error_use_qxeObjectPrivilegeAuditAlarm_or_ObjectPrivilegeAuditAlarmA_and_ObjectPrivilegeAuditAlarmW -#endif -BOOL qxeObjectPrivilegeAuditAlarm (const Extbyte * SubsystemName, LPVOID HandleId, HANDLE ClientToken, DWORD DesiredAccess, PPRIVILEGE_SET Privileges, BOOL AccessGranted); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef ObjectCloseAuditAlarm -#define ObjectCloseAuditAlarm error_use_qxeObjectCloseAuditAlarm_or_ObjectCloseAuditAlarmA_and_ObjectCloseAuditAlarmW -#endif -BOOL qxeObjectCloseAuditAlarm (const Extbyte * SubsystemName, LPVOID HandleId, BOOL GenerateOnClose); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef ObjectDeleteAuditAlarm -#define ObjectDeleteAuditAlarm error_use_qxeObjectDeleteAuditAlarm_or_ObjectDeleteAuditAlarmA_and_ObjectDeleteAuditAlarmW -#endif -BOOL qxeObjectDeleteAuditAlarm (const Extbyte * SubsystemName, LPVOID HandleId, BOOL GenerateOnClose); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef PrivilegedServiceAuditAlarm -#define PrivilegedServiceAuditAlarm error_use_qxePrivilegedServiceAuditAlarm_or_PrivilegedServiceAuditAlarmA_and_PrivilegedServiceAuditAlarmW -#endif -BOOL qxePrivilegedServiceAuditAlarm (const Extbyte * SubsystemName, const Extbyte * ServiceName, HANDLE ClientToken, PPRIVILEGE_SET Privileges, BOOL AccessGranted); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef SetFileSecurity -#define SetFileSecurity error_use_qxeSetFileSecurity_or_SetFileSecurityA_and_SetFileSecurityW -#endif -BOOL qxeSetFileSecurity (const Extbyte * lpFileName, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetFileSecurity -#define GetFileSecurity error_use_qxeGetFileSecurity_or_GetFileSecurityA_and_GetFileSecurityW -#endif -BOOL qxeGetFileSecurity (const Extbyte * lpFileName, SECURITY_INFORMATION RequestedInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD nLength, LPDWORD lpnLengthNeeded); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef FindFirstChangeNotification -#define FindFirstChangeNotification error_use_qxeFindFirstChangeNotification_or_FindFirstChangeNotificationA_and_FindFirstChangeNotificationW -#endif -HANDLE qxeFindFirstChangeNotification (const Extbyte * lpPathName, BOOL bWatchSubtree, DWORD dwNotifyFilter); - -#undef ReadDirectoryChanges -#define ReadDirectoryChanges error_Unicode_only - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef IsBadStringPtr -#define IsBadStringPtr error_use_qxeIsBadStringPtr_or_IsBadStringPtrA_and_IsBadStringPtrW -#endif -BOOL qxeIsBadStringPtr (const Extbyte * lpsz, UINT ucchMax); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef LookupAccountSid -#define LookupAccountSid error_use_qxeLookupAccountSid_or_LookupAccountSidA_and_LookupAccountSidW -#endif -BOOL qxeLookupAccountSid (const Extbyte * lpSystemName, PSID Sid, Extbyte * Name, LPDWORD cbName, Extbyte * ReferencedDomainName, LPDWORD cbReferencedDomainName, PSID_NAME_USE peUse); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef LookupAccountName -#define LookupAccountName error_use_qxeLookupAccountName_or_LookupAccountNameA_and_LookupAccountNameW -#endif -BOOL qxeLookupAccountName (const Extbyte * lpSystemName, const Extbyte * lpAccountName, PSID Sid, LPDWORD cbSid, Extbyte * ReferencedDomainName, LPDWORD cbReferencedDomainName, PSID_NAME_USE peUse); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef LookupPrivilegeValue -#define LookupPrivilegeValue error_use_qxeLookupPrivilegeValue_or_LookupPrivilegeValueA_and_LookupPrivilegeValueW -#endif -BOOL qxeLookupPrivilegeValue (const Extbyte * lpSystemName, const Extbyte * lpName, PLUID lpLuid); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef LookupPrivilegeName -#define LookupPrivilegeName error_use_qxeLookupPrivilegeName_or_LookupPrivilegeNameA_and_LookupPrivilegeNameW -#endif -BOOL qxeLookupPrivilegeName (const Extbyte * lpSystemName, PLUID lpLuid, Extbyte * lpName, LPDWORD cbName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef LookupPrivilegeDisplayName -#define LookupPrivilegeDisplayName error_use_qxeLookupPrivilegeDisplayName_or_LookupPrivilegeDisplayNameA_and_LookupPrivilegeDisplayNameW -#endif -BOOL qxeLookupPrivilegeDisplayName (const Extbyte * lpSystemName, const Extbyte * lpName, Extbyte * lpDisplayName, LPDWORD cbDisplayName, LPDWORD lpLanguageId); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef BuildCommDCB -#define BuildCommDCB error_use_qxeBuildCommDCB_or_BuildCommDCBA_and_BuildCommDCBW -#endif -BOOL qxeBuildCommDCB (const Extbyte * lpDef, LPDCB lpDCB); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef BuildCommDCBAndTimeouts -#define BuildCommDCBAndTimeouts error_use_qxeBuildCommDCBAndTimeouts_or_BuildCommDCBAndTimeoutsA_and_BuildCommDCBAndTimeoutsW -#endif -BOOL qxeBuildCommDCBAndTimeouts (const Extbyte * lpDef, LPDCB lpDCB, LPCOMMTIMEOUTS lpCommTimeouts); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CommConfigDialog -#define CommConfigDialog error_use_qxeCommConfigDialog_or_CommConfigDialogA_and_CommConfigDialogW -#endif -BOOL qxeCommConfigDialog (const Extbyte * lpszName, HWND hWnd, LPCOMMCONFIG lpCC); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetDefaultCommConfig -#define GetDefaultCommConfig error_use_qxeGetDefaultCommConfig_or_GetDefaultCommConfigA_and_GetDefaultCommConfigW -#endif -BOOL qxeGetDefaultCommConfig (const Extbyte * lpszName, LPCOMMCONFIG lpCC, LPDWORD lpdwSize); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef SetDefaultCommConfig -#define SetDefaultCommConfig error_use_qxeSetDefaultCommConfig_or_SetDefaultCommConfigA_and_SetDefaultCommConfigW -#endif -BOOL qxeSetDefaultCommConfig (const Extbyte * lpszName, LPCOMMCONFIG lpCC, DWORD dwSize); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetComputerName -#define GetComputerName error_use_qxeGetComputerName_or_GetComputerNameA_and_GetComputerNameW -#endif -BOOL qxeGetComputerName (Extbyte * lpBuffer, LPDWORD nSize); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef SetComputerName -#define SetComputerName error_use_qxeSetComputerName_or_SetComputerNameA_and_SetComputerNameW -#endif -BOOL qxeSetComputerName (const Extbyte * lpComputerName); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetUserName -#define GetUserName error_use_qxeGetUserName_or_GetUserNameA_and_GetUserNameW -#endif -BOOL qxeGetUserName (Extbyte * lpBuffer, LPDWORD nSize); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef LogonUser -#define LogonUser error_use_qxeLogonUser_or_LogonUserA_and_LogonUserW -#endif -BOOL qxeLogonUser (Extbyte * lpszUsername, Extbyte * lpszDomain, Extbyte * lpszPassword, DWORD dwLogonType, DWORD dwLogonProvider, PHANDLE phToken); - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef CreateProcessAsUser -#define CreateProcessAsUser error_use_qxeCreateProcessAsUser_or_CreateProcessAsUserA_and_CreateProcessAsUserW -#endif -BOOL qxeCreateProcessAsUser (HANDLE hToken, const Extbyte * lpApplicationName, Extbyte * lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, const Extbyte * lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation); - -#undef GetCurrentHwProfile -#define GetCurrentHwProfile error_split_sized_LPHW_PROFILE_INFO__NT_4_0__only - -#undef GetVersionEx -#define GetVersionEx error_split_sized_LPOSVERSIONINFO - -#undef CreateJobObject -#define CreateJobObject error_NT_5_0__only - -#undef OpenJobObject -#define OpenJobObject error_NT_5_0__only - - -/* Processing file ACLAPI.h */ - -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED -#undef GetNamedSecurityInfo -#define GetNamedSecurityInfo error_use_qxeGetNamedSecurityInfo_or_GetNamedSecurityInfoA_and_GetNamedSecurityInfoW -#endif -DWORD qxeGetNamedSecurityInfo (IN Extbyte * pObjectName, IN SE_OBJECT_TYPE ObjectType, IN SECURITY_INFORMATION SecurityInfo, OUT PSID * ppsidOowner, OUT PSID * ppsidGroup, OUT PACL * ppDacl, OUT PACL * ppSacl, OUT PSECURITY_DESCRIPTOR * ppSecurityDescriptor); - +BOOL qxemciGetErrorString (MCIERROR arg1, Extbyte * arg2, UINT arg3); +
--- a/src/intl-encap-win32.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/intl-encap-win32.c Sun Jan 24 22:06:20 2010 -0600 @@ -1,5 +1,5 @@ /* Unicode-encapsulation of Win32 library functions. - Copyright (C) 2000, 2001, 2002, 2004 Ben Wing. + Copyright (C) 2000, 2001, 2002, 2004, 2010 Ben Wing. This file is part of XEmacs. @@ -56,6 +56,9 @@ no indicates a function we don't support (it will be #defined to cause a compile error, with the text after the function included in the erroneous definition to indicate why we don't support it). +review indicates a function that we still need to review to determine whether + or how to support it. This has the same effect as `no', with a comment + indicating that the function needs review. skip indicates a function we support manually; only a comment about this will be generated. split indicates a function with a split structure (different versions @@ -103,6 +106,25 @@ file ACLAPI.h yes GetNamedSecurityInfo +review BuildExplicitAccessWithName +review BuildSecurityDescriptor +review BuildTrusteeWithName +review BuildTrusteeWithObjectsAndName +review BuildTrusteeWithObjectsAndSid +review BuildTrusteeWithSid +review GetAuditedPermissionsFromAcl +review GetEffectiveRightsFromAcl +review GetExplicitEntriesFromAcl +review GetTrusteeForm +review GetTrusteeName +review GetTrusteeType +review LookupSecurityDescriptorParts +review SetEntriesInAcl +review SetNamedSecurityInfo +review BuildImpersonateExplicitAccessWithName +review BuildImpersonateTrustee +review GetMultipleTrustee +review GetMultipleTrusteeOperation file WINBASE.H @@ -251,6 +273,34 @@ no GetVersionEx split-sized LPOSVERSIONINFO no CreateJobObject NT 5.0+ only no OpenJobObject NT 5.0+ only +review CheckNameLegalDOS8Dot3 +review CreateActCtx +review CreateProcessWithLogon +review DeleteVolumeMountPoint +review DnsHostnameToComputerName +review FileEncryptionStatus +review FindActCtxSectionString +review FindFirstVolume +review FindFirstVolumeMountPoint +review FindNextVolume +review FindNextVolumeMountPoint +review GetFirmwareEnvironmentVariable +review GetComputerNameEx +review GetDllDirectory +review GetModuleHandleEx +review GetSystemWindowsDirectory +review GetSystemWow64Directory +review GetVolumeNameForVolumeMountPoint +review GetVolumePathName +review GetVolumePathNamesForVolumeName +review QueryActCtx +review ReplaceFile +review SetComputerNameEx +review SetDllDirectory +review SetFileShortName +review SetFirmwareEnvironmentVariable +review SetVolumeMountPoint +review VerifyVersionInfo file WINUSER.H @@ -355,7 +405,8 @@ yes GetWindowTextLength yes MessageBox yes MessageBoxEx -split MessageBoxIndirect LPMSGBOXPARAMS NT 4.0+ only +// split MessageBoxIndirect LPMSGBOXPARAMS NT 4.0+ only +no MessageBoxIndirect Cygwin has split MSGBOXPARAMS* instead of LPMSGBOXPARAMS yes GetWindowLong yes SetWindowLong yes GetClassLong @@ -378,7 +429,6 @@ yes DlgDirSelectComboBoxEx yes DefFrameProc no DefMDIChildProc return value is conditionalized on _MAC, messes up parser - yes CreateMDIWindow yes WinHelp no ChangeDisplaySettings split-sized LPDEVMODE @@ -390,9 +440,17 @@ no GetWindowModuleFileName NT 5.0+ only no RealGetWindowClass NT 5.0+ only no GetAltTabInfo NT 5.0+ only +review BroadcastSystemMessageEx +review EnumDisplaySettingsEx +review GetClassLongPtr +review GetRawInputDeviceInfo +review GetWindowLongPtr +review SetClassLongPtr +review SetWindowLongPtr file WINGDI.H +begin-bracket defined (HAVE_MS_WINDOWS) // split-sized LOGCOLORSPACE // split-sized TEXTMETRIC // split-sized NEWTEXTMETRIC @@ -467,6 +525,7 @@ // Unicode-only EMREXTCREATEFONTINDIRECTW no wglUseFontBitmaps causes link error no wglUseFontOutlines causes link error +end-bracket file WINSPOOL.H @@ -533,6 +592,7 @@ no DeletePrintProvidor not used, complicated interface with split structures no SetPrinterHTMLView not used, complicated interface with split structures no GetPrinterHTMLView not used, complicated interface with split structures +review GetDefaultPrinter end-bracket file SHELLAPI.H @@ -762,6 +822,7 @@ file COMMDLG.H +begin-bracket defined (HAVE_MS_WINDOWS) split GetOpenFileName LPOPENFILENAME split GetSaveFileName LPOPENFILENAME yes GetFileTitle @@ -782,6 +843,8 @@ // FINDMSGSTRING skip PrintDlg LPPRINTDLG with split-sized DEVMODE handle skip PageSetupDlg LPPAGESETUPDLG with split-sized DEVMODE handle +review PrintDlgEx +end-bracket file DDE.H @@ -871,9 +934,12 @@ // split-simple function pointer PFNPROCESSPOLICIES yes WNetGetLastError split MultinetGetConnectionPerformance LPNETRESOURCE +review WNetSetConnection +review WNetGetResourceInformation +review WNetGetResourceParent end-bracket -file IME.H +// file IME.H -- doesn't exist under Cygwin no SendIMEMessageEx obsolete, no docs available @@ -918,6 +984,10 @@ // split flag SHCNF_PRINTER; we intercept SHChangeNotify // split flag SHARD_PATH; we intercept SHAddToRecentDocs skip SHGetDataFromIDList split-sized WIN32_FIND_DATA or split-simple NETRESOURCE, missing from Cygwin libraries +review SHGetFolderPath +review SHGetIconOverlayIndex +review SHCreateDirectoryEx +review SHGetFolderPathAndSubDir file WINNLS.H @@ -947,6 +1017,12 @@ no FoldString not used, not examined yet no EnumSystemLocales not used, not examined yet no EnumSystemCodePages not used, not examined yet +review GetCalendarInfo +review GetGeoInfo +review SetCalendarInfo +review EnumSystemLanguageGroups +review EnumLanguageGroupLocales +review EnumUILanguages end-unicode-encapsulation-script @@ -1002,6 +1078,7 @@ yes RegUnLoadKey yes InitiateSystemShutdown yes AbortSystemShutdown +review RegDeleteKeyEx file EXCPT.H @@ -1195,6 +1272,8 @@ return (UINT) ExtractIconExA ((LPCSTR) lpszFile, nIconIndex, phiconLarge, phiconSmall, nIcons); } +#ifdef HAVE_MS_WINDOWS + /* NOTE: NT 4.0+ only */ BOOL qxeGetICMProfile (HDC arg1, LPDWORD arg2, Extbyte * arg3) @@ -1231,6 +1310,8 @@ #endif /* CYGWIN_HEADERS */ } +#endif /* HAVE_MS_WINDOWS */ + #ifndef CYGWIN /* present in headers but missing in shell32.a */ BOOL
--- a/src/intl-win32.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/intl-win32.c Sun Jan 24 22:06:20 2010 -0600 @@ -85,7 +85,7 @@ struct lang_to_string { int code; - char *string; + const Ascbyte *string; }; struct lang_to_string lang_to_string_table[] =
--- a/src/lisp.h Sun Jan 24 19:56:31 2010 +0000 +++ b/src/lisp.h Sun Jan 24 22:06:20 2010 -0600 @@ -106,6 +106,10 @@ #include <stddef.h> /* offsetof */ #include <sys/types.h> #include <limits.h> +#ifdef __cplusplus +#include <limits> /* necessary for max()/min() under G++ 4 */ +#endif + /* -------------------------- error-checking ------------------------ */ @@ -1261,8 +1265,9 @@ no effects. We keep this abstracted out like this in case we want to change it in the future. */ #define disabled_assert(x) ((void) (x)) -#define disabled_assert_with_message(x, msg) disabled_assert (x) -#define disabled_assert_at_line(x, file, line) disabled_assert (x) +#define disabled_assert_with_message(x, msg) ((void) msg, disabled_assert (x)) +#define disabled_assert_at_line(x, file, line) \ + ((void) file, (void) line, disabled_assert (x)) #ifdef USE_ASSERTIONS # define assert(x) ((x) ? (void) 0 : assert_failed (__FILE__, __LINE__, #x)) @@ -1270,18 +1275,14 @@ ((x) ? (void) 0 : assert_failed (__FILE__, __LINE__, msg)) # define assert_at_line(x, file, line) \ ((x) ? (void) 0 : assert_failed (file, line, #x)) -#elif defined (DEBUG_XEMACS) -# define assert(x) ((x) ? (void) 0 : (void) ABORT ()) -# define assert_with_message(x, msg) assert (x) -# define assert_at_line(x, file, line) assert (x) #else /* This used to be ((void) (0)) but that triggers lots of unused variable warnings. It's pointless to force all that code to be rewritten, with added ifdefs. Any reasonable compiler will eliminate an expression with no effects. */ -# define assert(x) ((void) (x)) -# define assert_with_message(x, msg) assert (x) -# define assert_at_line(x, file, line) assert (x) +# define assert(x) disabled_assert (x) +# define assert_with_message(x, msg) disabled_assert_with_message (x, msg) +# define assert_at_line(x, file, line) disabled_assert_at_line (x, file, line) #endif /************************************************************************/ @@ -1771,11 +1772,7 @@ assert_at_line (pos >= 0 && pos < dy->largest, file, line); return pos; } -#else -#define Dynarr_verify_pos(d, pos, file, line) (pos) -#endif /* ERROR_CHECK_TYPES */ - -#ifdef ERROR_CHECK_TYPES + DECLARE_INLINE_HEADER ( int Dynarr_verify_pos_atp (void *d, int pos, const Ascbyte *file, int line) @@ -1848,12 +1845,19 @@ #define Dynarr_new2(dynarr_type, type) \ ((dynarr_type *) Dynarr_newf (sizeof (type))) +#ifdef ERROR_CHECK_TYPES_GCC_NOT_BROKEN +/* Enabling this leads to crashes in Cygwin 1.7, gcc 3.4.4 */ #define Dynarr_at(d, pos) \ ((d)->base[Dynarr_verify_pos_at (d, pos, __FILE__, __LINE__)]) #define Dynarr_atp_allow_end(d, pos) \ (&((d)->base[Dynarr_verify_pos_atp_allow_end (d, pos, __FILE__, __LINE__)])) #define Dynarr_atp(d, pos) \ (&((d)->base[Dynarr_verify_pos_atp (d, pos, __FILE__, __LINE__)])) +#else +#define Dynarr_at(d, pos) ((d)->base[pos]) +#define Dynarr_atp(d, pos) (&Dynarr_at (d, pos)) +#define Dynarr_atp_allow_end(d, pos) Dynarr_atp (d, pos) +#endif /* Old #define Dynarr_atp(d, pos) (&Dynarr_at (d, pos)) */ #define Dynarr_begin(d) Dynarr_atp (d, 0) @@ -4386,6 +4390,8 @@ DECLARE_DOESNT_RETURN (invalid_byte_code (const CIbyte *reason, Lisp_Object frob)); +extern Lisp_Object Qbyte_code, Qinvalid_byte_code; + /* Defined in callint.c */ EXFUN (Fcall_interactively, 3); EXFUN (Fprefix_numeric_value, 1); @@ -4465,6 +4471,26 @@ Lisp_Object word_to_lisp (unsigned int); unsigned int lisp_to_word (Lisp_Object); +extern Lisp_Object Qarrayp, Qbitp, Qchar_or_string_p, Qcharacterp, + Qerror_conditions, Qerror_message, Qinteger_char_or_marker_p, + Qinteger_or_char_p, Qinteger_or_marker_p, Qlambda, Qlistp, Qnatnump, + Qnonnegativep, Qnumber_char_or_marker_p, Qnumberp, Qquote, Qtrue_list_p; +extern MODULE_API Lisp_Object Qintegerp; + +extern Lisp_Object Qarith_error, Qbeginning_of_buffer, Qbuffer_read_only, + Qcircular_list, Qcircular_property_list, Qconversion_error, + Qcyclic_variable_indirection, Qdomain_error, Qediting_error, + Qend_of_buffer, Qend_of_file, Qerror, Qfile_error, Qinternal_error, + Qinvalid_change, Qinvalid_constant, Qinvalid_function, Qinvalid_operation, + Qinvalid_read_syntax, Qinvalid_state, Qio_error, Qlist_formation_error, + Qmalformed_list, Qmalformed_property_list, Qno_catch, Qout_of_memory, + Qoverflow_error, Qprinting_unreadable_object, Qquit, Qrange_error, + Qsetting_constant, Qsingularity_error, Qstack_overflow, + Qstructure_formation_error, Qtext_conversion_error, Qunderflow_error, + Qvoid_function, Qvoid_variable, Qwrong_number_of_arguments, + Qwrong_type_argument; +extern MODULE_API Lisp_Object Qinvalid_argument, Qsyntax_error; + /* Defined in dired.c */ Lisp_Object make_directory_hash_table (const Ibyte *); Lisp_Object wasteful_word_to_lisp (unsigned int); @@ -5318,6 +5344,7 @@ void ulong_to_bit_string (char *, unsigned long); extern int print_escape_newlines; extern MODULE_API int print_readably; +extern int in_debug_print; Lisp_Object internal_with_output_to_temp_buffer (Lisp_Object, Lisp_Object (*) (Lisp_Object), Lisp_Object, Lisp_Object); @@ -5925,62 +5952,31 @@ */ -extern Lisp_Object Qactivate_menubar_hook, Qand_optional, Qand_rest; -extern Lisp_Object Qarith_error, Qarrayp, Qautoload, Qbackground; -extern Lisp_Object Qbackground_pixmap, Qbeginning_of_buffer, Qbitp, Qblinking; -extern Lisp_Object Qbuffer_glyph_p, Qbuffer_live_p, Qbuffer_read_only; -extern Lisp_Object Qbyte_code, Qcall_interactively, Qcategory_designator_p; -extern Lisp_Object Qcategory_table_value_p, Qcdr, Qchar_or_string_p; -extern Lisp_Object Qcharacterp, Qcircular_list, Qcircular_property_list; -extern Lisp_Object Qcolor_pixmap_image_instance_p, Qcommandp; -extern Lisp_Object Qcompletion_ignore_case, Qconsole_live_p, Qconst_specifier; -extern Lisp_Object Qconversion_error, Qcurrent_menubar; -extern Lisp_Object Qcyclic_variable_indirection, Qdefun, Qdevice_live_p, Qdim; -extern Lisp_Object Qdirection, Qdisabled, Qdisabled_command_hook; -extern Lisp_Object Qdisplay_table, Qdll_error, Qdomain_error, Qediting_error; -extern Lisp_Object Qend_of_buffer, Qend_of_file, Qend_open, Qerror; -extern Lisp_Object Qerror_conditions, Qerror_lacks_explanatory_string; -extern Lisp_Object Qerror_message, Qevent_live_p, Qexit, Qextent_live_p; -extern Lisp_Object Qexternal_debugging_output, Qfeaturep, Qfile_error; -extern Lisp_Object Qfile_name_sans_extension, Qfinal; -extern Lisp_Object Qforeground, Qformat, Qframe_live_p, Qgraphic; -extern Lisp_Object Qgui_error, Qicon_glyph_p, Qidentity, Qinhibit_quit; -extern Lisp_Object Qinhibit_read_only, Qinteger_char_or_marker_p; -extern Lisp_Object Qinteger_or_char_p, Qinteger_or_marker_p; -extern Lisp_Object Qinteractive, Qinternal_error; -extern Lisp_Object Qinvalid_byte_code, Qinvalid_change, Qinvalid_constant; -extern Lisp_Object Qinvalid_function, Qinvalid_operation; -extern Lisp_Object Qinvalid_read_syntax, Qinvalid_state, Qio_error, Qlambda; -extern Lisp_Object Qlayout, Qlist_formation_error, Qlistp, Qload; -extern Lisp_Object Qlong_name, Qmacro, Qmakunbound, Qmalformed_list; -extern Lisp_Object Qmalformed_property_list, Qmark, Qmodule; -extern Lisp_Object Qmono_pixmap_image_instance_p, Qmouse_leave_buffer_hook; -extern Lisp_Object Qnative_layout, Qnatnump, Qnetwork_error, Qno_catch; -extern Lisp_Object Qnonnegativep, Qnothing_image_instance_p; -extern Lisp_Object Qnumber_char_or_marker_p, Qnumberp, Qout_of_memory; -extern Lisp_Object Qoverflow_error, Qpoint, Qpointer_glyph_p; -extern Lisp_Object Qpointer_image_instance_p, Qprint_length; -extern Lisp_Object Qprint_string_length, Qprinting_unreadable_object; -extern Lisp_Object Qprogn, Qquit, Qquote, Qrange_error; -extern Lisp_Object Qread_char, Qread_from_minibuffer; -extern Lisp_Object Qreally_early_error_handler, Qregion_beginning; -extern Lisp_Object Qregion_end, Qregistries, Qreverse_direction_charset; -extern Lisp_Object Qrun_hooks, Qsans_modifiers, Qsave_buffers_kill_emacs; -extern Lisp_Object Qself_insert_command, Qself_insert_defer_undo, Qsequencep; -extern Lisp_Object Qset, Qsetting_constant, Qshort_name, Qsingularity_error; -extern Lisp_Object Qsound_error, Qstack_overflow, Qstandard_input; -extern Lisp_Object Qstandard_output, Qstart_open, Qstring_lessp; -extern Lisp_Object Qstructure_formation_error, Qsubwindow; -extern Lisp_Object Qsubwindow_image_instance_p; -extern Lisp_Object Qtext_conversion_error, Qtext_image_instance_p, Qtop_level; -extern Lisp_Object Qtrue_list_p, Qunderflow_error, Qunderline; -extern Lisp_Object Quser_files_and_directories, Qvalues; -extern Lisp_Object Qvariable_documentation, Qvariable_domain, Qvoid_function; -extern Lisp_Object Qvoid_variable, Qwindow_live_p, Qwrong_number_of_arguments; -extern Lisp_Object Qwrong_type_argument, Qyes_or_no_p; - -extern MODULE_API Lisp_Object Qintegerp, Qinvalid_argument, Qprocess_error; -extern MODULE_API Lisp_Object Qsyntax_error, Qt, Qunbound; +extern Lisp_Object Qactivate_menubar_hook, Qand_optional, Qand_rest, Qautoload, + Qbackground, Qbackground_pixmap, Qblinking, Qbuffer_glyph_p, Qbuffer_live_p, + Qcall_interactively, Qcategory_designator_p, + Qcategory_table_value_p, Qcdr, Qcolor_pixmap_image_instance_p, Qcommandp, + Qcompletion_ignore_case, Qconsole_live_p, Qconst_specifier, Qcurrent_menubar, + Qdefun, Qdevice_live_p, Qdim, Qdirection, Qdisabled, Qdisabled_command_hook, + Qdisplay_table, Qdll_error, Qend_open, Qerror_lacks_explanatory_string, + Qevent_live_p, Qexit, Qextent_live_p, Qexternal_debugging_output, Qfeaturep, + Qfile_error, Qfile_name_sans_extension, Qfinal, Qforeground, Qformat, + Qframe_live_p, Qgraphic, Qgui_error, Qicon_glyph_p, Qidentity, Qinhibit_quit, + Qinhibit_read_only, Qinteractive, Qlayout, Qload, Qlong_name, Qmacro, + Qmakunbound, Qmark, Qmodule, Qmono_pixmap_image_instance_p, + Qmouse_leave_buffer_hook, Qnative_layout, Qnetwork_error, + Qnothing_image_instance_p, Qpoint, Qpointer_glyph_p, + Qpointer_image_instance_p, Qprint_length, Qprint_string_length, Qprogn, + Qread_char, Qread_from_minibuffer, Qreally_early_error_handler, + Qregion_beginning, Qregion_end, Qregistries, Qreverse_direction_charset, + Qrun_hooks, Qsans_modifiers, Qsave_buffers_kill_emacs, Qself_insert_command, + Qself_insert_defer_undo, Qsequencep, Qset, Qshort_name, Qsound_error, + Qstandard_input, Qstandard_output, Qstart_open, Qstring_lessp, Qsubwindow, + Qsubwindow_image_instance_p, Qtext_image_instance_p, Qtop_level, Qunderline, + Quser_files_and_directories, Qvalues, Qvariable_documentation, + Qvariable_domain, Qwindow_live_p, Qyes_or_no_p; + +extern MODULE_API Lisp_Object Qprocess_error, Qt, Qunbound; #define SYMBOL(fou) extern Lisp_Object fou #define SYMBOL_MODULE_API(fou) extern MODULE_API Lisp_Object fou
--- a/src/lrecord.h Sun Jan 24 19:56:31 2010 +0000 +++ b/src/lrecord.h Sun Jan 24 22:06:20 2010 -0600 @@ -1,6 +1,6 @@ /* The "lrecord" structure (header of a compound lisp object). Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc. - Copyright (C) 1996, 2001, 2002, 2004, 2005 Ben Wing. + Copyright (C) 1996, 2001, 2002, 2004, 2005, 2010 Ben Wing. This file is part of XEmacs. @@ -26,36 +26,16 @@ #ifndef INCLUDED_lrecord_h_ #define INCLUDED_lrecord_h_ -#ifdef NEW_GC -/* The "lrecord" type of Lisp object is used for all object types - other than a few simple ones (like char and int). This allows many - types to be implemented but only a few bits required in a Lisp - object for type information. (The tradeoff is that each object has - its type marked in it, thereby increasing its size.) All lrecords - begin with a `struct lrecord_header', which identifies the lisp - object type, by providing an index into a table of `struct - lrecord_implementation', which describes the behavior of the lisp - object. It also contains some other data bits. +/* The "lrecord" type of Lisp object is used for all object types other + than a few simple ones (like char and int). This allows many types to be + implemented but only a few bits required in a Lisp object for type + information. (The tradeoff is that each object has its type marked in + it, thereby increasing its size.) All lrecords begin with a `struct + lrecord_header', which identifies the lisp object type, by providing an + index into a table of `struct lrecord_implementation', which describes + the behavior of the lisp object. It also contains some other data bits. - Creating a new lrecord type is fairly easy; just follow the - lead of some existing type (e.g. hash tables). Note that you - do not need to supply all the methods (see below); reasonable - defaults are provided for many of them. Alternatively, if you're - just looking for a way of encapsulating data (which possibly - could contain Lisp_Objects in it), you may well be able to use - the opaque type. -*/ -#else /* not NEW_GC */ -/* The "lrecord" type of Lisp object is used for all object types - other than a few simple ones. This allows many types to be - implemented but only a few bits required in a Lisp object for type - information. (The tradeoff is that each object has its type marked - in it, thereby increasing its size.) All lrecords begin with a - `struct lrecord_header', which identifies the lisp object type, by - providing an index into a table of `struct lrecord_implementation', - which describes the behavior of the lisp object. It also contains - some other data bits. - +#ifndef NEW_GC Lrecords are of two types: straight lrecords, and lcrecords. Straight lrecords are used for those types of objects that have their own allocation routines (typically allocated out of 2K chunks @@ -70,16 +50,46 @@ Lcrecords have a `struct old_lcrecord_header' at the top, which contains a `struct lrecord_header' and a `next' pointer, and are allocated using old_alloc_lcrecord_type() or its variants. +#endif - Creating a new lcrecord type is fairly easy; just follow the + Creating a new Lisp object type is fairly easy; just follow the lead of some existing type (e.g. hash tables). Note that you do not need to supply all the methods (see below); reasonable defaults are provided for many of them. Alternatively, if you're just looking for a way of encapsulating data (which possibly could contain Lisp_Objects in it), you may well be able to use - the opaque type. --ben + the opaque type. */ -#endif /* not NEW_GC */ + +#ifdef NEW_GC +/* + There are some limitations under New-GC that lead to the creation of a + large number of new internal object types. I'm not completely sure what + all of them are, but they are at least partially related to limitations + on finalizers. Something else must be going on as well, because + non-dumpable, non-finalizable objects like devices and frames also have + their window-system-specific substructures converted into Lisp objects. + It must have something to do with the fact that these substructures + contain pointers to Lisp objects, but it's not completely clear why -- + object descriptions exist to indicate the size of these structures and + the Lisp object pointers within them. + + At least one definite issue is that under New-GC dumpable objects cannot + contain any finalizers (see pdump_register_object()). This means that any + substructures in dumpable objects that are allocated separately and + normally freed in a finalizer need instead to be made into actual Lisp + objects. If those structures are Dynarrs, they need to be made into + Dynarr Lisp objects (e.g. face-cachel-dynarr or glyph-cachel-dynarr), + which are created using Dynarr_lisp_new() or Dynarr_new_new2(). + Furthermore, the objects contained in the Dynarr also need to be Lisp + objects (e.g. face-cachel or glyph-cachel). + + --ben + */ + +#endif + + #ifdef NEW_GC #define ALLOC_LCRECORD_TYPE alloc_lrecord_type @@ -305,6 +315,7 @@ lrecord_type_undefined, /* only used for debugging */ #endif /* not NEW_GC */ #ifdef NEW_GC + /* See comment up top explaining why these extra object types must exist. */ lrecord_type_string_indirect_data, lrecord_type_string_direct_data, lrecord_type_hash_table_entry, @@ -370,14 +381,15 @@ used instead. */ void (*printer) (Lisp_Object, Lisp_Object printcharfun, int escapeflag); - /* `finalizer' is called at GC time when the object is about to - be freed, and at dump time (FOR_DISKSAVE will be non-zero in this - case). It should perform any necessary cleanup (e.g. freeing - malloc()ed memory). This can be NULL, meaning no special - finalization is necessary. + /* `finalizer' is called at GC time when the object is about to be freed, + and at dump time (FOR_DISKSAVE will be non-zero in this case). It + should perform any necessary cleanup (e.g. freeing malloc()ed memory + or releasing objects created in external libraries, such as + window-system windows or file handles). This can be NULL, meaning no + special finalization is necessary. - WARNING: remember that `finalizer' is called at dump time even - though the object is not being freed. */ + WARNING: remember that `finalizer' is called at dump time even though + the object is not being freed -- check the FOR_DISKSAVE argument. */ void (*finalizer) (void *header, int for_disksave); /* This can be NULL, meaning compare objects with EQ(). */
--- a/src/nas.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/nas.c Sun Jan 24 22:06:20 2010 -0600 @@ -187,7 +187,7 @@ { EMACS_SIGNAL (SIGPIPE, old_sigpipe); start_interrupts (); - return "error in NAS"; + return (Extbyte *) "error in NAS"; } #endif @@ -205,7 +205,7 @@ EMACS_SIGNAL (SIGPIPE, old_sigpipe); #endif if (err_message == NULL) - return "Can't connect to audio server"; + return (Extbyte *) "Can't connect to audio server"; else return err_message; }
--- a/src/number.h Sun Jan 24 19:56:31 2010 +0000 +++ b/src/number.h Sun Jan 24 22:06:20 2010 -0600 @@ -130,8 +130,7 @@ /********************************* Integers *********************************/ -extern Lisp_Object Qintegerp; - +/* Qintegerp in lisp.h */ #define INTEGERP(x) (INTP(x) || BIGNUMP(x)) #define CHECK_INTEGER(x) do { \ if (!INTEGERP (x)) \ @@ -285,7 +284,7 @@ EXFUN (Fbigfloatp, 1); /********************************* Floating *********************************/ -extern Lisp_Object Qfloatingp, Qbigfloat; +extern Lisp_Object Qfloatingp; extern Lisp_Object Qread_default_float_format, Vread_default_float_format; #define FLOATINGP(x) (FLOATP (x) || BIGFLOATP (x)) @@ -319,8 +318,7 @@ /********************************* Numbers **********************************/ -extern Lisp_Object Qnumberp; - +/* Qnumberp in lisp.h */ #define NUMBERP(x) REALP (x) #define CHECK_NUMBER(x) do { \ if (!NUMBERP (x)) \
--- a/src/objects-msw.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/objects-msw.c Sun Jan 24 22:06:20 2010 -0600 @@ -1837,6 +1837,8 @@ hfont = create_hfont_from_font_spec (namestr, hdc, name, device_font_list, errb, &truename); + if (!hfont) + return 0; f->truename = truename; f->data = xnew_and_zero (struct mswindows_font_instance_data); FONT_INSTANCE_MSWINDOWS_HFONT_VARIANT (f, 0, 0) = hfont;
--- a/src/objects-xlike-inc.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/objects-xlike-inc.c Sun Jan 24 22:06:20 2010 -0600 @@ -327,10 +327,10 @@ struct charset_reporter { Lisp_Object *charset; /* This is a debug facility, require ASCII. */ - Extbyte *language; /* ASCII, please */ + const Ascbyte *language; /* ASCII, please */ /* Technically this is FcChar8, but fsckin' GCC 4 bitches. RFC 3066 is a combination of ISO 639 and ISO 3166. */ - Extbyte *rfc3066; /* ASCII, please */ + const Ascbyte *rfc3066; /* ASCII, please */ }; static struct charset_reporter charset_table[] = @@ -424,7 +424,7 @@ FcPattern *fontxft; /* long-lived, freed at end of this block */ FcResult fcresult; FcConfig *fcc; - FcChar8 *lang = (FcChar8 *) "en"; /* #### fix this bogus hack! */ + const Ascbyte *lang = "en"; FcCharSet *fccs = NULL; DECLARE_EISTRING (eistr_shortname); /* user-friendly nickname */ DECLARE_EISTRING (eistr_longname); /* omit FC_LANG and FC_CHARSET */ @@ -541,15 +541,16 @@ { DECLARE_DEBUG_FONTNAME (name); CHECKING_LANG (0, eidata(name), cr->language); - lang = (FcChar8 *) cr->rfc3066; + lang = cr->rfc3066; } else if (cr->charset) { /* what the hey, build 'em on the fly */ /* #### in the case of error this could return NULL! */ fccs = mule_to_fc_charset (charset); - lang = (FcChar8 *) XSTRING_DATA (XSYMBOL - (XCHARSET_NAME (charset))-> name); + /* #### Bad idea here */ + lang = (const Ascbyte *) XSTRING_DATA (XSYMBOL (XCHARSET_NAME + (charset))->name); } else { @@ -562,7 +563,7 @@ It is why we never fall through to XLFD-checking. */ } - ASSERT_ASCTEXT_ASCII((Extbyte *) lang); + ASSERT_ASCTEXT_ASCII (lang); if (fccs) { @@ -621,7 +622,8 @@ FcTypeOfValueToString (v)); result = Qnil; } - else if (FcLangSetHasLang (v.u.l, lang) != FcLangDifferentLang) + else if (FcLangSetHasLang (v.u.l, (FcChar8 *) lang) + != FcLangDifferentLang) { DECLARE_DEBUG_FONTNAME (name); DEBUG_XFT2 (0, "Xft font %s supports %s\n",
--- a/src/print.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/print.c Sun Jan 24 22:06:20 2010 -0600 @@ -114,6 +114,9 @@ /* Force immediate output of all printed data. Used for debugging. */ int print_unbuffered; +/* Non-zero if in debug-printing */ +int in_debug_print; + FILE *termscript; /* Stdio stream being used for copy of all output. */ static void write_string_to_alternate_debugging_output (const Ibyte *str, @@ -127,6 +130,7 @@ int print_depth; int print_readably; int print_unbuffered; + int in_debug_print; int gc_currently_forbidden; Lisp_Object Vprint_length; Lisp_Object Vprint_level; @@ -2243,6 +2247,7 @@ print_depth = bindings->print_depth; print_readably = bindings->print_readably; print_unbuffered = bindings->print_unbuffered; + in_debug_print = bindings->in_debug_print; gc_currently_forbidden = bindings->gc_currently_forbidden; Vprint_length = bindings->Vprint_length; Vprint_level = bindings->Vprint_level; @@ -2270,6 +2275,7 @@ bindings->print_depth = print_depth; bindings->print_readably = print_readably; bindings->print_unbuffered = print_unbuffered; + bindings->in_debug_print = in_debug_print; bindings->gc_currently_forbidden = gc_currently_forbidden; bindings->Vprint_length = Vprint_length; bindings->Vprint_level = Vprint_level; @@ -2280,6 +2286,8 @@ print_depth = 0; print_readably = debug_print_readably != -1 ? debug_print_readably : 0; print_unbuffered++; + in_debug_print = 1; + gc_currently_forbidden = 1; if (debug_print_length > 0) Vprint_length = make_int (debug_print_length); if (debug_print_level > 0)
--- a/src/process.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/process.c Sun Jan 24 22:06:20 2010 -0600 @@ -2348,7 +2348,7 @@ */ (var, interactivep)) { - Ibyte *value; + Ibyte *value = NULL; Bytecount valuelen; Lisp_Object v = Qnil; struct gcpro gcpro1;
--- a/src/redisplay-gtk.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/redisplay-gtk.c Sun Jan 24 22:06:20 2010 -0600 @@ -23,491 +23,7 @@ /* Synched up with: Not in FSF. */ -/* Author: Chuck Thompson */ -/* Gtk flavor by William Perry */ - -/* Lots of work done by Ben Wing for Mule */ - -#include <config.h> -#include "lisp.h" - -#include "buffer.h" -#include "debug.h" -#include "device-impl.h" -#include "faces.h" -#include "file-coding.h" -#include "frame-impl.h" -#include "gutter.h" -#include "redisplay.h" -#include "sysdep.h" -#include "window.h" - -#include "console-gtk-impl.h" -#include "gccache-gtk.h" -#include "glyphs-gtk.h" -#include "objects-gtk-impl.h" - -#include "sysproc.h" /* for select() */ - -#ifdef MULE -#include "mule-ccl.h" -#endif - -#define CONST const - -#define EOL_CURSOR_WIDTH 5 - -static void gtk_output_pixmap (struct window *w, - Lisp_Object image_instance, - struct display_box *db, - struct display_glyph_area *dga, - face_index findex, - int cursor_start, - int cursor_width, - int cursor_height, - int bgpixmap); -static void gtk_output_vertical_divider (struct window *w, int clear); -static void gtk_output_blank (struct window *w, struct display_line *dl, - struct rune *rb, int start_pixpos, - int cursor_start, int cursor_width); -static void gtk_output_horizontal_line (struct window *w, - struct display_line *dl, - struct rune *rb); -static void gtk_clear_region (Lisp_Object locale, struct device* d, struct frame* f, - face_index findex, int x, int y, - int width, int height, Lisp_Object fcolor, Lisp_Object bcolor, - Lisp_Object background_pixmap); -static void gtk_output_eol_cursor (struct window *w, struct display_line *dl, - int xpos, face_index findex); -static void gtk_clear_frame (struct frame *f); -static void gtk_clear_frame_windows (Lisp_Object window); -static void gtk_bevel_modeline (struct window *w, struct display_line *dl); - -#if 0 -static void __describe_gc (GdkGC *); -#endif - -struct textual_run -{ - Lisp_Object charset; - unsigned char *ptr; - int len; - int dimension; -}; - -/* Separate out the text in DYN into a series of textual runs of a - particular charset. Also convert the characters as necessary into - the format needed by XDrawImageString(), XDrawImageString16(), et - al. (This means converting to one or two byte format, possibly - tweaking the high bits, and possibly running a CCL program.) You - must pre-allocate the space used and pass it in. (This is done so - you can ALLOCA () the space.) You need to allocate (2 * len) bytes - of TEXT_STORAGE and (len * sizeof (struct textual_run)) bytes of - RUN_STORAGE, where LEN is the length of the dynarr. - - Returns the number of runs actually used. */ - -static int -separate_textual_runs (unsigned char *text_storage, - struct textual_run *run_storage, - CONST Ichar *str, Charcount len) -{ - Lisp_Object prev_charset = Qunbound; /* not Qnil because that is a - possible valid charset when - MULE is not defined */ - int runs_so_far = 0; - int i; -#ifdef MULE - struct ccl_program char_converter; - int need_ccl_conversion = 0; -#endif - - for (i = 0; i < len; i++) - { - Ichar ch = str[i]; - Lisp_Object charset; - int byte1, byte2; - int dimension; - int graphic; - - BREAKUP_ICHAR (ch, charset, byte1, byte2); - dimension = XCHARSET_DIMENSION (charset); - graphic = XCHARSET_GRAPHIC (charset); - - if (!EQ (charset, prev_charset)) - { - run_storage[runs_so_far].ptr = text_storage; - run_storage[runs_so_far].charset = charset; - run_storage[runs_so_far].dimension = dimension; - - if (runs_so_far) - { - run_storage[runs_so_far - 1].len = - text_storage - run_storage[runs_so_far - 1].ptr; - if (run_storage[runs_so_far - 1].dimension == 2) - run_storage[runs_so_far - 1].len >>= 1; - } - runs_so_far++; - prev_charset = charset; -#ifdef MULE - { - Lisp_Object ccl_prog = XCHARSET_CCL_PROGRAM (charset); - need_ccl_conversion = !NILP (ccl_prog); - if (need_ccl_conversion) - setup_ccl_program (&char_converter, ccl_prog); - } -#endif - } - - if (graphic == 0) - { - byte1 &= 0x7F; - byte2 &= 0x7F; - } - else if (graphic == 1) - { - byte1 |= 0x80; - byte2 |= 0x80; - } -#ifdef MULE - if (need_ccl_conversion) - { - char_converter.reg[0] = XCHARSET_ID (charset); - char_converter.reg[1] = byte1; - char_converter.reg[2] = byte2; - ccl_driver (&char_converter, 0, 0, 0, 0, CCL_MODE_ENCODING); - byte1 = char_converter.reg[1]; - byte2 = char_converter.reg[2]; - } -#endif - *text_storage++ = (unsigned char) byte1; - if (dimension == 2) - *text_storage++ = (unsigned char) byte2; - } - - if (runs_so_far) - { - run_storage[runs_so_far - 1].len = - text_storage - run_storage[runs_so_far - 1].ptr; - if (run_storage[runs_so_far - 1].dimension == 2) - run_storage[runs_so_far - 1].len >>= 1; - } - - return runs_so_far; -} - -/****************************************************************************/ -/* */ -/* Gtk output routines */ -/* */ -/****************************************************************************/ - -static int -gtk_text_width_single_run (struct face_cachel *cachel, struct textual_run *run) -{ - Lisp_Object font_inst = FACE_CACHEL_FONT (cachel, run->charset); - struct Lisp_Font_Instance *fi = XFONT_INSTANCE (font_inst); - - if (!fi->proportional_p) - { - return fi->width * run->len; - } - else - { - if (run->dimension == 2) - { - stderr_out ("Measuring wide characters\n"); - return gdk_text_width_wc (FONT_INSTANCE_GTK_FONT (fi), - (GdkWChar *) run->ptr, run->len); - } - else - { - return gdk_text_width (FONT_INSTANCE_GTK_FONT (fi), - (char *) run->ptr, run->len); - } - } -} - -/* - gtk_text_width - - Given a string and a face, return the string's length in pixels when - displayed in the font associated with the face. - */ - -static int -gtk_text_width (struct frame *UNUSED (f), struct face_cachel *cachel, - CONST Ichar *str, Charcount len) -{ - /* !!#### */ - int width_so_far = 0; - unsigned char *text_storage = (unsigned char *) ALLOCA (2 * len); - struct textual_run *runs = alloca_array (struct textual_run, len); - int nruns; - int i; - - nruns = separate_textual_runs (text_storage, runs, str, len); - - for (i = 0; i < nruns; i++) - width_so_far += gtk_text_width_single_run (cachel, runs + i); - - return width_so_far; -} - -/***************************************************************************** - gtk_divider_height - - Return the height of the horizontal divider. This is a function because - divider_height is a device method. - - #### If we add etched horizontal divider lines this will have to get - smarter. - ****************************************************************************/ -static int -gtk_divider_height (void) -{ - return 2; -} - -/***************************************************************************** - gtk_eol_cursor_width - - Return the width of the end-of-line cursor. This is a function - because eol_cursor_width is a device method. - ****************************************************************************/ -static int -gtk_eol_cursor_width (void) -{ - return EOL_CURSOR_WIDTH; -} - -/***************************************************************************** - gtk_output_display_block - - Given a display line, a block number for that start line, output all - runes between start and end in the specified display block. - ****************************************************************************/ -static void -gtk_output_display_block (struct window *w, struct display_line *dl, int block, - int start, int end, int start_pixpos, int cursor_start, - int cursor_width, int cursor_height) -{ - struct frame *f = XFRAME (w->frame); - Ichar_dynarr *buf; - Lisp_Object window; - - struct display_block *db = Dynarr_atp (dl->display_blocks, block); - rune_dynarr *rba = db->runes; - struct rune *rb; - - int elt = start; - face_index findex; - int xpos, width; - Lisp_Object charset = Qunbound; /* Qnil is a valid charset when - MULE is not defined */ - - window = wrap_window (w); - rb = Dynarr_atp (rba, start); - - if (!rb) - { - /* Nothing to do so don't do anything. */ - return; - } - else - { - findex = rb->findex; - xpos = rb->xpos; - width = 0; - if (rb->type == RUNE_CHAR) - charset = ichar_charset (rb->object.chr.ch); - } - - if (end < 0) - end = Dynarr_length (rba); - buf = Dynarr_new (Ichar); - - while (elt < end) - { - rb = Dynarr_atp (rba, elt); - - if (rb->findex == findex && rb->type == RUNE_CHAR - && rb->object.chr.ch != '\n' && rb->cursor_type != CURSOR_ON - && EQ (charset, ichar_charset (rb->object.chr.ch))) - { - Dynarr_add (buf, rb->object.chr.ch); - width += rb->width; - elt++; - } - else - { - if (Dynarr_length (buf)) - { - gtk_output_string (w, dl, buf, xpos, 0, start_pixpos, width, - findex, 0, cursor_start, cursor_width, - cursor_height); - xpos = rb->xpos; - width = 0; - } - Dynarr_reset (buf); - width = 0; - - if (rb->type == RUNE_CHAR) - { - findex = rb->findex; - xpos = rb->xpos; - charset = ichar_charset (rb->object.chr.ch); - - if (rb->cursor_type == CURSOR_ON) - { - if (rb->object.chr.ch == '\n') - { - gtk_output_eol_cursor (w, dl, xpos, findex); - } - else - { - Dynarr_add (buf, rb->object.chr.ch); - gtk_output_string (w, dl, buf, xpos, 0, start_pixpos, - rb->width, findex, 1, - cursor_start, cursor_width, - cursor_height); - Dynarr_reset (buf); - } - - xpos += rb->width; - elt++; - } - else if (rb->object.chr.ch == '\n') - { - /* Clear in case a cursor was formerly here. */ - int height = dl->ascent + dl->descent - dl->clip; - - redisplay_clear_region (window, findex, xpos, dl->ypos - dl->ascent, - rb->width, height); - elt++; - } - } - else if (rb->type == RUNE_BLANK || rb->type == RUNE_HLINE) - { - if (rb->type == RUNE_BLANK) - gtk_output_blank (w, dl, rb, start_pixpos, cursor_start, - cursor_width); - else - { - /* #### Our flagging of when we need to redraw the - modeline shadows sucks. Since RUNE_HLINE is only used - by the modeline at the moment it is a good bet - that if it gets redrawn then we should also - redraw the shadows. This won't be true forever. - We borrow the shadow_thickness_changed flag for - now. */ - w->shadow_thickness_changed = 1; - gtk_output_horizontal_line (w, dl, rb); - } - - elt++; - if (elt < end) - { - rb = Dynarr_atp (rba, elt); - - findex = rb->findex; - xpos = rb->xpos; - } - } - else if (rb->type == RUNE_DGLYPH) - { - Lisp_Object instance; - struct display_box dbox; - struct display_glyph_area dga; - redisplay_calculate_display_boxes (dl, rb->xpos, rb->object.dglyph.xoffset, - rb->object.dglyph.yoffset ,start_pixpos, - rb->width, &dbox, &dga); - - window = wrap_window (w); - instance = glyph_image_instance (rb->object.dglyph.glyph, - window, ERROR_ME_DEBUG_WARN, 1); - findex = rb->findex; - - if (IMAGE_INSTANCEP (instance)) - switch (XIMAGE_INSTANCE_TYPE (instance)) - { - case IMAGE_TEXT: - { - /* #### This is way losing. See the comment in - add_glyph_rune(). */ - Lisp_Object string = - XIMAGE_INSTANCE_TEXT_STRING (instance); - convert_ibyte_string_into_ichar_dynarr - (XSTRING_DATA (string), XSTRING_LENGTH (string), buf); - - gtk_output_string (w, dl, buf, xpos, - rb->object.dglyph.xoffset, - start_pixpos, -1, findex, - (rb->cursor_type == CURSOR_ON), - cursor_start, cursor_width, - cursor_height); - Dynarr_reset (buf); - } - break; - - case IMAGE_MONO_PIXMAP: - case IMAGE_COLOR_PIXMAP: - redisplay_output_pixmap (w, instance, &dbox, &dga, - findex,cursor_start, - cursor_width, cursor_height, 0); - break; - - case IMAGE_POINTER: - ABORT (); - - case IMAGE_WIDGET: - if (EQ (XIMAGE_INSTANCE_WIDGET_TYPE (instance), - Qlayout)) - { - redisplay_output_layout (window, instance, &dbox, - &dga, findex, - cursor_start, cursor_width, - cursor_height); - break; - } - - case IMAGE_SUBWINDOW: - redisplay_output_subwindow (w, instance, &dbox, &dga, - findex, cursor_start, - cursor_width, cursor_height); - break; - - case IMAGE_NOTHING: - /* nothing is as nothing does */ - break; - - default: - ABORT (); - } - - xpos += rb->width; - elt++; - } - else - ABORT (); - } - } - - if (Dynarr_length (buf)) - gtk_output_string (w, dl, buf, xpos, 0, start_pixpos, width, findex, - 0, cursor_start, cursor_width, cursor_height); - - /* #### This is really conditionalized well for optimized - performance. */ - if (dl->modeline - && !EQ (Qzero, w->modeline_shadow_thickness) - && (f->clear - || f->windows_structure_changed - || w->shadow_thickness_changed)) - gtk_bevel_modeline (w, dl); - - Dynarr_free (buf); -} +#include "redisplay-xlike-inc.c" /***************************************************************************** gtk_bevel_modeline @@ -530,866 +46,6 @@ } /***************************************************************************** - gtk_get_gc - - Given a number of parameters return a GC with those properties. - ****************************************************************************/ -GdkGC * -gtk_get_gc (struct device *d, Lisp_Object font, Lisp_Object fg, Lisp_Object bg, - Lisp_Object bg_pmap, Lisp_Object lwidth) -{ - GdkGCValues gcv; - unsigned long mask; - - memset (&gcv, ~0, sizeof (gcv)); - gcv.graphics_exposures = FALSE; - /* Make absolutely sure that we don't pick up a clipping region in - the GC returned by this function. */ - gcv.clip_mask = 0; - gcv.clip_x_origin = 0; - gcv.clip_y_origin = 0; - gcv.fill = GDK_SOLID; - mask = GDK_GC_EXPOSURES | GDK_GC_CLIP_MASK | GDK_GC_CLIP_X_ORIGIN | GDK_GC_CLIP_Y_ORIGIN; - mask |= GDK_GC_FILL; - - if (!NILP (font)) - { - gcv.font = FONT_INSTANCE_GTK_FONT (XFONT_INSTANCE (font)); - mask |= GDK_GC_FONT; - } - - /* evil kludge! */ - if (!NILP (fg) && !COLOR_INSTANCEP (fg) && !INTP (fg)) - { - /* #### I fixed once case where this was getting it. It was a - bad macro expansion (compiler bug). */ - fprintf (stderr, "Help! gtk_get_gc got a bogus fg value! fg = "); - debug_print (fg); - fg = Qnil; - } - - if (!NILP (fg)) - { - if (COLOR_INSTANCEP (fg)) - gcv.foreground = * COLOR_INSTANCE_GTK_COLOR (XCOLOR_INSTANCE (fg)); - else - gcv.foreground.pixel = XINT (fg); - mask |= GDK_GC_FOREGROUND; - } - - if (!NILP (bg)) - { - if (COLOR_INSTANCEP (bg)) - gcv.background = * COLOR_INSTANCE_GTK_COLOR (XCOLOR_INSTANCE (bg)); - else - gcv.background.pixel = XINT (fg); - mask |= GDK_GC_BACKGROUND; - } - - if (IMAGE_INSTANCEP (bg_pmap) - && IMAGE_INSTANCE_PIXMAP_TYPE_P (XIMAGE_INSTANCE (bg_pmap))) - { - if (XIMAGE_INSTANCE_PIXMAP_DEPTH (bg_pmap) == 0) - { - gcv.fill = GDK_OPAQUE_STIPPLED; - gcv.stipple = XIMAGE_INSTANCE_GTK_PIXMAP (bg_pmap); - mask |= (GDK_GC_STIPPLE | GDK_GC_FILL); - } - else - { - gcv.fill = GDK_TILED; - gcv.tile = XIMAGE_INSTANCE_GTK_PIXMAP (bg_pmap); - mask |= (GDK_GC_TILE | GDK_GC_FILL); - } - } - - if (!NILP (lwidth)) - { - gcv.line_width = XINT (lwidth); - mask |= GDK_GC_LINE_WIDTH; - } - - return gc_cache_lookup (DEVICE_GTK_GC_CACHE (d), &gcv, (GdkGCValuesMask) mask); -} - -/***************************************************************************** - gtk_output_string - - Given a string and a starting position, output that string in the - given face. If cursor is true, draw a cursor around the string. - Correctly handles multiple charsets in the string. - - The meaning of the parameters is something like this: - - W Window that the text is to be displayed in. - DL Display line that this text is on. The values in the - structure are used to determine the vertical position and - clipping range of the text. - BUF Dynamic array of Ichars specifying what is actually to be - drawn. - XPOS X position in pixels where the text should start being drawn. - XOFFSET Number of pixels to be chopped off the left side of the - text. The effect is as if the text were shifted to the - left this many pixels and clipped at XPOS. - CLIP_START Clip everything left of this X position. - WIDTH Clip everything right of XPOS + WIDTH. - FINDEX Index for the face cache element describing how to display - the text. - CURSOR #### I don't understand this. There's something - strange and overcomplexified with this variable. - Chuck, explain please? - CURSOR_START Starting X position of cursor. - CURSOR_WIDTH Width of cursor in pixels. - CURSOR_HEIGHT Height of cursor in pixels. - - Starting Y position of cursor is the top of the text line. - The cursor is drawn sometimes whether or not CURSOR is set. ??? - ****************************************************************************/ -static -void gdk_draw_text_image (GdkDrawable *drawable, - GdkFont *font, - GdkGC *gc, - gint x, - gint y, - const gchar *text, - gint text_length); - -void -gtk_output_string (struct window *w, struct display_line *dl, - Ichar_dynarr *buf, int xpos, int xoffset, int clip_start, - int width, face_index findex, int cursor, - int cursor_start, int cursor_width, int cursor_height) -{ - /* !!#### Needs review */ - /* General variables */ - struct frame *f = XFRAME (w->frame); - struct device *d = XDEVICE (f->device); - Lisp_Object device; - Lisp_Object window; - GdkWindow *x_win = GET_GTK_WIDGET_WINDOW (FRAME_GTK_TEXT_WIDGET (f)); - - int clip_end; - - /* Cursor-related variables */ - int focus = EQ (w->frame, DEVICE_FRAME_WITH_FOCUS_REAL (d)); - int cursor_clip; - Lisp_Object bar_cursor_value = symbol_value_in_buffer (Qbar_cursor, - WINDOW_BUFFER (w)); - struct face_cachel *cursor_cachel = 0; - - /* Text-related variables */ - Lisp_Object bg_pmap; - GdkGC *bgc, *gc; - int height; - int len = Dynarr_length (buf); - unsigned char *text_storage = (unsigned char *) ALLOCA (2 * len); - struct textual_run *runs = alloca_array (struct textual_run, len); - int nruns; - int i; - struct face_cachel *cachel = WINDOW_FACE_CACHEL (w, findex); - - device = wrap_device (d); - window = wrap_window (w); - - if (width < 0) - width = gtk_text_width (f, cachel, Dynarr_atp (buf, 0), Dynarr_length (buf)); - height = dl->ascent + dl->descent - dl->clip; - - /* Regularize the variables passed in. */ - - if (clip_start < xpos) - clip_start = xpos; - clip_end = xpos + width; - if (clip_start >= clip_end) - /* It's all clipped out. */ - return; - - xpos -= xoffset; - - nruns = separate_textual_runs (text_storage, runs, Dynarr_atp (buf, 0), - Dynarr_length (buf)); - - cursor_clip = (cursor_start >= clip_start && - cursor_start < clip_end); - - /* This cursor code is really a mess. */ - if (!NILP (w->text_cursor_visible_p) - && (cursor - || cursor_clip - || (cursor_width - && (cursor_start + cursor_width >= clip_start) - && !NILP (bar_cursor_value)))) - { - /* These have to be in separate statements in order to avoid a - compiler bug. */ - face_index sucks = get_builtin_face_cache_index (w, Vtext_cursor_face); - cursor_cachel = WINDOW_FACE_CACHEL (w, sucks); - - /* We have to reset this since any call to WINDOW_FACE_CACHEL - may cause the cache to resize and any pointers to it to - become invalid. */ - cachel = WINDOW_FACE_CACHEL (w, findex); - } - - bg_pmap = cachel->background_pixmap; - if (!IMAGE_INSTANCEP (bg_pmap) - || !IMAGE_INSTANCE_PIXMAP_TYPE_P (XIMAGE_INSTANCE (bg_pmap))) - bg_pmap = Qnil; - - if ((cursor && focus && NILP (bar_cursor_value) - && !NILP (w->text_cursor_visible_p)) || NILP (bg_pmap)) - bgc = 0; - else - bgc = gtk_get_gc (d, Qnil, cachel->foreground, cachel->background, - bg_pmap, Qnil); - - if (bgc) - gdk_draw_rectangle (GDK_DRAWABLE (x_win), bgc, TRUE, clip_start, - dl->ypos - dl->ascent, clip_end - clip_start, - height); - - for (i = 0; i < nruns; i++) - { - Lisp_Object font = FACE_CACHEL_FONT (cachel, runs[i].charset); - struct Lisp_Font_Instance *fi = XFONT_INSTANCE (font); - GdkFont *gdk_font = FONT_INSTANCE_GTK_FONT (fi); - int this_width; - int need_clipping; - - if (EQ (font, Vthe_null_font_instance)) - continue; - - this_width = gtk_text_width_single_run (cachel, runs + i); - need_clipping = (dl->clip || clip_start > xpos || - clip_end < xpos + this_width); - - /* XDrawImageString only clears the area equal to the height of - the given font. It is possible that a font is being displayed - on a line taller than it is, so this would cause us to fail to - clear some areas. */ - if ((int) fi->height < (int) (height + dl->clip)) - { - int clear_start = max (xpos, clip_start); - int clear_end = min (xpos + this_width, clip_end); - - if (cursor) - { - int ypos1_line, ypos1_string, ypos2_line, ypos2_string; - - ypos1_string = dl->ypos - fi->ascent; - ypos2_string = dl->ypos + fi->descent; - ypos1_line = dl->ypos - dl->ascent; - ypos2_line = dl->ypos + dl->descent - dl->clip; - - /* Make sure we don't clear below the real bottom of the - line. */ - if (ypos1_string > ypos2_line) - ypos1_string = ypos2_line; - if (ypos2_string > ypos2_line) - ypos2_string = ypos2_line; - - if (ypos1_line < ypos1_string) - { - redisplay_clear_region (window, findex, clear_start, ypos1_line, - clear_end - clear_start, - ypos1_string - ypos1_line); - } - - if (ypos2_line > ypos2_string) - { - redisplay_clear_region (window, findex, clear_start, ypos2_string, - clear_end - clear_start, - ypos2_line - ypos2_string); - } - } - else - { - redisplay_clear_region (window, findex, clear_start, - dl->ypos - dl->ascent, clear_end - clear_start, - height); - } - } - - if (cursor && cursor_cachel && focus && NILP (bar_cursor_value)) - { - gc = gtk_get_gc (d, font, cursor_cachel->foreground, - cursor_cachel->background, Qnil, Qnil); - } - else - { - gc = gtk_get_gc (d, font, cachel->foreground, cachel->background, - Qnil, Qnil); - } - - if (need_clipping) - { - GdkRectangle clip_box; - - clip_box.x = 0; - clip_box.y = 0; - clip_box.width = clip_end - clip_start; - clip_box.height = height; - - gdk_gc_set_clip_rectangle (gc, &clip_box); - gdk_gc_set_clip_origin (gc, clip_start, dl->ypos - dl->ascent); - } - - /* The X specific called different functions (XDraw*String - vs. XDraw*String16), but apparently gdk_draw_text takes care - of that for us. - - BUT, gdk_draw_text also does too much, by dividing the length - by 2. So we fake them out my multiplying the length by the - dimension of the text. This will do the right thing for - single-dimension runs as well of course. - */ - (bgc ? gdk_draw_text : gdk_draw_text_image) (GDK_DRAWABLE (x_win), gdk_font, gc, xpos, - dl->ypos, (char *) runs[i].ptr, - runs[i].len * runs[i].dimension); - - /* We draw underlines in the same color as the text. */ - if (cachel->underline) - { - int upos, uthick; - - /* Cannot get at font properties in Gtk, so we resort to - guessing */ - upos = dl->descent / 2; - uthick = 1; - - if ((dl->ypos + upos) < (dl->ypos + dl->descent - dl->clip)) - { - if (dl->ypos + upos + uthick > dl->ypos + dl->descent - dl->clip) - uthick = dl->descent - dl->clip - upos; - - if (uthick == 1) - { - gdk_draw_line (GDK_DRAWABLE (x_win), gc, xpos, dl->ypos + upos, - xpos + this_width, dl->ypos + upos); - } - else if (uthick > 1) - { - gdk_draw_rectangle (GDK_DRAWABLE (x_win), gc, TRUE, xpos, - dl->ypos + upos, this_width, uthick); - } - } - } - - if (cachel->strikethru) { - gint ascent,descent,upos, uthick; - GdkFont *gfont = FONT_INSTANCE_GTK_FONT (XFONT_INSTANCE (font)); - - /* Cannot get at font properties in Gtk, so we resort to - guessing */ - - ascent = gfont->ascent; - descent = gfont->descent; - uthick = 1; - - upos = ascent - ((ascent + descent) / 2) + 1; - - /* Generally, upos will be positive (above the baseline),so subtract */ - if (dl->ypos - upos < dl->ypos + dl->descent - dl->clip) - { - if (dl->ypos - upos + uthick > dl->ypos + dl->descent - dl->clip) - uthick = dl->descent - dl->clip + upos; - - if (uthick == 1) - { - gdk_draw_line (GDK_DRAWABLE (x_win), gc, xpos, dl->ypos - upos, - xpos + this_width, dl->ypos - upos); - } - else if (uthick > 1) - { - gdk_draw_rectangle (GDK_DRAWABLE (x_win), gc, TRUE, xpos, dl->ypos + upos, - this_width, uthick); - } - } - } - - /* Restore the GC */ - if (need_clipping) - { - gdk_gc_set_clip_rectangle (gc, NULL); - gdk_gc_set_clip_origin (gc, 0, 0); - } - - /* If we are actually superimposing the cursor then redraw with just - the appropriate section highlighted. */ - if (cursor_clip && !cursor && focus && cursor_cachel) - { - GdkGC *cgc; - GdkRectangle clip_box; - - cgc = gtk_get_gc (d, font, cursor_cachel->foreground, - cursor_cachel->background, Qnil, Qnil); - - clip_box.x = 0; - clip_box.y = 0; - clip_box.width = cursor_width; - clip_box.height = height; - - gdk_gc_set_clip_rectangle (cgc, &clip_box); - gdk_gc_set_clip_origin (cgc, cursor_start, dl->ypos - dl->ascent); - - /* The X specific called different functions (XDraw*String - vs. XDraw*String16), but apparently gdk_draw_text takes care - of that for us. - - BUT, gdk_draw_text also does too much, by dividing the - length by 2. So we fake them out my multiplying the - length by the dimension of the text. This will do the - right thing for single-dimension runs as well of course. - */ - gdk_draw_text_image (GDK_DRAWABLE (x_win), gdk_font, cgc, xpos, - dl->ypos, (char *) runs[i].ptr, - runs[i].len * runs[i].dimension); - - gdk_gc_set_clip_rectangle (cgc, NULL); - gdk_gc_set_clip_origin (cgc, 0, 0); - } - - xpos += this_width; - } - - /* Draw the non-focus box or bar-cursor as needed. */ - /* Can't this logic be simplified? */ - if (cursor_cachel - && ((cursor && !focus && NILP (bar_cursor_value)) - || (cursor_width - && (cursor_start + cursor_width >= clip_start) - && !NILP (bar_cursor_value)))) - { - int tmp_height, tmp_y; - int bar_width = EQ (bar_cursor_value, Qt) ? 1 : 2; - int need_clipping = (cursor_start < clip_start - || clip_end < cursor_start + cursor_width); - - /* #### This value is correct (as far as I know) because - all of the times we need to draw this cursor, we will - be called with exactly one character, so we know we - can always use runs[0]. - - This is bogus as all hell, however. The cursor handling in - this function is way bogus and desperately needs to be - cleaned up. (In particular, the drawing of the cursor should - really really be separated out of this function. This may be - a bit tricky now because this function itself does way too - much stuff, a lot of which needs to be moved into - redisplay.c) This is the only way to be able to easily add - new cursor types or (e.g.) make the bar cursor be able to - span two characters instead of overlaying just one. */ - int bogusly_obtained_ascent_value = - XFONT_INSTANCE (FACE_CACHEL_FONT (cachel, runs[0].charset))->ascent; - - if (!NILP (bar_cursor_value)) - { - gc = gtk_get_gc (d, Qnil, cursor_cachel->background, Qnil, Qnil, - make_int (bar_width)); - } - else - { - gc = gtk_get_gc (d, Qnil, cursor_cachel->background, - Qnil, Qnil, Qnil); - } - - tmp_y = dl->ypos - bogusly_obtained_ascent_value; - tmp_height = cursor_height; - if (tmp_y + tmp_height > (int) (dl->ypos - dl->ascent + height)) - { - tmp_y = dl->ypos - dl->ascent + height - tmp_height; - if (tmp_y < (int) (dl->ypos - dl->ascent)) - tmp_y = dl->ypos - dl->ascent; - tmp_height = dl->ypos - dl->ascent + height - tmp_y; - } - - if (need_clipping) - { - GdkRectangle clip_box; - clip_box.x = 0; - clip_box.y = 0; - clip_box.width = clip_end - clip_start; - clip_box.height = tmp_height; - - gdk_gc_set_clip_rectangle (gc, &clip_box); - gdk_gc_set_clip_origin (gc, clip_start, tmp_y); - } - - if (!focus && NILP (bar_cursor_value)) - { - gdk_draw_rectangle (GDK_DRAWABLE (x_win), gc, FALSE, - cursor_start, tmp_y, - cursor_width - 1, tmp_height - 1); - } - else if (focus && !NILP (bar_cursor_value)) - { - gdk_draw_line (GDK_DRAWABLE (x_win), gc, - cursor_start + bar_width - 1, tmp_y, - cursor_start + bar_width - 1, tmp_y + tmp_height - 1); - } - - /* Restore the GC */ - if (need_clipping) - { - gdk_gc_set_clip_rectangle (gc, NULL); - gdk_gc_set_clip_origin (gc, 0, 0); - } - } -} - -static void -our_draw_bitmap (GdkDrawable *drawable, - GdkGC *gc, - GdkPixmap *src, - gint xsrc, - gint ysrc, - gint xdest, - gint ydest, - gint width, - gint height); - -static void -gtk_output_gdk_pixmap (struct frame *f, struct Lisp_Image_Instance *p, int x, - int y, int xoffset, int yoffset, - int width, int height, - GdkColor *fg, GdkColor *bg, GdkGC *override_gc) -{ - struct device *d = XDEVICE (f->device); - GdkWindow *x_win = GET_GTK_WIDGET_WINDOW (FRAME_GTK_TEXT_WIDGET (f)); - - GdkGC *gc; - GdkGCValues gcv; - unsigned long pixmap_mask; - - if (!override_gc) - { - memset (&gcv, ~0, sizeof (gcv)); - gcv.graphics_exposures = FALSE; - gcv.foreground = *fg; - gcv.background = *bg; - pixmap_mask = GDK_GC_FOREGROUND | GDK_GC_BACKGROUND | GDK_GC_EXPOSURES; - - if (IMAGE_INSTANCE_GTK_MASK (p)) - { - gcv.function = GDK_COPY; - gcv.clip_mask = IMAGE_INSTANCE_GTK_MASK (p); - gcv.clip_x_origin = x - xoffset; - gcv.clip_y_origin = y - yoffset; - pixmap_mask |= (GDK_GC_FUNCTION | GDK_GC_CLIP_MASK | GDK_GC_CLIP_X_ORIGIN | - GDK_GC_CLIP_Y_ORIGIN); - /* Can't set a clip rectangle below because we already have a mask. - We could conceivably create a new clipmask by zeroing out - everything outside the clip region. Is it worth it? - Is it possible to get an equivalent effect by changing the - args to XCopyArea below rather than messing with a clip box? - - dkindred@cs.cmu.edu - Yes. We don't clip at all now - andy@xemacs.org - */ - } - - gc = gc_cache_lookup (DEVICE_GTK_GC_CACHE (d), &gcv, pixmap_mask); - } - else - { - gc = override_gc; - /* override_gc might have a mask already--we don't want to nuke it. - Maybe we can insist that override_gc have no mask, or use - one of the suggestions above. */ - } - - if (IMAGE_INSTANCE_PIXMAP_DEPTH (p) > 0) - { - gdk_draw_pixmap (GDK_DRAWABLE (x_win), gc, - IMAGE_INSTANCE_GTK_PIXMAP (p), - xoffset, yoffset, x, y, width, height); - } - else - { - our_draw_bitmap (GDK_DRAWABLE (x_win), gc, - IMAGE_INSTANCE_GTK_PIXMAP (p), - xoffset, yoffset, x, y, width, height); - } -} - -static void -gtk_output_pixmap (struct window *w, - Lisp_Object image_instance, - struct display_box *db, - struct display_glyph_area *dga, - face_index findex, - int cursor_start, - int cursor_width, - int cursor_height, - int UNUSED (bg_pixmap)) -{ - struct frame *f = XFRAME (w->frame); - struct device *d = XDEVICE (f->device); - struct Lisp_Image_Instance *p = XIMAGE_INSTANCE (image_instance); - Lisp_Object window; - - GdkWindow *x_win = GET_GTK_WIDGET_WINDOW (FRAME_GTK_TEXT_WIDGET (f)); - - window = wrap_window (w); - - /* Output the pixmap. */ - { - Lisp_Object tmp_pixel; - GdkColor *tmp_bcolor, *tmp_fcolor; - - tmp_pixel = WINDOW_FACE_CACHEL_FOREGROUND (w, findex); - tmp_fcolor = COLOR_INSTANCE_GTK_COLOR (XCOLOR_INSTANCE (tmp_pixel)); - tmp_pixel = WINDOW_FACE_CACHEL_BACKGROUND (w, findex); - tmp_bcolor = COLOR_INSTANCE_GTK_COLOR (XCOLOR_INSTANCE (tmp_pixel)); - - gtk_output_gdk_pixmap (f, p, db->xpos, db->ypos, - dga->xoffset, dga->yoffset, - dga->width, dga->height, - tmp_fcolor, tmp_bcolor, NULL); - } - - /* Draw a cursor over top of the pixmap. */ - if (cursor_width && cursor_height && (cursor_start >= db->xpos) - && !NILP (w->text_cursor_visible_p) - && (cursor_start < (db->xpos + dga->width))) - { - GdkGC *gc; - int focus = EQ (w->frame, DEVICE_FRAME_WITH_FOCUS_REAL (d)); - struct face_cachel *cursor_cachel = - WINDOW_FACE_CACHEL (w, - get_builtin_face_cache_index - (w, Vtext_cursor_face)); - - gc = gtk_get_gc (d, Qnil, cursor_cachel->background, Qnil, Qnil, Qnil); - - if (cursor_width > db->xpos + dga->width - cursor_start) - cursor_width = db->xpos + dga->width - cursor_start; - - gdk_draw_rectangle (GDK_DRAWABLE (x_win), gc, focus ? TRUE : FALSE, - cursor_start, db->ypos, cursor_width, - cursor_height); - } -} - -/***************************************************************************** - gtk_output_vertical_divider - - Draw a vertical divider down the right side of the given window. - ****************************************************************************/ -static void -gtk_output_vertical_divider (struct window *w, int UNUSED(clear)) -{ - struct frame *f = XFRAME (w->frame); - struct device *d = XDEVICE (f->device); - GdkWindow *x_win = GET_GTK_WIDGET_WINDOW (FRAME_GTK_TEXT_WIDGET (f)); - GdkGC *background_gc; - Lisp_Object tmp_pixel; - GdkGCValues gcv; - unsigned long mask; - int x, y1, y2, width, shadow_thickness, spacing, line_width; - face_index div_face = get_builtin_face_cache_index (w, Vvertical_divider_face); - - width = window_divider_width (w); - shadow_thickness = XINT (w->vertical_divider_shadow_thickness); - spacing = XINT (w->vertical_divider_spacing); - line_width = XINT (w->vertical_divider_line_width); - x = WINDOW_RIGHT (w) - width; - y1 = WINDOW_TOP (w); - y2 = WINDOW_BOTTOM (w); - - memset (&gcv, ~0, sizeof (gcv)); - - tmp_pixel = WINDOW_FACE_CACHEL_BACKGROUND (w, div_face); - - gcv.background = * COLOR_INSTANCE_GTK_COLOR (XCOLOR_INSTANCE (tmp_pixel)); - gcv.foreground = gcv.background; - gcv.graphics_exposures = FALSE; - mask = GDK_GC_FOREGROUND | GDK_GC_BACKGROUND | GDK_GC_EXPOSURES; - - background_gc = gc_cache_lookup (DEVICE_GTK_GC_CACHE (d), &gcv, mask); - - /* Clear the divider area first. This needs to be done when a - window split occurs. */ - /* if (clear) */ - gdk_draw_rectangle (GDK_DRAWABLE (x_win), background_gc, TRUE, - x, y1, width, y2 - y1); - -#if 0 - /* Draw the divider line. */ - gdk_draw_rectangle (GDK_DRAWABLE (x_win), background_gc, TRUE, - x + spacing + shadow_thickness, y1, - line_width, y2 - y1); -#endif - - /* Draw the shadows around the divider line */ - gtk_output_shadows (f, x + spacing, y1, - width - 2 * spacing, y2 - y1, - shadow_thickness); -} - -/***************************************************************************** - gtk_output_blank - - Output a blank by clearing the area it covers in the foreground color - of its face. - ****************************************************************************/ -static void -gtk_output_blank (struct window *w, struct display_line *dl, struct rune *rb, - int start_pixpos, int cursor_start, int cursor_width) -{ - struct frame *f = XFRAME (w->frame); - struct device *d = XDEVICE (f->device); - - GdkWindow *x_win = GET_GTK_WIDGET_WINDOW (FRAME_GTK_TEXT_WIDGET (f)); - GdkGC *gc; - struct face_cachel *cursor_cachel = - WINDOW_FACE_CACHEL (w, - get_builtin_face_cache_index - (w, Vtext_cursor_face)); - Lisp_Object bg_pmap; - Lisp_Object buffer = WINDOW_BUFFER (w); - Lisp_Object bar_cursor_value = symbol_value_in_buffer (Qbar_cursor, - buffer); - - int x = rb->xpos; - int y = dl->ypos - dl->ascent; - int width = rb->width; - int height = dl->ascent + dl->descent - dl->clip; - - if (start_pixpos > x) - { - if (start_pixpos >= (x + width)) - return; - else - { - width -= (start_pixpos - x); - x = start_pixpos; - } - } - - bg_pmap = WINDOW_FACE_CACHEL_BACKGROUND_PIXMAP (w, rb->findex); - if (!IMAGE_INSTANCEP (bg_pmap) - || !IMAGE_INSTANCE_PIXMAP_TYPE_P (XIMAGE_INSTANCE (bg_pmap))) - bg_pmap = Qnil; - - if (NILP (bg_pmap)) - gc = gtk_get_gc (d, Qnil, WINDOW_FACE_CACHEL_BACKGROUND (w, rb->findex), - Qnil, Qnil, Qnil); - else - gc = gtk_get_gc (d, Qnil, WINDOW_FACE_CACHEL_FOREGROUND (w, rb->findex), - WINDOW_FACE_CACHEL_BACKGROUND (w, rb->findex), bg_pmap, - Qnil); - - gdk_draw_rectangle (GDK_DRAWABLE (x_win), gc, TRUE, x, y, width, height); - - /* If this rune is marked as having the cursor, then it is actually - representing a tab. */ - if (!NILP (w->text_cursor_visible_p) - && (rb->cursor_type == CURSOR_ON - || (cursor_width - && (cursor_start + cursor_width > x) - && cursor_start < (x + width)))) - { - int cursor_height, cursor_y; - int focus = EQ (w->frame, DEVICE_FRAME_WITH_FOCUS_REAL (d)); - struct Lisp_Font_Instance *fi; - - fi = XFONT_INSTANCE (FACE_CACHEL_FONT - (WINDOW_FACE_CACHEL (w, rb->findex), - Vcharset_ascii)); - - gc = gtk_get_gc (d, Qnil, cursor_cachel->background, Qnil, Qnil, Qnil); - - cursor_y = dl->ypos - fi->ascent; - cursor_height = fi->height; - if (cursor_y + cursor_height > y + height) - cursor_height = y + height - cursor_y; - - if (focus) - { - if (NILP (bar_cursor_value)) - { - gdk_draw_rectangle (GDK_DRAWABLE (x_win), gc, TRUE, - cursor_start, cursor_y, - fi->width, cursor_height); - } - else - { - int bar_width = EQ (bar_cursor_value, Qt) ? 1 : 2; - - gc = gtk_get_gc (d, Qnil, cursor_cachel->background, Qnil, Qnil, - make_int (bar_width)); - gdk_draw_line (GDK_DRAWABLE (x_win), gc, cursor_start + bar_width - 1, - cursor_y, cursor_start + bar_width - 1, - cursor_y + cursor_height - 1); - } - } - else if (NILP (bar_cursor_value)) - { - gdk_draw_rectangle (GDK_DRAWABLE (x_win), gc, FALSE, - cursor_start, cursor_y, - fi->width - 1, cursor_height - 1); - } - } -} - -/***************************************************************************** - gtk_output_horizontal_line - - Output a horizontal line in the foreground of its face. - ****************************************************************************/ -static void -gtk_output_horizontal_line (struct window *w, - struct display_line *dl, - struct rune *rb) -{ - struct frame *f = XFRAME (w->frame); - struct device *d = XDEVICE (f->device); - GtkStyle *style = FRAME_GTK_TEXT_WIDGET (f)->style; - - GdkWindow *x_win = GET_GTK_WIDGET_WINDOW (FRAME_GTK_TEXT_WIDGET (f)); - GdkGC *gc; - - int x = rb->xpos; - int width = rb->width; - int height = dl->ascent + dl->descent - dl->clip; - - int ypos1, ypos2, ypos3, ypos4; - - ypos1 = dl->ypos - dl->ascent; - ypos2 = ypos1 + rb->object.hline.yoffset; - ypos3 = ypos2 + rb->object.hline.thickness; - ypos4 = dl->ypos + dl->descent - dl->clip; - - /* First clear the area not covered by the line. */ - if (height - rb->object.hline.thickness > 0) - { - gc = gtk_get_gc (d, Qnil, WINDOW_FACE_CACHEL_FOREGROUND (w, rb->findex), - Qnil, Qnil, Qnil); - - if (ypos2 - ypos1 > 0) - gdk_draw_rectangle (GDK_DRAWABLE (x_win), gc, TRUE, x, ypos1, width, ypos2 - ypos1); - if (ypos4 - ypos3 > 0) - gdk_draw_rectangle (GDK_DRAWABLE (x_win), gc, TRUE, x, ypos1, width, ypos2 - ypos1); - } - - gtk_paint_hline (style, x_win, GTK_STATE_NORMAL, NULL, FRAME_GTK_TEXT_WIDGET (f), - "hline", x, x + width, ypos2); -#if 0 - /* Now draw the line. */ - gc = gtk_get_gc (d, Qnil, WINDOW_FACE_CACHEL_BACKGROUND (w, rb->findex), - Qnil, Qnil, Qnil); - - if (ypos2 < ypos1) - ypos2 = ypos1; - if (ypos3 > ypos4) - ypos3 = ypos4; - - if (ypos3 - ypos2 > 0) - gdk_draw_rectangle (GDK_DRAWABLE (x_win), gc, TRUE, x, ypos2, width, ypos3 - ypos2); -#endif -} - -/***************************************************************************** gtk_output_shadows Draw a shadow around the given area using the standard theme engine routines. @@ -1419,271 +75,6 @@ x, y, width, height); } -/***************************************************************************** - gtk_clear_to_window_end - - Clear the area between ypos1 and ypos2. Each margin area and the - text area is handled separately since they may each have their own - background color. - ****************************************************************************/ -static void -gtk_clear_to_window_end (struct window *w, int ypos1, int ypos2) -{ - int height = ypos2 - ypos1; - - if (height) - { - struct frame *f = XFRAME (w->frame); - Lisp_Object window; - int bflag = (window_needs_vertical_divider (w) ? 0 : 1); - layout_bounds bounds; - - bounds = calculate_display_line_boundaries (w, bflag); - window = wrap_window (w); - - if (window_is_leftmost (w)) - redisplay_clear_region (window, DEFAULT_INDEX, FRAME_LEFT_BORDER_START (f), - ypos1, FRAME_BORDER_WIDTH (f), height); - - if (bounds.left_in - bounds.left_out > 0) - redisplay_clear_region (window, - get_builtin_face_cache_index (w, Vleft_margin_face), - bounds.left_out, ypos1, - bounds.left_in - bounds.left_out, height); - - if (bounds.right_in - bounds.left_in > 0) - redisplay_clear_region (window, DEFAULT_INDEX, bounds.left_in, ypos1, - bounds.right_in - bounds.left_in, height); - - if (bounds.right_out - bounds.right_in > 0) - redisplay_clear_region (window, - get_builtin_face_cache_index (w, Vright_margin_face), - bounds.right_in, ypos1, - bounds.right_out - bounds.right_in, height); - - if (window_is_rightmost (w)) - redisplay_clear_region (window, DEFAULT_INDEX, FRAME_RIGHT_BORDER_START (f), - ypos1, FRAME_BORDER_WIDTH (f), height); - } -} - -/**************************************************************************** - gtk_clear_region - - Clear the area in the box defined by the given parameters using the - given face. - ****************************************************************************/ -static void -gtk_clear_region (Lisp_Object UNUSED (locale), struct device* d, - struct frame* f, face_index UNUSED (findex), int x, int y, - int width, int height, Lisp_Object fcolor, Lisp_Object bcolor, - Lisp_Object background_pixmap) -{ - GdkWindow *x_win; - GdkGC *gc = NULL; - - x_win = GET_GTK_WIDGET_WINDOW (FRAME_GTK_TEXT_WIDGET (f)); - - if (!UNBOUNDP (background_pixmap)) - { - gc = gtk_get_gc (d, Qnil, fcolor, bcolor, background_pixmap, Qnil); - } - - if (gc) - { - gdk_draw_rectangle (GDK_DRAWABLE (x_win), gc,TRUE, - x, y, width, height); - } - else - { - gdk_window_clear_area (x_win, x, y, width, height); - } -} - -/***************************************************************************** - gtk_output_eol_cursor - - Draw a cursor at the end of a line. The end-of-line cursor is - narrower than the normal cursor. - ****************************************************************************/ -static void -gtk_output_eol_cursor (struct window *w, struct display_line *dl, int xpos, - face_index findex) -{ - struct frame *f = XFRAME (w->frame); - struct device *d = XDEVICE (f->device); - Lisp_Object window; - - GdkWindow *x_win = GET_GTK_WIDGET_WINDOW (FRAME_GTK_TEXT_WIDGET (f)); - GdkGC *gc; - face_index elt = get_builtin_face_cache_index (w, Vtext_cursor_face); - struct face_cachel *cursor_cachel = WINDOW_FACE_CACHEL (w, elt); - - int focus = EQ (w->frame, DEVICE_FRAME_WITH_FOCUS_REAL (d)); - Lisp_Object bar_cursor_value = symbol_value_in_buffer (Qbar_cursor, - WINDOW_BUFFER (w)); - - int x = xpos; - int y = dl->ypos - dl->ascent; - int width = EOL_CURSOR_WIDTH; - int height = dl->ascent + dl->descent - dl->clip; - int cursor_height, cursor_y; - int defheight, defascent; - - window = wrap_window (w); - redisplay_clear_region (window, findex, x, y, width, height); - - if (NILP (w->text_cursor_visible_p)) - return; - - gc = gtk_get_gc (d, Qnil, cursor_cachel->background, Qnil, Qnil, Qnil); - - default_face_font_info (window, &defascent, 0, &defheight, 0, 0); - - /* make sure the cursor is entirely contained between y and y+height */ - cursor_height = min (defheight, height); - cursor_y = max (y, min (y + height - cursor_height, - dl->ypos - defascent)); - - if (focus) - { - if (NILP (bar_cursor_value)) - { - gdk_draw_rectangle (GDK_DRAWABLE (x_win), gc, TRUE, x, cursor_y, width, cursor_height); - } - else - { - int bar_width = EQ (bar_cursor_value, Qt) ? 1 : 2; - - gc = gtk_get_gc (d, Qnil, cursor_cachel->background, Qnil, Qnil, - make_int (bar_width)); - gdk_draw_line (GDK_DRAWABLE (x_win), gc, x + bar_width - 1, cursor_y, - x + bar_width - 1, cursor_y + cursor_height - 1); - } - } - else if (NILP (bar_cursor_value)) - { - gdk_draw_rectangle (GDK_DRAWABLE (x_win), gc, FALSE, x, cursor_y, width - 1, - cursor_height - 1); - } -} - -static void -gtk_clear_frame_window (Lisp_Object window) -{ - struct window *w = XWINDOW (window); - - if (!NILP (w->vchild)) - { - gtk_clear_frame_windows (w->vchild); - return; - } - - if (!NILP (w->hchild)) - { - gtk_clear_frame_windows (w->hchild); - return; - } - - gtk_clear_to_window_end (w, WINDOW_TEXT_TOP (w), WINDOW_TEXT_BOTTOM (w)); -} - -static void -gtk_clear_frame_windows (Lisp_Object window) -{ - for (; !NILP (window); window = XWINDOW (window)->next) - gtk_clear_frame_window (window); -} - -static void -gtk_clear_frame (struct frame *f) -{ - GdkWindow *x_win = GET_GTK_WIDGET_WINDOW (FRAME_GTK_TEXT_WIDGET (f)); - int x, y, width, height; - Lisp_Object frame; - - x = FRAME_LEFT_BORDER_START (f); - width = (FRAME_PIXWIDTH (f) - FRAME_REAL_LEFT_TOOLBAR_WIDTH (f) - - FRAME_REAL_RIGHT_TOOLBAR_WIDTH (f) - - 2 * FRAME_REAL_LEFT_TOOLBAR_BORDER_WIDTH (f) - - 2 * FRAME_REAL_RIGHT_TOOLBAR_BORDER_WIDTH (f)); - /* #### This adjustment by 1 should be being done in the macros. - There is some small differences between when the menubar is on - and off that we still need to deal with. */ - y = FRAME_TOP_BORDER_START (f) - 1; - height = (FRAME_PIXHEIGHT (f) - FRAME_REAL_TOP_TOOLBAR_HEIGHT (f) - - FRAME_REAL_BOTTOM_TOOLBAR_HEIGHT (f) - - 2 * FRAME_REAL_TOP_TOOLBAR_BORDER_WIDTH (f) - - 2 * FRAME_REAL_BOTTOM_TOOLBAR_BORDER_WIDTH (f)) + 1; - - gdk_window_clear_area (x_win, x, y, width, height); - - frame = wrap_frame (f); - - if (!UNBOUNDP (FACE_BACKGROUND_PIXMAP (Vdefault_face, frame)) - || !UNBOUNDP (FACE_BACKGROUND_PIXMAP (Vleft_margin_face, frame)) - || !UNBOUNDP (FACE_BACKGROUND_PIXMAP (Vright_margin_face, frame))) - { - gtk_clear_frame_windows (f->root_window); - } -} - -static int -gtk_flash (struct device *d) -{ - GdkGCValues gcv; - GdkGC *gc; - GdkColor tmp_fcolor, tmp_bcolor; - Lisp_Object tmp_pixel, frame; - struct frame *f = device_selected_frame (d); - struct window *w = XWINDOW (FRAME_ROOT_WINDOW (f)); - - frame = wrap_frame (f); - - tmp_pixel = FACE_FOREGROUND (Vdefault_face, frame); - tmp_fcolor = * (COLOR_INSTANCE_GTK_COLOR (XCOLOR_INSTANCE (tmp_pixel))); - tmp_pixel = FACE_BACKGROUND (Vdefault_face, frame); - tmp_bcolor = * (COLOR_INSTANCE_GTK_COLOR (XCOLOR_INSTANCE (tmp_pixel))); - - memset (&gcv, ~0, sizeof (gcv)); /* initialize all slots to ~0 */ - gcv.foreground.pixel = (tmp_fcolor.pixel ^ tmp_bcolor.pixel); - gcv.function = GDK_XOR; - gcv.graphics_exposures = FALSE; - gc = gc_cache_lookup (DEVICE_GTK_GC_CACHE (XDEVICE (f->device)), &gcv, - GDK_GC_FOREGROUND | GDK_GC_FUNCTION | GDK_GC_EXPOSURES); - - gdk_draw_rectangle (GDK_DRAWABLE (GET_GTK_WIDGET_WINDOW (FRAME_GTK_SHELL_WIDGET (f))), - gc, TRUE, w->pixel_left, w->pixel_top, - w->pixel_width, w->pixel_height); - - gdk_flush (); - -#ifdef HAVE_SELECT - { - int usecs = 100000; - struct timeval tv; - tv.tv_sec = usecs / 1000000L; - tv.tv_usec = usecs % 1000000L; - /* I'm sure someone is going to complain about this... */ - select (0, 0, 0, 0, &tv); - } -#else -#ifdef HAVE_POLL - poll (0, 0, 100); -#else - bite me -#endif -#endif - - gdk_draw_rectangle (GDK_DRAWABLE (GET_GTK_WIDGET_WINDOW (FRAME_GTK_SHELL_WIDGET (f))), - gc, TRUE, w->pixel_left, w->pixel_top, - w->pixel_width, w->pixel_height); - - gdk_flush (); - - return 1; -} - static void gtk_bevel_area (struct window *w, face_index UNUSED (findex), int x, int y, int width, int height, @@ -1710,29 +101,6 @@ } -/************************************************************************/ -/* initialization */ -/************************************************************************/ - -void -console_type_create_redisplay_gtk (void) -{ - /* redisplay methods */ - CONSOLE_HAS_METHOD (gtk, text_width); - CONSOLE_HAS_METHOD (gtk, output_display_block); - CONSOLE_HAS_METHOD (gtk, divider_height); - CONSOLE_HAS_METHOD (gtk, eol_cursor_width); - CONSOLE_HAS_METHOD (gtk, output_vertical_divider); - CONSOLE_HAS_METHOD (gtk, clear_to_window_end); - CONSOLE_HAS_METHOD (gtk, clear_region); - CONSOLE_HAS_METHOD (gtk, clear_frame); - CONSOLE_HAS_METHOD (gtk, flash); - CONSOLE_HAS_METHOD (gtk, ring_bell); - CONSOLE_HAS_METHOD (gtk, bevel_area); - CONSOLE_HAS_METHOD (gtk, output_string); - CONSOLE_HAS_METHOD (gtk, output_pixmap); -} - /* This makes me feel incredibly dirty... but there is no other way to get this done right other than calling clear_area before every single $#!%@ing piece of text, which I do NOT want to do. */
--- a/src/redisplay-msw.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/redisplay-msw.c Sun Jan 24 22:06:20 2010 -0600 @@ -469,9 +469,10 @@ #if 0 /* #### FIXME? */ /* We can't work out the width before we've set the font in the DC */ if (width < 0) - width = mswindows_text_width (cachel, Dynarr_atp (buf, 0), Dynarr_length (buf)); + width = mswindows_text_width (w, cachel, Dynarr_atp (buf, 0), + Dynarr_length (buf)); #else - assert(width>=0); + assert (width >= 0); #endif /* Regularize the variables passed in. */ @@ -1181,9 +1182,10 @@ displayed in the font associated with the face. ****************************************************************************/ static int -mswindows_text_width (struct frame *f, struct face_cachel *cachel, +mswindows_text_width (struct window *w, struct face_cachel *cachel, const Ichar *str, Charcount len) { + struct frame *f = WINDOW_XFRAME (w); HDC hdc = get_frame_dc (f, 0); int width_so_far = 0; textual_run *runs;
--- a/src/redisplay-output.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/redisplay-output.c Sun Jan 24 22:06:20 2010 -0600 @@ -422,7 +422,10 @@ else if (start_pos <= bounds.right_out) *next_start = bounds.right_out; else - ABORT (); + { + ABORT (); + *next_start = 0; + } } for (block = 0; block < Dynarr_length (dba); block++)
--- a/src/redisplay-tty.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/redisplay-tty.c Sun Jan 24 22:06:20 2010 -0600 @@ -106,10 +106,10 @@ column, so we use ichar_string_displayed_columns(). ****************************************************************************/ static int -tty_text_width (struct frame *f, struct face_cachel *UNUSED (cachel), +tty_text_width (struct window *w, struct face_cachel *UNUSED (cachel), const Ichar *str, Charcount len) { - struct console *c = XCONSOLE(FRAME_CONSOLE (f)); + struct console *c = WINDOW_XCONSOLE (w); if (CONSOLE_TTY_MULTIPLE_WIDTH (c)) {
--- a/src/redisplay-x.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/redisplay-x.c Sun Jan 24 22:06:20 2010 -0600 @@ -27,485 +27,13 @@ /* Lots of work done by Ben Wing for Mule */ -#include <config.h> -#include "lisp.h" - -#include "buffer.h" -#include "debug.h" -#include "device-impl.h" -#include "faces.h" -#include "file-coding.h" -#include "frame-impl.h" -#include "gutter.h" -#include "redisplay.h" -#include "sysdep.h" -#include "window.h" - -#include "mule-ccl.h" -#include "charset.h" - -#include "console-x-impl.h" -#include "glyphs-x.h" -#include "objects-x-impl.h" -#include "xgccache.h" - -#include "EmacsFrame.h" -#include "EmacsFrameP.h" - -#include "sysproc.h" /* for select() */ - -#include <X11/bitmaps/gray> /* Number of pixels below each line. */ int x_interline_space; /* #### this needs to be implemented, but per-font */ -#define EOL_CURSOR_WIDTH 5 - -static void x_output_vertical_divider (struct window *w, int clear); -static void x_output_blank (struct window *w, struct display_line *dl, - struct rune *rb, int start_pixpos, - int cursor_start, int cursor_width); -static void x_output_hline (struct window *w, struct display_line *dl, - struct rune *rb); -static void x_output_eol_cursor (struct window *w, struct display_line *dl, - int xpos, face_index findex); -static void x_clear_frame (struct frame *f); -static void x_clear_frame_windows (Lisp_Object window); - -#ifdef USE_XFT -#define MINL(x,y) ((((unsigned long) (x)) < ((unsigned long) (y))) \ - ? ((unsigned long) (x)) : ((unsigned long) (y))) -#endif /* USE_XFT */ - - - /* Note: We do not use the Xmb*() functions and XFontSets, nor the - Motif XFontLists and CompoundStrings. - Those functions are generally losing for a number of reasons. - Most important, they only support one locale (e.g. you could - display Japanese and ASCII text, but not mixed Japanese/Chinese - text). You could maybe call setlocale() frequently to try to deal - with this, but that would generally fail because an XFontSet is - tied to one locale and won't have the other character sets in it. - - fontconfig (the font database for Xft) has some specifier-like - properties, but it's not sufficient (witness the existence of - Pango). Pango might do the trick, but it's not a cross-platform - solution; it would need significant advantages to be worth the - effort. - */ - -/* #### Break me out into a separate header */ -struct textual_run -{ - Lisp_Object charset; - unsigned char *ptr; - int len; - int dimension; -}; - -/* Separate out the text in DYN into a series of textual runs of a - particular charset. Also convert the characters as necessary into - the format needed by XDrawImageString(), XDrawImageString16(), et - al. This means converting to one or two byte format, possibly - tweaking the high bits, and possibly running a CCL program. You - must pre-allocate the space used and pass it in. (This is done so - you can ALLOCA () the space.) (sizeof(bufchar) * len) bytes must be - allocated for TEXT_STORAGE and (len * sizeof (struct textual_run)) - bytes of RUN_STORAGE, where LEN is the length of the dynarr. - - bufchar might not be fixed width (in the case of UTF-8). - - Returns the number of runs actually used. */ - -/* Notes on Xft implementation - - - With Unicode, we're no longer going to have repertoires reified as - charsets. (Not that we ever really did, what with corporate variants, - and so on.) So we really should be querying the face for the desired - font, rather than the character for the charset, and that's what would - determine the separation into runs. - - The widechar versions of fontconfig (and therefore Xft) functions - seem to be just bigendian Unicode. So there's actually no need to use - the 8-bit versions in computing runs and runes, it would seem. -*/ - -#if !defined(USE_XFT) && !defined(MULE) -static int -separate_textual_runs_nomule (unsigned char *text_storage, - struct textual_run *run_storage, - const Ichar *str, Charcount len, - struct face_cachel *UNUSED(cachel)) -{ - if (!len) - return 0; - - run_storage[0].ptr = text_storage; - run_storage[0].len = len; - run_storage[0].dimension = 1; - run_storage[0].charset = Qnil; - - while (len--) - *text_storage++ = *str++; - return 1; -} -#endif - -#if defined(USE_XFT) && !defined(MULE) -/* - Note that in this configuration the "Croatian hack" of using an 8-bit, - non-Latin-1 font to get localized display without Mule simply isn't - available. That's by design -- Unicode does not aid or abet that kind - of punning. - This means that the cast to XftChar16 gives the correct "conversion" to - UCS-2. - #### Is there an alignment issue with text_storage? -*/ -static int -separate_textual_runs_xft_nomule (unsigned char *text_storage, - struct textual_run *run_storage, - const Ichar *str, Charcount len, - struct face_cachel *UNUSED(cachel)) -{ - int i; - if (!len) - return 0; - - run_storage[0].ptr = text_storage; - run_storage[0].len = len; - run_storage[0].dimension = 2; - run_storage[0].charset = Qnil; - - for (i = 0; i < len; i++) - { - *(XftChar16 *)text_storage = str[i]; - text_storage += sizeof(XftChar16); - } - return 1; -} -#endif - -#if defined(USE_XFT) && defined(MULE) -static int -separate_textual_runs_xft_mule (unsigned char *text_storage, - struct textual_run *run_storage, - const Ichar *str, Charcount len, - struct face_cachel *UNUSED(cachel)) -{ - Lisp_Object prev_charset = Qunbound; - int runs_so_far = 0, i; - - run_storage[0].ptr = text_storage; - run_storage[0].len = len; - run_storage[0].dimension = 2; - run_storage[0].charset = Qnil; - - for (i = 0; i < len; i++) - { - Ichar ch = str[i]; - Lisp_Object charset = ichar_charset(ch); - int ucs = ichar_to_unicode(ch); - - /* If UCS is less than zero or greater than 0xFFFF, set ucs2 to - REPLACMENT CHARACTER. */ - /* That means we can't handle characters outside of the BMP for now */ - ucs = (ucs & ~0xFFFF) ? 0xFFFD : ucs; - - if (!EQ (charset, prev_charset)) - { - if (runs_so_far) - run_storage[runs_so_far-1].len = (text_storage - run_storage[runs_so_far-1].ptr) >> 1; - run_storage[runs_so_far].ptr = text_storage; - run_storage[runs_so_far].dimension = 2; - run_storage[runs_so_far].charset = charset; - prev_charset = charset; - runs_so_far++; - } - - *(XftChar16 *)text_storage = ucs; - text_storage += sizeof(XftChar16); - } - - if (runs_so_far) - run_storage[runs_so_far-1].len = (text_storage - run_storage[runs_so_far-1].ptr) >> 1; - return runs_so_far; -} -#endif - -#if !defined(USE_XFT) && defined(MULE) -/* - This is the most complex function of this group, due to the various - indexing schemes used by different fonts. For our purposes, they - fall into three classes. Some fonts are indexed compatibly with ISO - 2022; those fonts just use the Mule internal representation directly - (typically the high bit must be reset; this is determined by the `graphic' - flag). Some fonts are indexed by Unicode, specifically by UCS-2. These - are all translated using `ichar_to_unicode'. Finally some fonts have - irregular indexes, and must be translated ad hoc. In XEmacs ad hoc - translations are accomplished with CCL programs. */ -static int -separate_textual_runs_mule (unsigned char *text_storage, - struct textual_run *run_storage, - const Ichar *str, Charcount len, - struct face_cachel *cachel) -{ - Lisp_Object prev_charset = Qunbound; - int runs_so_far = 0, i; - Ibyte charset_leading_byte = LEADING_BYTE_ASCII; - int dimension = 1, graphic = 0, need_ccl_conversion = 0; - Lisp_Object ccl_prog; - struct ccl_program char_converter; - - int translate_to_ucs_2 = 0; - - for (i = 0; i < len; i++) - { - Ichar ch = str[i]; - Lisp_Object charset; - int byte1, byte2; /* BREAKUP_ICHAR dereferences the addresses - of its arguments as pointer to int. */ - BREAKUP_ICHAR (ch, charset, byte1, byte2); - - if (!EQ (charset, prev_charset)) - { - /* At this point, dimension' and `prev_charset' refer to just- - completed run. `runs_so_far' and `text_storage' refer to the - run about to start. */ - if (runs_so_far) - { - /* Update metadata for previous run. */ - run_storage[runs_so_far - 1].len = - text_storage - run_storage[runs_so_far - 1].ptr; - if (2 == dimension) run_storage[runs_so_far - 1].len >>= 1; - } +#define THIS_IS_X - /* Compute metadata for current run. - First, classify font. - If the font is indexed by UCS-2, set `translate_to_ucs_2'. - Else if the charset has a CCL program, set `need_ccl_conversion'. - Else if the font is indexed by an ISO 2022 "graphic register", - set `graphic'. - These flags are almost mutually exclusive, but we're sloppy - about resetting "shadowed" flags. So the flags must be checked - in the proper order in computing byte1 and byte2, below. */ - charset_leading_byte = XCHARSET_LEADING_BYTE(charset); - translate_to_ucs_2 = - bit_vector_bit (FACE_CACHEL_FONT_FINAL_STAGE (cachel), - charset_leading_byte - MIN_LEADING_BYTE); - if (translate_to_ucs_2) - { - dimension = 2; - } - else - { - dimension = XCHARSET_DIMENSION (charset); - - /* Check for CCL charset. - If setup_ccl_program fails, we'll get a garbaged display. - This should never happen, and even if it does, it should - be harmless (unless the X server has buggy handling of - characters undefined in the font). It may be marginally - more useful to users and debuggers than substituting a - fixed replacement character. */ - ccl_prog = XCHARSET_CCL_PROGRAM (charset); - if ((!NILP (ccl_prog)) - && (setup_ccl_program (&char_converter, ccl_prog) >= 0)) - { - need_ccl_conversion = 1; - } - else - { - /* The charset must have an ISO 2022-compatible font index. - There are 2 "registers" (what such fonts use as index). - GL (graphic == 0) has the high bit of each octet reset, - GR (graphic == 1) has it set. */ - graphic = XCHARSET_GRAPHIC (charset); - need_ccl_conversion = 0; - } - } - - /* Initialize metadata for current run. */ - run_storage[runs_so_far].ptr = text_storage; - run_storage[runs_so_far].charset = charset; - run_storage[runs_so_far].dimension = dimension; - - /* Update loop variables. */ - prev_charset = charset; - runs_so_far++; - } - - /* Must check flags in this order. See comment above. */ - if (translate_to_ucs_2) - { - int ucs = ichar_to_unicode(ch); - /* If UCS is less than zero or greater than 0xFFFF, set ucs2 to - REPLACMENT CHARACTER. */ - ucs = (ucs & ~0xFFFF) ? 0xFFFD : ucs; - - byte1 = ucs >> 8; - byte2 = ucs; - } - else if (need_ccl_conversion) - { - char_converter.reg[0] = charset_leading_byte; - char_converter.reg[1] = byte1; - char_converter.reg[2] = byte2; - ccl_driver (&char_converter, 0, 0, 0, 0, CCL_MODE_ENCODING); - byte1 = char_converter.reg[1]; - byte2 = char_converter.reg[2]; - } - else if (graphic == 0) - { - byte1 &= 0x7F; - byte2 &= 0x7F; - } - else - { - byte1 |= 0x80; - byte2 |= 0x80; - } - - *text_storage++ = (unsigned char)byte1; - - if (2 == dimension) *text_storage++ = (unsigned char)byte2; - } - - if (runs_so_far) - { - run_storage[runs_so_far - 1].len = - text_storage - run_storage[runs_so_far - 1].ptr; - /* Dimension retains the relevant value for the run before it. */ - if (2 == dimension) - run_storage[runs_so_far - 1].len >>= 1; - } - - return runs_so_far; -} -#endif - -static int -separate_textual_runs (unsigned char *text_storage, - struct textual_run *run_storage, - const Ichar *str, Charcount len, - struct face_cachel *cachel) -{ -#if defined(USE_XFT) && defined(MULE) - return separate_textual_runs_xft_mule(text_storage, run_storage, str, len, cachel); -#endif -#if defined(USE_XFT) && !defined(MULE) - return separate_textual_runs_xft_nomule(text_storage, run_storage, str, len, cachel); -#endif -#if !defined(USE_XFT) && defined(MULE) - return separate_textual_runs_mule(text_storage, run_storage, str, len, cachel); -#endif -#if !defined(USE_XFT) && !defined(MULE) - return separate_textual_runs_nomule(text_storage, run_storage, str, len, cachel); -#endif -} - -/****************************************************************************/ -/* */ -/* X output routines */ -/* */ -/****************************************************************************/ - -static int -x_text_width_single_run (struct frame * USED_IF_XFT (f), - struct face_cachel *cachel, struct textual_run *run) -{ - Lisp_Object font_inst = FACE_CACHEL_FONT (cachel, run->charset); - Lisp_Font_Instance *fi = XFONT_INSTANCE (font_inst); - if (!fi->proportional_p) - return fi->width * run->len; -#ifdef USE_XFT - else if (FONT_INSTANCE_X_XFTFONT(fi)) - { - static XGlyphInfo glyphinfo; - struct device *d = XDEVICE (f->device); - Display *dpy = DEVICE_X_DISPLAY (d); - - if (run->dimension == 2) { - XftTextExtents16 (dpy, - FONT_INSTANCE_X_XFTFONT(fi), - (XftChar16 *) run->ptr, run->len, &glyphinfo); - } else { - XftTextExtents8 (dpy, - FONT_INSTANCE_X_XFTFONT(fi), - run->ptr, run->len, &glyphinfo); - } - - return glyphinfo.xOff; - } -#endif - else if (FONT_INSTANCE_X_FONT (fi)) - { - if (run->dimension == 2) - return XTextWidth16 (FONT_INSTANCE_X_FONT (fi), - (XChar2b *) run->ptr, run->len); - else - return XTextWidth (FONT_INSTANCE_X_FONT (fi), - (char *) run->ptr, run->len); - } - else - abort(); - return 0; /* shut up GCC */ -} - -/* - x_text_width - - Given a string and a merged face, return the string's length in pixels - when displayed in the fonts associated with the face. - */ - -/* #### Break me out into a separate header */ -int x_text_width (struct frame *f, struct face_cachel *cachel, - const Ichar *str, Charcount len); -int -x_text_width (struct frame *f, struct face_cachel *cachel, - const Ichar *str, Charcount len) -{ - /* !!#### Needs review */ - int width_so_far = 0; - unsigned char *text_storage = (unsigned char *) ALLOCA (2 * len); - struct textual_run *runs = alloca_array (struct textual_run, len); - int nruns; - int i; - - nruns = separate_textual_runs (text_storage, runs, str, len, - cachel); - - for (i = 0; i < nruns; i++) - width_so_far += x_text_width_single_run (f, cachel, runs + i); - - return width_so_far; -} - -/***************************************************************************** - x_divider_height - - Return the height of the horizontal divider. This is a function because - divider_height is a device method. - - #### If we add etched horizontal divider lines this will have to get - smarter. - ****************************************************************************/ -static int -x_divider_height (void) -{ - return 1; -} - -/***************************************************************************** - x_eol_cursor_width - - Return the width of the end-of-line cursor. This is a function - because eol_cursor_width is a device method. - ****************************************************************************/ -static int -x_eol_cursor_width (void) -{ - return EOL_CURSOR_WIDTH; -} +#include "redisplay-xlike-inc.c" /***************************************************************************** x_window_output_begin @@ -530,218 +58,6 @@ } /***************************************************************************** - x_output_display_block - - Given a display line, a block number for that start line, output all - runes between start and end in the specified display block. - ****************************************************************************/ -static void -x_output_display_block (struct window *w, struct display_line *dl, int block, - int start, int end, int start_pixpos, int cursor_start, - int cursor_width, int cursor_height) -{ -#ifndef USE_XFT - struct frame *f = XFRAME (w->frame); -#endif - Ichar_dynarr *buf; - Lisp_Object window; - - struct display_block *db = Dynarr_atp (dl->display_blocks, block); - rune_dynarr *rba = db->runes; - struct rune *rb; - - int elt = start; - face_index findex; - int xpos, width = 0; - Lisp_Object charset = Qunbound; /* Qnil is a valid charset when - MULE is not defined */ - - window = wrap_window (w); - rb = Dynarr_atp (rba, start); - - if (!rb) - /* Nothing to do so don't do anything. */ - return; - - findex = rb->findex; - xpos = rb->xpos; - if (rb->type == RUNE_CHAR) - charset = ichar_charset (rb->object.chr.ch); - - if (end < 0) - end = Dynarr_length (rba); - buf = Dynarr_new (Ichar); - - while (elt < end) - { - rb = Dynarr_atp (rba, elt); - - if (rb->findex == findex && rb->type == RUNE_CHAR - && rb->object.chr.ch != '\n' && rb->cursor_type != CURSOR_ON - && EQ (charset, ichar_charset (rb->object.chr.ch))) - { - Dynarr_add (buf, rb->object.chr.ch); - width += rb->width; - elt++; - } - else - { - if (Dynarr_length (buf)) - { - x_output_string (w, dl, buf, xpos, 0, start_pixpos, width, - findex, 0, cursor_start, cursor_width, - cursor_height); - xpos = rb->xpos; - width = 0; - } - Dynarr_reset (buf); - width = 0; - - if (rb->type == RUNE_CHAR) - { - findex = rb->findex; - xpos = rb->xpos; - charset = ichar_charset (rb->object.chr.ch); - - if (rb->cursor_type == CURSOR_ON) - { - if (rb->object.chr.ch == '\n') - { - x_output_eol_cursor (w, dl, xpos, findex); - } - else - { - Dynarr_add (buf, rb->object.chr.ch); - x_output_string (w, dl, buf, xpos, 0, start_pixpos, - rb->width, findex, 1, - cursor_start, cursor_width, - cursor_height); - Dynarr_reset (buf); - } - - xpos += rb->width; - elt++; - } - else if (rb->object.chr.ch == '\n') - { - /* Clear in case a cursor was formerly here. */ - redisplay_clear_region (window, findex, xpos, - DISPLAY_LINE_YPOS (dl), - rb->width, - DISPLAY_LINE_HEIGHT (dl)); - elt++; - } - } - else if (rb->type == RUNE_BLANK || rb->type == RUNE_HLINE) - { - if (rb->type == RUNE_BLANK) - x_output_blank (w, dl, rb, start_pixpos, cursor_start, - cursor_width); - else - { - /* #### Our flagging of when we need to redraw the - modeline shadows sucks. Since RUNE_HLINE is only used - by the modeline at the moment it is a good bet - that if it gets redrawn then we should also - redraw the shadows. This won't be true forever. - We borrow the shadow_thickness_changed flag for - now. */ - w->shadow_thickness_changed = 1; - x_output_hline (w, dl, rb); - } - - elt++; - if (elt < end) - { - rb = Dynarr_atp (rba, elt); - - findex = rb->findex; - xpos = rb->xpos; - } - } - else if (rb->type == RUNE_DGLYPH) - { - Lisp_Object instance; - struct display_box dbox; - struct display_glyph_area dga; - - redisplay_calculate_display_boxes (dl, rb->xpos, rb->object.dglyph.xoffset, - rb->object.dglyph.yoffset, start_pixpos, - rb->width, &dbox, &dga); - - window = wrap_window (w); - instance = glyph_image_instance (rb->object.dglyph.glyph, - window, ERROR_ME_DEBUG_WARN, 1); - findex = rb->findex; - - if (IMAGE_INSTANCEP (instance)) - { - switch (XIMAGE_INSTANCE_TYPE (instance)) - { - case IMAGE_MONO_PIXMAP: - case IMAGE_COLOR_PIXMAP: - redisplay_output_pixmap (w, instance, &dbox, &dga, findex, - cursor_start, cursor_width, - cursor_height, 0); - break; - - case IMAGE_WIDGET: - if (EQ (XIMAGE_INSTANCE_WIDGET_TYPE (instance), - Qlayout)) - { - redisplay_output_layout (window, instance, &dbox, &dga, findex, - cursor_start, cursor_width, - cursor_height); - break; - } - case IMAGE_SUBWINDOW: - redisplay_output_subwindow (w, instance, &dbox, &dga, findex, - cursor_start, cursor_width, - cursor_height); - break; - - case IMAGE_NOTHING: - /* nothing is as nothing does */ - break; - - case IMAGE_TEXT: - case IMAGE_POINTER: - default: - ABORT (); - } - IMAGE_INSTANCE_OPTIMIZE_OUTPUT - (XIMAGE_INSTANCE (instance)) = 0; - } - - xpos += rb->width; - elt++; - } - else - ABORT (); - } - } - - if (Dynarr_length (buf)) - x_output_string (w, dl, buf, xpos, 0, start_pixpos, width, findex, - 0, cursor_start, cursor_width, cursor_height); - - if (dl->modeline - && !EQ (Qzero, w->modeline_shadow_thickness) -#ifndef USE_XFT - /* This optimization doesn't work right with some Xft fonts, which - leave antialiasing turds at the boundary. I don't know if this - is an Xft bug or not, but I think it is. See x_output_string. */ - && (f->clear - || f->windows_structure_changed - || w->shadow_thickness_changed) -#endif - ) - bevel_modeline (w, dl); - - Dynarr_free (buf); -} - -/***************************************************************************** x_bevel_area Draw shadows for the given area in the given face. @@ -867,1072 +183,6 @@ } /***************************************************************************** - x_get_gc - - Given a number of parameters return a GC with those properties. - ****************************************************************************/ -static GC -x_get_gc (struct device *d, Lisp_Object font, Lisp_Object fg, Lisp_Object bg, - Lisp_Object bg_pmap, Lisp_Object lwidth) -{ - XGCValues gcv; - unsigned long mask; - - memset (&gcv, ~0, sizeof (XGCValues)); - gcv.graphics_exposures = False; - /* Make absolutely sure that we don't pick up a clipping region in - the GC returned by this function. */ - gcv.clip_mask = None; - gcv.clip_x_origin = 0; - gcv.clip_y_origin = 0; - gcv.fill_style = FillSolid; - mask = GCGraphicsExposures | GCClipMask | GCClipXOrigin | GCClipYOrigin; - mask |= GCFillStyle; - - if (!NILP (font) -#ifdef USE_XFT - /* Only set the font if it's a core font */ - /* the renderfont will be set elsewhere (not part of gc) */ - && !FONT_INSTANCE_X_XFTFONT (XFONT_INSTANCE (font)) -#endif - ) - { - gcv.font = FONT_INSTANCE_X_FONT (XFONT_INSTANCE (font))->fid; - mask |= GCFont; - } - - /* evil kludge! */ - if (!NILP (fg) && !COLOR_INSTANCEP (fg) && !INTP (fg)) - { - /* #### I fixed one case where this was getting hit. It was a - bad macro expansion (compiler bug). */ - stderr_out ("Help! x_get_gc got a bogus fg value! fg = "); - debug_print (fg); - fg = Qnil; - } - - if (!NILP (fg)) - { - if (COLOR_INSTANCEP (fg)) - gcv.foreground = COLOR_INSTANCE_X_COLOR (XCOLOR_INSTANCE (fg)).pixel; - else - gcv.foreground = XINT (fg); - mask |= GCForeground; - } - - if (!NILP (bg)) - { - if (COLOR_INSTANCEP (bg)) - gcv.background = COLOR_INSTANCE_X_COLOR (XCOLOR_INSTANCE (bg)).pixel; - else - gcv.background = XINT (bg); - mask |= GCBackground; - } - - /* This special case comes from a request to draw text with a face which has - the dim property. We'll use a stippled foreground GC. */ - if (EQ (bg_pmap, Qdim)) - { - assert (DEVICE_X_GRAY_PIXMAP (d) != None); - - gcv.fill_style = FillStippled; - gcv.stipple = DEVICE_X_GRAY_PIXMAP (d); - mask |= (GCFillStyle | GCStipple); - } - else if (IMAGE_INSTANCEP (bg_pmap) - && IMAGE_INSTANCE_PIXMAP_TYPE_P (XIMAGE_INSTANCE (bg_pmap))) - { - if (XIMAGE_INSTANCE_PIXMAP_DEPTH (bg_pmap) == 0) - { - gcv.fill_style = FillOpaqueStippled; - gcv.stipple = XIMAGE_INSTANCE_X_PIXMAP (bg_pmap); - mask |= (GCStipple | GCFillStyle); - } - else - { - gcv.fill_style = FillTiled; - gcv.tile = XIMAGE_INSTANCE_X_PIXMAP (bg_pmap); - mask |= (GCTile | GCFillStyle); - } - } - - if (!NILP (lwidth)) - { - gcv.line_width = XINT (lwidth); - mask |= GCLineWidth; - } - -#if 0 - debug_out ("\nx_get_gc: calling gc_cache_lookup\n"); -#endif - return gc_cache_lookup (DEVICE_X_GC_CACHE (d), &gcv, mask); -} - -/***************************************************************************** - x_output_string - - Given a string and a starting position, output that string in the - given face. If cursor is true, draw a cursor around the string. - Correctly handles multiple charsets in the string. - - The meaning of the parameters is something like this: - - W Window that the text is to be displayed in. - DL Display line that this text is on. The values in the - structure are used to determine the vertical position and - clipping range of the text. - BUF Dynamic array of Ichars specifying what is actually to be - drawn. - XPOS X position in pixels where the text should start being drawn. - XOFFSET Number of pixels to be chopped off the left side of the - text. The effect is as if the text were shifted to the - left this many pixels and clipped at XPOS. - CLIP_START Clip everything left of this X position. - WIDTH Clip everything right of XPOS + WIDTH. - FINDEX Index for the face cache element describing how to display - the text. - CURSOR #### I don't understand this. There's something - strange and overcomplexified with this variable. - Chuck, explain please? - CURSOR_START Starting X position of cursor. - CURSOR_WIDTH Width of cursor in pixels. - CURSOR_HEIGHT Height of cursor in pixels. - - Starting Y position of cursor is the top of the text line. - The cursor is drawn sometimes whether or not CURSOR is set. ??? - ****************************************************************************/ -void -x_output_string (struct window *w, struct display_line *dl, - Ichar_dynarr *buf, int xpos, int xoffset, int clip_start, - int width, face_index findex, int cursor, - int cursor_start, int cursor_width, int cursor_height) -{ - /* General variables */ - struct frame *f = XFRAME (w->frame); - struct device *d = XDEVICE (f->device); - Lisp_Object window = wrap_window (w); - Display *dpy = DEVICE_X_DISPLAY (d); - Window x_win = XtWindow (FRAME_X_TEXT_WIDGET (f)); - - int clip_end; - - /* Cursor-related variables */ - int focus = EQ (w->frame, DEVICE_FRAME_WITH_FOCUS_REAL (d)); - int cursor_clip; - Lisp_Object bar_cursor_value = symbol_value_in_buffer (Qbar_cursor, - WINDOW_BUFFER (w)); - struct face_cachel *cursor_cachel = 0; - - /* Text-related variables */ - Lisp_Object bg_pmap; - GC bgc, gc; - int height = DISPLAY_LINE_HEIGHT (dl); - int ypos = DISPLAY_LINE_YPOS (dl); - int len = Dynarr_length (buf); - unsigned char *text_storage = (unsigned char *) ALLOCA (2 * len); - struct textual_run *runs = alloca_array (struct textual_run, len); - int nruns; - int i; - struct face_cachel *cachel = WINDOW_FACE_CACHEL (w, findex); - - int use_x_font = 1; /* #### bogus!! - The logic of this function needs review! */ -#ifdef USE_XFT - Colormap cmap = DEVICE_X_COLORMAP (d); - Visual *visual = DEVICE_X_VISUAL (d); - static XftColor fg, bg; - XftDraw *xftDraw; - - /* Lazily initialize frame's xftDraw member. */ - if (!FRAME_X_XFTDRAW (f)) { - FRAME_X_XFTDRAW (f) = XftDrawCreate (dpy, x_win, visual, cmap); - } - xftDraw = FRAME_X_XFTDRAW (f); - - /* #### This will probably cause asserts when passed a Lisp integer for a - color. See ca. line 759 this file. - #### Maybe xft_convert_color should take an XColor, not a pixel. */ -#define XFT_FROB_LISP_COLOR(color, dim) \ - xft_convert_color (dpy, cmap, visual, \ - COLOR_INSTANCE_X_COLOR (XCOLOR_INSTANCE (color)).pixel, \ - (dim)) -#endif - - if (width < 0) - width = x_text_width (f, cachel, Dynarr_atp (buf, 0), Dynarr_length (buf)); - - /* Regularize the variables passed in. */ - - if (clip_start < xpos) - clip_start = xpos; - clip_end = xpos + width; - if (clip_start >= clip_end) - /* It's all clipped out. */ - return; - - xpos -= xoffset; - - /* make sure the area we are about to display is subwindow free. */ - redisplay_unmap_subwindows_maybe (f, clip_start, ypos, - clip_end - clip_start, height); - - cursor_clip = (cursor_start >= clip_start && - cursor_start < clip_end); - - /* This cursor code is really a mess. */ - if (!NILP (w->text_cursor_visible_p) - && (cursor - || cursor_clip - || (cursor_width - && (cursor_start + cursor_width >= clip_start) - && !NILP (bar_cursor_value)))) - { - /* These have to be in separate statements in order to avoid a - compiler bug. */ - face_index sucks = get_builtin_face_cache_index (w, Vtext_cursor_face); - cursor_cachel = WINDOW_FACE_CACHEL (w, sucks); - - /* We have to reset this since any call to WINDOW_FACE_CACHEL - may cause the cache to resize and any pointers to it to - become invalid. */ - cachel = WINDOW_FACE_CACHEL (w, findex); - } - -#ifdef HAVE_XIM - if (cursor && focus && (cursor_start == clip_start) && cursor_height) - XIM_SetSpotLocation (f, xpos - 2, dl->ypos + dl->descent - 2); -#endif /* HAVE_XIM */ - - bg_pmap = cachel->background_pixmap; - if (!IMAGE_INSTANCEP (bg_pmap) - || !IMAGE_INSTANCE_PIXMAP_TYPE_P (XIMAGE_INSTANCE (bg_pmap))) - bg_pmap = Qnil; - - if ((cursor && focus && NILP (bar_cursor_value) - && !NILP (w->text_cursor_visible_p)) || NILP (bg_pmap)) - bgc = 0; - else - { - bgc = x_get_gc (d, Qnil, cachel->foreground, cachel->background, - bg_pmap, Qnil); - } - - if (bgc) - { - XFillRectangle (dpy, x_win, bgc, clip_start, - ypos, clip_end - clip_start, - height); - } - - nruns = separate_textual_runs (text_storage, runs, Dynarr_atp (buf, 0), - Dynarr_length (buf), cachel); - - for (i = 0; i < nruns; i++) - { - Lisp_Object font = FACE_CACHEL_FONT (cachel, runs[i].charset); - Lisp_Font_Instance *fi = XFONT_INSTANCE (font); - int this_width; - int need_clipping; - - if (EQ (font, Vthe_null_font_instance)) - continue; - - this_width = x_text_width_single_run (f, cachel, runs + i); - need_clipping = (dl->clip || clip_start > xpos || - clip_end < xpos + this_width); - - /* XDrawImageString only clears the area equal to the height of - the given font. It is possible that a font is being displayed - on a line taller than it is, so this would cause us to fail to - clear some areas. */ - if ((int) fi->height < (int) (height + dl->clip + dl->top_clip)) - { - int clear_start = max (xpos, clip_start); - int clear_end = min (xpos + this_width, clip_end); - - if (cursor) - { - int ypos1_line, ypos1_string, ypos2_line, ypos2_string; - - ypos1_string = dl->ypos - fi->ascent; - ypos2_string = dl->ypos + fi->descent; - ypos1_line = ypos; - ypos2_line = ypos1_line + height; - - /* Make sure we don't clear below the real bottom of the - line. */ - if (ypos1_string > ypos2_line) - ypos1_string = ypos2_line; - if (ypos2_string > ypos2_line) - ypos2_string = ypos2_line; - - if (ypos1_line < ypos1_string) - { - redisplay_clear_region (window, findex, clear_start, ypos1_line, - clear_end - clear_start, - ypos1_string - ypos1_line); - } - - if (ypos2_line > ypos2_string) - { - redisplay_clear_region (window, findex, clear_start, ypos2_string, - clear_end - clear_start, - ypos2_line - ypos2_string); - } - } - else - { - redisplay_clear_region (window, findex, clear_start, - ypos, clear_end - clear_start, - height); - } - } - - if (cursor && cursor_cachel && focus && NILP (bar_cursor_value)) - { -#ifdef USE_XFT - fg = XFT_FROB_LISP_COLOR (cursor_cachel->foreground, 0); - bg = XFT_FROB_LISP_COLOR (cursor_cachel->background, 0); -#endif - gc = x_get_gc (d, font, cursor_cachel->foreground, - cursor_cachel->background, Qnil, Qnil); - } - else if (cachel->dim) - { - /* Ensure the gray bitmap exists */ - if (DEVICE_X_GRAY_PIXMAP (d) == None) - DEVICE_X_GRAY_PIXMAP (d) = - XCreateBitmapFromData (dpy, x_win, (char *)gray_bits, - gray_width, gray_height); - - /* Request a GC with the gray stipple pixmap to draw dimmed text */ -#ifdef USE_XFT - fg = XFT_FROB_LISP_COLOR (cachel->foreground, 1); - bg = XFT_FROB_LISP_COLOR (cachel->background, 0); -#endif - gc = x_get_gc (d, font, cachel->foreground, cachel->background, - Qdim, Qnil); - } - else - { -#ifdef USE_XFT - fg = XFT_FROB_LISP_COLOR (cachel->foreground, 0); - bg = XFT_FROB_LISP_COLOR (cachel->background, 0); -#endif - gc = x_get_gc (d, font, cachel->foreground, cachel->background, - Qnil, Qnil); - } -#ifdef USE_XFT - { - XftFont *rf = FONT_INSTANCE_X_XFTFONT (fi); - - if (rf) - { - use_x_font = 0; - if (need_clipping) - { - Region clip_reg = XCreateRegion(); - XRectangle clip_box = { clip_start, ypos, - clip_end - clip_start, height }; - - XUnionRectWithRegion (&clip_box, clip_reg, clip_reg); - XftDrawSetClip(xftDraw, clip_reg); - XDestroyRegion(clip_reg); - } - - if (!bgc) - { - /* #### Neither rect_height nor XftTextExtents as computed - below handles the vertical space taken up by antialiasing, - which for some fonts (eg, Bitstream Vera Sans Mono-16 on - my Mac PowerBook G4) leaves behind orphaned dots on - insertion or deletion earlier in the line, especially in - the case of the underscore character. - Interestingly, insertion or deletion of a single character - immediately after a refresh does not leave any droppings, - but any further insertions or deletions do. - While adding a pixel to rect_height (mostly) takes care of - this, it trashes aggressively laid-out elements like the - modeline (overwriting part of the bevel). - OK, unconditionally redraw the bevel, and increment - rect_height by 1. See x_output_display_block. -- sjt */ - struct textual_run *run = &runs[i]; - int rect_width = x_text_width_single_run (f, cachel, run); -#ifndef USE_XFTTEXTENTS_TO_AVOID_FONT_DROPPINGS - int rect_height = FONT_INSTANCE_ASCENT(fi) - + FONT_INSTANCE_DESCENT(fi) + 1; -#else - int rect_height = FONT_INSTANCE_ASCENT(fi) - + FONT_INSTANCE_DESCENT(fi); - XGlyphInfo gi; - if (run->dimension == 2) { - XftTextExtents16 (dpy, - FONT_INSTANCE_X_XFTFONT(fi), - (XftChar16 *) run->ptr, run->len, &gi); - } else { - XftTextExtents8 (dpy, - FONT_INSTANCE_X_XFTFONT(fi), - run->ptr, run->len, &gi); - } - rect_height = rect_height > gi.height - ? rect_height : gi.height; -#endif - - XftDrawRect (xftDraw, &bg, - xpos, ypos, rect_width, rect_height); - } - - if (runs[i].dimension == 1) - XftDrawString8 (xftDraw, &fg, rf, xpos, dl->ypos, - runs[i].ptr, runs[i].len); - else - XftDrawString16 (xftDraw, &fg, rf, xpos, dl->ypos, - (XftChar16 *) runs[i].ptr, runs[i].len); - } - } -#endif - { - if (use_x_font) - { - if (need_clipping) - { - XRectangle clip_box[1]; - - clip_box[0].x = 0; - clip_box[0].y = 0; - clip_box[0].width = clip_end - clip_start; - clip_box[0].height = height; - - XSetClipRectangles (dpy, gc, clip_start, ypos, - clip_box, 1, YXBanded); - } - - if (runs[i].dimension == 1) - (bgc ? XDrawString : XDrawImageString) - (dpy, x_win, gc, xpos, dl->ypos, - (char *) runs[i].ptr, runs[i].len); - else - (bgc ? XDrawString16 : XDrawImageString16) - (dpy, x_win, gc, xpos, dl->ypos, - (XChar2b *) runs[i].ptr, runs[i].len); - } - } - - /* We draw underlines in the same color as the text. */ - if (cachel->underline) - { - int upos, uthick; - unsigned long upos_ext, uthick_ext; - XFontStruct *fs = - use_x_font ? FONT_INSTANCE_X_FONT (XFONT_INSTANCE (font)) : 0; - /* #### the logic of the next two may be suboptimal: we may want - to use the POSITION and/or THICKNESS information with Xft */ - if (fs && XGetFontProperty (fs, XA_UNDERLINE_POSITION, &upos_ext)) - upos = (int) upos_ext; - else - upos = dl->descent / 2; - if (fs && XGetFontProperty (fs, XA_UNDERLINE_THICKNESS, &uthick_ext)) - uthick = (int) uthick_ext; - else - uthick = 1; - if (dl->ypos + upos < dl->ypos + dl->descent - dl->clip) - { - if (dl->ypos + upos + uthick > dl->ypos + dl->descent - dl->clip) - uthick = dl->descent - dl->clip - upos; - - if (uthick == 1) - { - XDrawLine (dpy, x_win, gc, xpos, dl->ypos + upos, - xpos + this_width, dl->ypos + upos); - } - else if (uthick > 1) - { - XFillRectangle (dpy, x_win, gc, xpos, - dl->ypos + upos, this_width, uthick); - } - } - } - - if (cachel->strikethru) - { - int ascent, descent, upos, uthick; - unsigned long ascent_ext, descent_ext, uthick_ext; - XFontStruct *fs = FONT_INSTANCE_X_FONT (fi); - - if (!use_x_font) - { - ascent = dl->ascent; - descent = dl->descent; - uthick = 1; - } - else - { - if (!XGetFontProperty (fs, XA_STRIKEOUT_ASCENT, &ascent_ext)) - ascent = fs->ascent; - else - ascent = (int) ascent_ext; - if (!XGetFontProperty (fs, XA_STRIKEOUT_DESCENT, &descent_ext)) - descent = fs->descent; - else - descent = (int) descent_ext; - if (!XGetFontProperty (fs, XA_UNDERLINE_THICKNESS, &uthick_ext)) - uthick = 1; - else - uthick = (int) uthick_ext; - } - - upos = ascent - ((ascent + descent) / 2) + 1; - - /* Generally, upos will be positive (above the baseline),so - subtract */ - if (dl->ypos - upos < dl->ypos + dl->descent - dl->clip) - { - if (dl->ypos - upos + uthick > dl->ypos + dl->descent - dl->clip) - uthick = dl->descent - dl->clip + upos; - - if (uthick == 1) - XDrawLine (dpy, x_win, gc, xpos, dl->ypos - upos, - xpos + this_width, dl->ypos - upos); - else if (uthick > 1) - XFillRectangle (dpy, x_win, gc, xpos, dl->ypos + upos, - this_width, uthick); - } - } - - /* Restore the GC */ - if (need_clipping) - { -#ifdef USE_XFT - if (!use_x_font) - { - XftDrawSetClip(xftDraw, 0); - } - else - { -#endif - XSetClipMask (dpy, gc, None); - XSetClipOrigin (dpy, gc, 0, 0); -#ifdef USE_XFT - } -#endif - } - - /* If we are actually superimposing the cursor then redraw with just - the appropriate section highlighted. */ - if (cursor_clip && !cursor && focus && cursor_cachel) - { -#ifdef USE_XFT - if (!use_x_font) /* Xft */ - { - XftFont *rf = FONT_INSTANCE_X_XFTFONT (fi); - - { /* set up clipping */ - Region clip_reg = XCreateRegion(); - XRectangle clip_box = { cursor_start, ypos, - cursor_width, height }; - - XUnionRectWithRegion (&clip_box, clip_reg, clip_reg); - XftDrawSetClip(xftDraw, clip_reg); - XDestroyRegion(clip_reg); - } - { /* draw background rectangle & draw text */ - int rect_height = FONT_INSTANCE_ASCENT(fi) - + FONT_INSTANCE_DESCENT(fi); - int rect_width = x_text_width_single_run(f, cachel, &runs[i]); - XftColor xft_color; - - xft_color = XFT_FROB_LISP_COLOR (cursor_cachel->background, 0); - XftDrawRect (xftDraw, &xft_color, - xpos, ypos, rect_width, rect_height); - - xft_color = XFT_FROB_LISP_COLOR (cursor_cachel->foreground, 0); - if (runs[i].dimension == 1) - XftDrawString8 (xftDraw, &xft_color, rf, xpos, dl->ypos, - runs[i].ptr, runs[i].len); - else - XftDrawString16 (xftDraw, &xft_color, rf, xpos, dl->ypos, - (XftChar16 *) runs[i].ptr, runs[i].len); - } - - XftDrawSetClip(xftDraw, 0); - } - else /* core font, not Xft */ - { -#endif - GC cgc; - XRectangle clip_box[1]; - - cgc = x_get_gc (d, font, cursor_cachel->foreground, - cursor_cachel->background, Qnil, Qnil); - - clip_box[0].x = 0; - clip_box[0].y = 0; - clip_box[0].width = cursor_width; - clip_box[0].height = height; - - XSetClipRectangles (dpy, cgc, cursor_start, ypos, - clip_box, 1, YXBanded); - if (runs[i].dimension == 1) - XDrawImageString (dpy, x_win, cgc, xpos, dl->ypos, - (char *) runs[i].ptr, runs[i].len); - else - XDrawImageString16 (dpy, x_win, cgc, xpos, dl->ypos, - (XChar2b *) runs[i].ptr, runs[i].len); - - XSetClipMask (dpy, cgc, None); - XSetClipOrigin (dpy, cgc, 0, 0); -#ifdef USE_XFT - } -#endif - } - - xpos += this_width; - } - - /* Draw the non-focus box or bar-cursor as needed. */ - /* Can't this logic be simplified? */ - if (cursor_cachel - && ((cursor && !focus && NILP (bar_cursor_value)) - || (cursor_width - && (cursor_start + cursor_width >= clip_start) - && !NILP (bar_cursor_value)))) - { - int tmp_height, tmp_y; - int bar_width = EQ (bar_cursor_value, Qt) ? 1 : 2; - int need_clipping = (cursor_start < clip_start - || clip_end < cursor_start + cursor_width); - - /* #### This value is correct (as far as I know) because - all of the times we need to draw this cursor, we will - be called with exactly one character, so we know we - can always use runs[0]. - - This is bogus as all hell, however. The cursor handling in - this function is way bogus and desperately needs to be - cleaned up. (In particular, the drawing of the cursor should - really really be separated out of this function. This may be - a bit tricky now because this function itself does way too - much stuff, a lot of which needs to be moved into - redisplay.c.) This is the only way to be able to easily add - new cursor types or (e.g.) make the bar cursor be able to - span two characters instead of overlaying just one. */ - int bogusly_obtained_ascent_value = - XFONT_INSTANCE (FACE_CACHEL_FONT (cachel, runs[0].charset))->ascent; - - if (!NILP (bar_cursor_value)) - { - gc = x_get_gc (d, Qnil, cursor_cachel->background, Qnil, Qnil, - make_int (bar_width)); - } - else - { - gc = x_get_gc (d, Qnil, cursor_cachel->background, - Qnil, Qnil, Qnil); - } - - tmp_y = dl->ypos - bogusly_obtained_ascent_value; - tmp_height = cursor_height; - if (tmp_y + tmp_height > (int) (ypos + height)) - { - tmp_y = ypos + height - tmp_height; - if (tmp_y < (int) ypos) - tmp_y = ypos; - tmp_height = ypos + height - tmp_y; - } - - if (need_clipping) - { - XRectangle clip_box[1]; - clip_box[0].x = 0; - clip_box[0].y = 0; - clip_box[0].width = clip_end - clip_start; - clip_box[0].height = tmp_height; - XSetClipRectangles (dpy, gc, clip_start, tmp_y, - /* #### why not Unsorted? */ - clip_box, 1, YXBanded); - } - - if (!focus && NILP (bar_cursor_value)) - { - XDrawRectangle (dpy, x_win, gc, cursor_start, tmp_y, - cursor_width - 1, tmp_height - 1); - } - else if (focus && !NILP (bar_cursor_value)) - { - XDrawLine (dpy, x_win, gc, cursor_start + bar_width - 1, tmp_y, - cursor_start + bar_width - 1, tmp_y + tmp_height - 1); - } - - /* Restore the GC */ - if (need_clipping) - { - XSetClipMask (dpy, gc, None); - XSetClipOrigin (dpy, gc, 0, 0); - } - } - -#ifdef USE_XFT -#undef XFT_FROB_LISP_COLOR -#endif - -} - -void -x_output_x_pixmap (struct frame *f, Lisp_Image_Instance *p, int x, - int y, int xoffset, int yoffset, - int width, int height, unsigned long fg, unsigned long bg, - GC override_gc) -{ - struct device *d = XDEVICE (f->device); - Display *dpy = DEVICE_X_DISPLAY (d); - Window x_win = XtWindow (FRAME_X_TEXT_WIDGET (f)); - - GC gc; - XGCValues gcv; - unsigned long pixmap_mask; - - if (!override_gc) - { - memset (&gcv, ~0, sizeof (XGCValues)); - gcv.graphics_exposures = False; - gcv.foreground = fg; - gcv.background = bg; - pixmap_mask = GCForeground | GCBackground | GCGraphicsExposures; - - if (IMAGE_INSTANCE_X_MASK (p)) - { - gcv.function = GXcopy; - gcv.clip_mask = IMAGE_INSTANCE_X_MASK (p); - gcv.clip_x_origin = x - xoffset; - gcv.clip_y_origin = y - yoffset; - pixmap_mask |= (GCFunction | GCClipMask | GCClipXOrigin | - GCClipYOrigin); - /* Can't set a clip rectangle because we already have a mask. - Is it possible to get an equivalent effect by changing the - args to XCopyArea below rather than messing with a clip box? - - dkindred@cs.cmu.edu - Yes. We don't clip at all now - andy@xemacs.org - */ - } - - gc = gc_cache_lookup (DEVICE_X_GC_CACHE (d), &gcv, pixmap_mask); - } - else - { - gc = override_gc; - /* override_gc might have a mask already--we don't want to nuke it. - Maybe we can insist that override_gc have no mask, or use - one of the suggestions above. */ - } - - /* depth of 0 means it's a bitmap, not a pixmap, and we should use - XCopyPlane (1 = current foreground color, 0 = background) instead - of XCopyArea, which means that the bits in the pixmap are actual - pixel values, instead of symbolic of fg/bg. */ - if (IMAGE_INSTANCE_PIXMAP_DEPTH (p) > 0) - { - XCopyArea (dpy, - IMAGE_INSTANCE_X_PIXMAP_SLICE - (p, IMAGE_INSTANCE_PIXMAP_SLICE (p)), x_win, gc, xoffset, - yoffset, width, - height, x, y); - } - else - { - XCopyPlane (dpy, IMAGE_INSTANCE_X_PIXMAP_SLICE - (p, IMAGE_INSTANCE_PIXMAP_SLICE (p)), x_win, gc, - xoffset, yoffset, width, height, x, y, 1L); - } -} - -static void -x_output_pixmap (struct window *w, Lisp_Object image_instance, - struct display_box *db, struct display_glyph_area *dga, - face_index findex, int cursor_start, int cursor_width, - int cursor_height, int UNUSED (bg_pixmap)) -{ - struct frame *f = XFRAME (w->frame); - struct device *d = XDEVICE (f->device); - Lisp_Image_Instance *p = XIMAGE_INSTANCE (image_instance); - - Display *dpy = DEVICE_X_DISPLAY (d); - Window x_win = XtWindow (FRAME_X_TEXT_WIDGET (f)); - - /* Output the pixmap. */ - { - Lisp_Object tmp_pixel; - XColor tmp_bcolor, tmp_fcolor; - - tmp_pixel = WINDOW_FACE_CACHEL_FOREGROUND (w, findex); - tmp_fcolor = COLOR_INSTANCE_X_COLOR (XCOLOR_INSTANCE (tmp_pixel)); - tmp_pixel = WINDOW_FACE_CACHEL_BACKGROUND (w, findex); - tmp_bcolor = COLOR_INSTANCE_X_COLOR (XCOLOR_INSTANCE (tmp_pixel)); - - x_output_x_pixmap (f, p, db->xpos, db->ypos, - dga->xoffset, dga->yoffset, - dga->width, dga->height, - tmp_fcolor.pixel, tmp_bcolor.pixel, 0); - } - - /* Draw a cursor over top of the pixmap. */ - if (cursor_width && cursor_height && (cursor_start >= db->xpos) - && !NILP (w->text_cursor_visible_p) - && (cursor_start < db->xpos + dga->width)) - { - GC gc; - int focus = EQ (w->frame, DEVICE_FRAME_WITH_FOCUS_REAL (d)); - struct face_cachel *cursor_cachel = - WINDOW_FACE_CACHEL (w, - get_builtin_face_cache_index - (w, Vtext_cursor_face)); - - gc = x_get_gc (d, Qnil, cursor_cachel->background, Qnil, Qnil, Qnil); - - if (cursor_width > db->xpos + dga->width - cursor_start) - cursor_width = db->xpos + dga->width - cursor_start; - - if (focus) - { - XFillRectangle (dpy, x_win, gc, cursor_start, db->ypos, cursor_width, - cursor_height); - } - else - { - XDrawRectangle (dpy, x_win, gc, cursor_start, db->ypos, cursor_width, - cursor_height); - } - } -} - -/***************************************************************************** - x_output_vertical_divider - - Draw a vertical divider down the right side of the given window. - ****************************************************************************/ -static void -x_output_vertical_divider (struct window *w, int clear) -{ - struct frame *f = XFRAME (w->frame); - struct device *d = XDEVICE (f->device); - - Display *dpy = DEVICE_X_DISPLAY (d); - Window x_win = XtWindow (FRAME_X_TEXT_WIDGET (f)); - Lisp_Object tmp_pixel; - XColor tmp_color; - XGCValues gcv; - GC background_gc; - enum edge_style style; - - unsigned long mask; - int x, y1, y2, width, shadow_thickness, spacing, line_width; - face_index div_face = - get_builtin_face_cache_index (w, Vvertical_divider_face); - - width = window_divider_width (w); - shadow_thickness = XINT (w->vertical_divider_shadow_thickness); - spacing = XINT (w->vertical_divider_spacing); - line_width = XINT (w->vertical_divider_line_width); - x = WINDOW_RIGHT (w) - width; - y1 = WINDOW_TOP (w); - y2 = WINDOW_BOTTOM (w); - - memset (&gcv, ~0, sizeof (XGCValues)); - - tmp_pixel = WINDOW_FACE_CACHEL_BACKGROUND (w, div_face); - tmp_color = COLOR_INSTANCE_X_COLOR (XCOLOR_INSTANCE (tmp_pixel)); - - /* First, get the GC's. */ - gcv.background = tmp_color.pixel; - gcv.foreground = tmp_color.pixel; - gcv.graphics_exposures = False; - mask = GCForeground | GCBackground | GCGraphicsExposures; - background_gc = gc_cache_lookup (DEVICE_X_GC_CACHE (d), &gcv, mask); - - /* Clear the divider area first. This needs to be done when a - window split occurs. */ - if (clear) - XClearArea (dpy, x_win, x, y1, width, y2 - y1, False); - - /* Draw the divider line. */ - XFillRectangle (dpy, x_win, background_gc, - x + spacing + shadow_thickness, y1, - line_width, y2 - y1); - - if (shadow_thickness < 0) - { - shadow_thickness = -shadow_thickness; - style = EDGE_BEVEL_IN; - } - else - { - style = EDGE_BEVEL_OUT; - } - - /* Draw the shadows around the divider line */ - x_bevel_area (w, div_face, x + spacing, y1, - width - 2 * spacing, y2 - y1, - shadow_thickness, EDGE_ALL, style); -} - -/***************************************************************************** - x_output_blank - - Output a blank by clearing the area it covers in the foreground color - of its face. - ****************************************************************************/ -static void -x_output_blank (struct window *w, struct display_line *dl, struct rune *rb, - int start_pixpos, int cursor_start, int cursor_width) -{ - struct frame *f = XFRAME (w->frame); - struct device *d = XDEVICE (f->device); - - Display *dpy = DEVICE_X_DISPLAY (d); - Window x_win = XtWindow (FRAME_X_TEXT_WIDGET (f)); - GC gc; - struct face_cachel *cursor_cachel = - WINDOW_FACE_CACHEL (w, - get_builtin_face_cache_index - (w, Vtext_cursor_face)); - Lisp_Object bg_pmap; - Lisp_Object buffer = WINDOW_BUFFER (w); - Lisp_Object bar_cursor_value = symbol_value_in_buffer (Qbar_cursor, - buffer); - - int x = rb->xpos; - int y = DISPLAY_LINE_YPOS (dl); - int width = rb->width; - int height = DISPLAY_LINE_HEIGHT (dl); - - /* Unmap all subwindows in the area we are going to blank. */ - redisplay_unmap_subwindows_maybe (f, x, y, width, height); - - if (start_pixpos > x) - { - if (start_pixpos >= (x + width)) - return; - else - { - width -= (start_pixpos - x); - x = start_pixpos; - } - } - - bg_pmap = WINDOW_FACE_CACHEL_BACKGROUND_PIXMAP (w, rb->findex); - if (!IMAGE_INSTANCEP (bg_pmap) - || !IMAGE_INSTANCE_PIXMAP_TYPE_P (XIMAGE_INSTANCE (bg_pmap))) - bg_pmap = Qnil; - - if (NILP (bg_pmap)) - gc = x_get_gc (d, Qnil, WINDOW_FACE_CACHEL_BACKGROUND (w, rb->findex), - Qnil, Qnil, Qnil); - else - gc = x_get_gc (d, Qnil, WINDOW_FACE_CACHEL_FOREGROUND (w, rb->findex), - WINDOW_FACE_CACHEL_BACKGROUND (w, rb->findex), bg_pmap, - Qnil); - - XFillRectangle (dpy, x_win, gc, x, y, width, height); - - /* If this rune is marked as having the cursor, then it is actually - representing a tab. */ - if (!NILP (w->text_cursor_visible_p) - && (rb->cursor_type == CURSOR_ON - || (cursor_width - && (cursor_start + cursor_width > x) - && cursor_start < (x + width)))) - { - int cursor_height, cursor_y; - int focus = EQ (w->frame, DEVICE_FRAME_WITH_FOCUS_REAL (d)); - Lisp_Font_Instance *fi; - - fi = XFONT_INSTANCE (FACE_CACHEL_FONT - (WINDOW_FACE_CACHEL (w, rb->findex), - Vcharset_ascii)); - - gc = x_get_gc (d, Qnil, cursor_cachel->background, Qnil, Qnil, Qnil); - - cursor_y = dl->ypos - fi->ascent; - cursor_height = fi->height; - if (cursor_y + cursor_height > y + height) - cursor_height = y + height - cursor_y; - - if (focus) - { - if (NILP (bar_cursor_value)) - { - XFillRectangle (dpy, x_win, gc, cursor_start, cursor_y, - fi->width, cursor_height); - } - else - { - int bar_width = EQ (bar_cursor_value, Qt) ? 1 : 2; - - gc = x_get_gc (d, Qnil, cursor_cachel->background, Qnil, Qnil, - make_int (bar_width)); - XDrawLine (dpy, x_win, gc, cursor_start + bar_width - 1, - cursor_y, cursor_start + bar_width - 1, - cursor_y + cursor_height - 1); - } - } - else if (NILP (bar_cursor_value)) - { - XDrawRectangle (dpy, x_win, gc, cursor_start, cursor_y, - fi->width - 1, cursor_height - 1); - } - } -} - -/***************************************************************************** - x_output_hline - - Output a horizontal line in the foreground of its face. - ****************************************************************************/ -static void -x_output_hline (struct window *w, struct display_line *dl, struct rune *rb) -{ - struct frame *f = XFRAME (w->frame); - struct device *d = XDEVICE (f->device); - - Display *dpy = DEVICE_X_DISPLAY (d); - Window x_win = XtWindow (FRAME_X_TEXT_WIDGET (f)); - GC gc; - - int x = rb->xpos; - int width = rb->width; - int height = DISPLAY_LINE_HEIGHT (dl); - int ypos1, ypos2, ypos3, ypos4; - - ypos1 = DISPLAY_LINE_YPOS (dl); - ypos2 = ypos1 + rb->object.hline.yoffset; - ypos3 = ypos2 + rb->object.hline.thickness; - ypos4 = dl->ypos + dl->descent - dl->clip; - - /* First clear the area not covered by the line. */ - if (height - rb->object.hline.thickness > 0) - { - gc = x_get_gc (d, Qnil, WINDOW_FACE_CACHEL_FOREGROUND (w, rb->findex), - Qnil, Qnil, Qnil); - - if (ypos2 - ypos1 > 0) - XFillRectangle (dpy, x_win, gc, x, ypos1, width, ypos2 - ypos1); - if (ypos4 - ypos3 > 0) - XFillRectangle (dpy, x_win, gc, x, ypos1, width, ypos2 - ypos1); - } - - /* Now draw the line. */ - gc = x_get_gc (d, Qnil, WINDOW_FACE_CACHEL_BACKGROUND (w, rb->findex), - Qnil, Qnil, Qnil); - - if (ypos2 < ypos1) - ypos2 = ypos1; - if (ypos3 > ypos4) - ypos3 = ypos4; - - if (ypos3 - ypos2 > 0) - XFillRectangle (dpy, x_win, gc, x, ypos2, width, ypos3 - ypos2); -} - -/***************************************************************************** x_output_shadows Draw a shadow around the given area using the given GC's. It is the @@ -2084,261 +334,6 @@ } } -/**************************************************************************** - x_clear_region - - Clear the area in the box defined by the given parameters using the - given face. - ****************************************************************************/ -static void -x_clear_region (Lisp_Object UNUSED (locale), struct device* d, - struct frame* f, face_index UNUSED (findex), - int x, int y, - int width, int height, Lisp_Object fcolor, Lisp_Object bcolor, - Lisp_Object background_pixmap) -{ - Display *dpy; - Window x_win; - GC gc = NULL; - - dpy = DEVICE_X_DISPLAY (d); - x_win = XtWindow (FRAME_X_TEXT_WIDGET (f)); - - if (!UNBOUNDP (background_pixmap)) - { - gc = x_get_gc (d, Qnil, fcolor, bcolor, background_pixmap, Qnil); - } - - if (gc) - XFillRectangle (dpy, x_win, gc, x, y, width, height); - else - XClearArea (dpy, x_win, x, y, width, height, False); -} - -/***************************************************************************** - x_output_eol_cursor - - Draw a cursor at the end of a line. The end-of-line cursor is - narrower than the normal cursor. - ****************************************************************************/ -static void -x_output_eol_cursor (struct window *w, struct display_line *dl, int xpos, - face_index findex) -{ - struct frame *f = XFRAME (w->frame); - struct device *d = XDEVICE (f->device); - Lisp_Object window; - - Display *dpy = DEVICE_X_DISPLAY (d); - Window x_win = XtWindow (FRAME_X_TEXT_WIDGET (f)); - GC gc; - face_index elt = get_builtin_face_cache_index (w, Vtext_cursor_face); - struct face_cachel *cursor_cachel = WINDOW_FACE_CACHEL (w, elt); - - int focus = EQ (w->frame, DEVICE_FRAME_WITH_FOCUS_REAL (d)); - Lisp_Object bar_cursor_value = symbol_value_in_buffer (Qbar_cursor, - WINDOW_BUFFER (w)); - - int x = xpos; - int y = DISPLAY_LINE_YPOS (dl); - int width = EOL_CURSOR_WIDTH; - int height = DISPLAY_LINE_HEIGHT (dl); - int cursor_height, cursor_y; - int defheight, defascent; - - window = wrap_window (w); - redisplay_clear_region (window, findex, x, y, width, height); - - if (NILP (w->text_cursor_visible_p)) - return; - - gc = x_get_gc (d, Qnil, cursor_cachel->background, Qnil, Qnil, Qnil); - - default_face_font_info (window, &defascent, 0, &defheight, 0, 0); - - /* make sure the cursor is entirely contained between y and y+height */ - cursor_height = min (defheight, height); - cursor_y = max (y, min (y + height - cursor_height, - dl->ypos - defascent)); - - if (focus) - { -#ifdef HAVE_XIM - XIM_SetSpotLocation (f, x - 2 , cursor_y + cursor_height - 2); -#endif /* HAVE_XIM */ - - if (NILP (bar_cursor_value)) - { - XFillRectangle (dpy, x_win, gc, x, cursor_y, width, cursor_height); - } - else - { - int bar_width = EQ (bar_cursor_value, Qt) ? 1 : 2; - - gc = x_get_gc (d, Qnil, cursor_cachel->background, Qnil, Qnil, - make_int (bar_width)); - XDrawLine (dpy, x_win, gc, x + bar_width - 1, cursor_y, - x + bar_width - 1, cursor_y + cursor_height - 1); - } - } - else if (NILP (bar_cursor_value)) - { - XDrawRectangle (dpy, x_win, gc, x, cursor_y, width - 1, - cursor_height - 1); - } -} - -static void -x_clear_frame_window (Lisp_Object window) -{ - struct window *w = XWINDOW (window); - - if (!NILP (w->vchild)) - { - x_clear_frame_windows (w->vchild); - return; - } - - if (!NILP (w->hchild)) - { - x_clear_frame_windows (w->hchild); - return; - } - - redisplay_clear_to_window_end (w, WINDOW_TEXT_TOP (w), - WINDOW_TEXT_BOTTOM (w)); -} - -static void -x_clear_frame_windows (Lisp_Object window) -{ - for (; !NILP (window); window = XWINDOW (window)->next) - x_clear_frame_window (window); -} - -static void -x_clear_frame (struct frame *f) -{ - struct device *d = XDEVICE (f->device); - Display *dpy = DEVICE_X_DISPLAY (d); - Window x_win = XtWindow (FRAME_X_TEXT_WIDGET (f)); - int x, y, width, height; - Lisp_Object frame; - - x = FRAME_LEFT_BORDER_START (f); - width = (FRAME_PIXWIDTH (f) - FRAME_REAL_LEFT_TOOLBAR_WIDTH (f) - - FRAME_REAL_RIGHT_TOOLBAR_WIDTH (f) - - 2 * FRAME_REAL_LEFT_TOOLBAR_BORDER_WIDTH (f) - - 2 * FRAME_REAL_RIGHT_TOOLBAR_BORDER_WIDTH (f)); - /* #### This adjustment by 1 should be being done in the macros. - There is some small differences between when the menubar is on - and off that we still need to deal with. */ - y = FRAME_TOP_BORDER_START (f) - 1; - height = (FRAME_PIXHEIGHT (f) - FRAME_REAL_TOP_TOOLBAR_HEIGHT (f) - - FRAME_REAL_BOTTOM_TOOLBAR_HEIGHT (f) - - 2 * FRAME_REAL_TOP_TOOLBAR_BORDER_WIDTH (f) - - 2 * FRAME_REAL_BOTTOM_TOOLBAR_BORDER_WIDTH (f)) + 1; - - XClearArea (dpy, x_win, x, y, width, height, False); - - frame = wrap_frame (f); - - if (!UNBOUNDP (FACE_BACKGROUND_PIXMAP (Vdefault_face, frame)) - || !UNBOUNDP (FACE_BACKGROUND_PIXMAP (Vleft_margin_face, frame)) - || !UNBOUNDP (FACE_BACKGROUND_PIXMAP (Vright_margin_face, frame))) - { - x_clear_frame_windows (f->root_window); - } - - if (!(check_if_pending_expose_event (d))) - XFlush (DEVICE_X_DISPLAY (d)); -} - -/* briefly swap the foreground and background colors. - */ - -static int -x_flash (struct device *d) -{ - Display *dpy; - Window win; - XGCValues gcv; - GC gc; - XColor tmp_fcolor, tmp_bcolor; - Lisp_Object tmp_pixel, frame; - struct frame *f = device_selected_frame (d); - struct window *w = XWINDOW (FRAME_ROOT_WINDOW (f)); - Widget shell = FRAME_X_SHELL_WIDGET (f); - int flash_height; - - frame = wrap_frame (f); - - tmp_pixel = FACE_FOREGROUND (Vdefault_face, frame); - tmp_fcolor = COLOR_INSTANCE_X_COLOR (XCOLOR_INSTANCE (tmp_pixel)); - tmp_pixel = FACE_BACKGROUND (Vdefault_face, frame); - tmp_bcolor = COLOR_INSTANCE_X_COLOR (XCOLOR_INSTANCE (tmp_pixel)); - - dpy = XtDisplay (shell); - win = XtWindow (FRAME_X_TEXT_WIDGET (f)); - memset (&gcv, ~0, sizeof (XGCValues)); /* initialize all slots to ~0 */ - gcv.foreground = (tmp_fcolor.pixel ^ tmp_bcolor.pixel); - gcv.function = GXxor; - gcv.graphics_exposures = False; - gc = gc_cache_lookup (DEVICE_X_GC_CACHE (XDEVICE (f->device)), &gcv, - (GCForeground | GCFunction | GCGraphicsExposures)); - default_face_height_and_width (frame, &flash_height, 0); - - /* If window is tall, flash top and bottom line. */ - if (EQ (Vvisible_bell, Qtop_bottom) && w->pixel_height > 3 * flash_height) - { - XFillRectangle (dpy, win, gc, w->pixel_left, w->pixel_top, - w->pixel_width, flash_height); - XFillRectangle (dpy, win, gc, w->pixel_left, - w->pixel_top + w->pixel_height - flash_height, - w->pixel_width, flash_height); - } - else - /* If it is short, flash it all. */ - XFillRectangle (dpy, win, gc, w->pixel_left, w->pixel_top, - w->pixel_width, w->pixel_height); - - XSync (dpy, False); - -#ifdef HAVE_SELECT - { - int usecs = 100000; - struct timeval tv; - tv.tv_sec = usecs / 1000000L; - tv.tv_usec = usecs % 1000000L; - /* I'm sure someone is going to complain about this... */ - select (0, 0, 0, 0, &tv); - } -#else -#ifdef HAVE_POLL - poll (0, 0, 100); -#else /* !HAVE_POLL */ - bite me -#endif /* HAVE_POLL */ -#endif /* HAVE_SELECT */ - - /* If window is tall, flash top and bottom line. */ - if (EQ (Vvisible_bell, Qtop_bottom) && w->pixel_height > 3 * flash_height) - { - XFillRectangle (dpy, win, gc, w->pixel_left, w->pixel_top, - w->pixel_width, flash_height); - XFillRectangle (dpy, win, gc, w->pixel_left, - w->pixel_top + w->pixel_height - flash_height, - w->pixel_width, flash_height); - } - else - /* If it is short, flash it all. */ - XFillRectangle (dpy, win, gc, w->pixel_left, w->pixel_top, - w->pixel_width, w->pixel_height); - - XSync (dpy, False); - - return 1; -} /* Make audible bell. */ @@ -2376,28 +371,3 @@ XSync (display, 0); } } - - -/************************************************************************/ -/* initialization */ -/************************************************************************/ - -void -console_type_create_redisplay_x (void) -{ - /* redisplay methods */ - CONSOLE_HAS_METHOD (x, text_width); - CONSOLE_HAS_METHOD (x, output_display_block); - CONSOLE_HAS_METHOD (x, divider_height); - CONSOLE_HAS_METHOD (x, eol_cursor_width); - CONSOLE_HAS_METHOD (x, output_vertical_divider); - CONSOLE_HAS_METHOD (x, clear_region); - CONSOLE_HAS_METHOD (x, clear_frame); - CONSOLE_HAS_METHOD (x, window_output_begin); - CONSOLE_HAS_METHOD (x, window_output_end); - CONSOLE_HAS_METHOD (x, flash); - CONSOLE_HAS_METHOD (x, ring_bell); - CONSOLE_HAS_METHOD (x, bevel_area); - CONSOLE_HAS_METHOD (x, output_string); - CONSOLE_HAS_METHOD (x, output_pixmap); -}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/redisplay-xlike-inc.c Sun Jan 24 22:06:20 2010 -0600 @@ -0,0 +1,2531 @@ +/* Common code between X and GTK. + Copyright (C) 1994, 1995 Board of Trustees, University of Illinois. + Copyright (C) 1994 Lucid, Inc. + Copyright (C) 1995 Sun Microsystems, Inc. + Copyright (C) 2002, 2003, 2005, 2009, 2010 Ben Wing. + +This file is part of XEmacs. + +XEmacs 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 2, or (at your option) any +later version. + +XEmacs 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 XEmacs; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +/* Synched up with: Not in FSF. */ + +/* Author: Chuck Thompson */ +/* Gtk flavor by William Perry */ +/* X and GTK code merged by Ben Wing, 1-10 */ + +/* Lots of work done by Ben Wing for Mule */ + +#include <config.h> +#include "lisp.h" + +#include "buffer.h" +#include "debug.h" +#include "device-impl.h" +#include "faces.h" +#include "file-coding.h" +#include "frame-impl.h" +#include "gutter.h" +#include "redisplay.h" +#include "sysdep.h" +#include "window.h" + +#ifdef MULE +#include "mule-ccl.h" +#endif +#include "charset.h" + +#ifdef THIS_IS_X +#include "console-x-impl.h" +#include "glyphs-x.h" +#include "objects-x-impl.h" +#include "xgccache.h" +#else /* THIS_IS_GTK */ +#include "console-gtk-impl.h" +#include "gccache-gtk.h" +#include "glyphs-gtk.h" +#include "objects-gtk-impl.h" +#endif /* THIS_IS_GTK */ + +#include "EmacsFrame.h" +#include "EmacsFrameP.h" + +#include "sysproc.h" /* for select() */ + +#ifdef THIS_IS_X +#include <X11/bitmaps/gray> +#endif /* THIS_IS_X */ + +#define EOL_CURSOR_WIDTH 5 + +/* About some of the types below: + + X has two ways of representing a color: (a) as an unsigned long + representing a color pixel value, i.e. the actual value stored in memory + or a file at a particular pixel location to indicate that the pixel + takes on a specific color; and (b) an XColor structure, which + encapsulates both the RGB components of a color and the associated color + pixel value. + + We call the former type XLIKE_PIXCOLOR and the latter XLIKE_COLOR. + GTK uses the same GdkColor structure for both, and normally passes in + a pointer. We provide routines to handle the two logical color types. */ + +#ifdef THIS_IS_X + +/***************************************************************************/ +/* Definitions implementing X flavor of XLIKE */ +/***************************************************************************/ + +#define XLIKE_NAME x +#define USED_IF_X(var) var + +/* types */ +#define XLIKE_DISPLAY Display * +#define XLIKE_WINDOW Window +#define XLIKE_GC GC +#define XLIKE_RECTANGLE XRectangle +#define XLIKE_GCVALUES XGCValues +#define XLIKE_COLOR XColor +#define XLIKE_PIXCOLOR unsigned long + +/* constants */ +#define XLIKE_NONE None +#define XLIKE_FALSE False + +#define XLIKE_GC_BACKGROUND GCBackground +#define XLIKE_GC_CLIP_MASK GCClipMask +#define XLIKE_GC_CLIP_X_ORIGIN GCClipXOrigin +#define XLIKE_GC_CLIP_Y_ORIGIN GCClipYOrigin +#define XLIKE_GC_EXPOSURES GCGraphicsExposures +#define XLIKE_GC_FILL GCFillStyle +#define XLIKE_GC_FONT GCFont +#define XLIKE_GC_FOREGROUND GCForeground +#define XLIKE_GC_FUNCTION GCFunction +#define XLIKE_GC_LINE_WIDTH GCLineWidth +#define XLIKE_GC_STIPPLE GCStipple +#define XLIKE_GC_TILE GCTile + +#define XLIKE_GX_COPY GXcopy +#define XLIKE_GX_XOR GXxor + +#define XLIKE_FILL_MEMBER fill_style +#define XLIKE_FILL_STIPPLED FillStippled +#define XLIKE_FILL_OPAQUE_STIPPLED FillOpaqueStippled +#define XLIKE_FILL_TILED FillTiled +#define XLIKE_FILL_SOLID FillSolid + +/* functions */ +#define GET_XLIKE_DISPLAY(d) DEVICE_X_DISPLAY (d) +#define GET_XLIKE_WINDOW(w) XtWindow (FRAME_X_TEXT_WIDGET (f)) +#define XLIKE_FILL_RECTANGLE(dpy, x_win, gc, x, y, width, height) \ + XFillRectangle (dpy, x_win, gc, x, y, width, height) +#define XLIKE_DRAW_RECTANGLE(dpy, x_win, gc, x, y, width, height) \ + XDrawRectangle (dpy, x_win, gc, x, y, width, height) +#define XLIKE_DRAW_LINE(dpy, x_win, gc, x1, y1, x2, y2) \ + XDrawLine (dpy, x_win, gc, x1, y1, x2, y2) +#define XLIKE_OUTPUT_XLIKE_PIXMAP x_output_x_pixmap + +#define XLIKE_DISPLAY_LINE_HEIGHT(dl) DISPLAY_LINE_HEIGHT (dl) +#define XLIKE_DISPLAY_LINE_YPOS(dl) DISPLAY_LINE_YPOS (dl) +#define XLIKE_DISPLAY_LINE_TOP_CLIP(dl) ((dl)->top_clip) +#define XLIKE_SET_CLIP_RECTANGLE(dpy, gc, xorig, yorig, prect) \ + /* #### why not Unsorted? */ \ + XSetClipRectangles (dpy, gc, xorig, yorig, prect, 1, YXBanded) +#define XLIKE_CLEAR_CLIP_MASK(dpy, gc) \ +do \ + { \ + XSetClipMask (dpy, gc, None); \ + XSetClipOrigin (dpy, gc, 0, 0); \ + } \ +while (0) +#define XLIKE_FLUSH(dpy) XSync (dpy, False) +#define XLIKE_CLEAR_AREA(dpy, win, x, y, width, height) \ + XClearArea (dpy, win, x, y, width, height, False) + +#define IMAGE_INSTANCE_XLIKE_MASK IMAGE_INSTANCE_X_MASK +#define XIMAGE_INSTANCE_XLIKE_PIXMAP XIMAGE_INSTANCE_X_PIXMAP +#define COLOR_INSTANCE_XLIKE_COLOR COLOR_INSTANCE_X_COLOR +#define FONT_INSTANCE_XLIKE_FONT FONT_INSTANCE_X_FONT +#define DEVICE_XLIKE_GC_CACHE DEVICE_X_GC_CACHE +#define DEVICE_XLIKE_GRAY_PIXMAP DEVICE_X_GRAY_PIXMAP +#define XLIKE_COLOR_TO_PIXCOLOR(ci) ((ci).pixel) +#define XLIKE_SET_PIXCOLOR_COPY(lval, rval) ((lval) = (rval)) +#define XLIKE_SET_PIXCOLOR_NUM(lval, rval) ((lval) = (rval)) +#define XLIKE_FONT_NUM(val) ((val)->fid) + +#define XLIKE_OUTPUT_XLIKE_PIXMAP x_output_x_pixmap + +/************ End X flavor of XLIKE **********/ + + + + +#else /* THIS_IS_GTK */ + +/***************************************************************************/ +/* Definitions implementing GTK flavor of XLIKE */ +/***************************************************************************/ + +#define XLIKE_NAME gtk +#define USED_IF_X(var) UNUSED (var) + +/*types */ +#define XLIKE_DISPLAY void * +#define XLIKE_WINDOW GdkWindow * +#define XLIKE_GC GdkGC * +#define XLIKE_RECTANGLE GdkRectangle +#define XLIKE_GCVALUES GdkGCValues +#define XLIKE_COLOR GdkColor * +#define XLIKE_PIXCOLOR GdkColor * + +/* constants */ +#define XLIKE_NONE 0 +#define XLIKE_FALSE FALSE + +#define XLIKE_GC_BACKGROUND GDK_GC_BACKGROUND +#define XLIKE_GC_CLIP_MASK GDK_GC_CLIP_MASK +#define XLIKE_GC_CLIP_X_ORIGIN GDK_GC_CLIP_X_ORIGIN +#define XLIKE_GC_CLIP_Y_ORIGIN GDK_GC_CLIP_Y_ORIGIN +#define XLIKE_GC_EXPOSURES GDK_GC_EXPOSURES +#define XLIKE_GC_FILL GDK_GC_FILL +#define XLIKE_GC_FONT GDK_GC_FONT +#define XLIKE_GC_FOREGROUND GDK_GC_FOREGROUND +#define XLIKE_GC_FUNCTION GDK_GC_FUNCTION +#define XLIKE_GC_LINE_WIDTH GDK_GC_LINE_WIDTH +#define XLIKE_GC_STIPPLE GDK_GC_STIPPLE +#define XLIKE_GC_TILE GDK_GC_TILE + +#define XLIKE_GX_COPY GDK_COPY +#define XLIKE_GX_XOR GDK_XOR + +#define XLIKE_FILL_MEMBER fill +#define XLIKE_FILL_STIPPLED GDK_STIPPLED +#define XLIKE_FILL_OPAQUE_STIPPLED GDK_OPAQUE_STIPPLED +#define XLIKE_FILL_TILED GDK_TILED +#define XLIKE_FILL_SOLID GDK_SOLID + +/* functions */ + +#define GET_XLIKE_DISPLAY(d) NULL +#define GET_XLIKE_WINDOW(w) GET_GTK_WIDGET_WINDOW (FRAME_GTK_TEXT_WIDGET (w)) +#define XLIKE_FILL_RECTANGLE(dpy, x_win, gc, x, y, width, height) \ + gdk_draw_rectangle (GDK_DRAWABLE (x_win), gc, TRUE, x, y, width, height) +#define XLIKE_DRAW_RECTANGLE(dpy, x_win, gc, x, y, width, height) \ + gdk_draw_rectangle (GDK_DRAWABLE (x_win), gc, FALSE, x, y, width, height) +#define XLIKE_DRAW_LINE(dpy, x_win, gc, x1, y1, x2, y2) \ + gdk_draw_line (GDK_DRAWABLE (x_win), gc, x1, y1, x2, y2) +#define XLIKE_OUTPUT_XLIKE_PIXMAP gtk_output_gdk_pixmap + +/* FIXME: This is totally bogus. It removes dl->top_clip from the + equations. If there is a bug involving this, fix it properly! + Or just ensure that top_clip is 0. */ +#define XLIKE_DISPLAY_LINE_HEIGHT(dl) \ + ((dl)->ascent + ((dl)->descent - (dl)->clip) +#define XLIKE_DISPLAY_LINE_YPOS(dl) ((dl)->ypos - (dl)->ascent) +#define XLIKE_DISPLAY_LINE_TOP_CLIP(dl) ((0) +#define XLIKE_SET_CLIP_RECTANGLE(dpy, gc, xorig, yorig, prect) \ +do \ + { \ + gdk_gc_set_clip_rectangle (gc, prect); \ + gdk_gc_set_clip_origin (gc, xorig, yorig); \ + } \ +while (0) +#define XLIKE_CLEAR_CLIP_MASK(dpy, gc) \ +do \ + { \ + gdk_gc_set_clip_rectangle (gc, NULL); \ + gdk_gc_set_clip_origin (gc, 0, 0); \ + } \ +while (0) +#define XLIKE_FLUSH(dpy) gdk_flush () +#define XLIKE_CLEAR_AREA(dpy, win, x, y, width, height) \ + gdk_window_clear_area (win, x, y, width, height) + +#define IMAGE_INSTANCE_XLIKE_MASK IMAGE_INSTANCE_GTK_MASK +#define XIMAGE_INSTANCE_XLIKE_PIXMAP XIMAGE_INSTANCE_GTK_PIXMAP +#define COLOR_INSTANCE_XLIKE_COLOR COLOR_INSTANCE_GTK_COLOR +#define FONT_INSTANCE_XLIKE_FONT FONT_INSTANCE_GTK_FONT +#define DEVICE_XLIKE_GRAY_PIXMAP DEVICE_GTK_GRAY_PIXMAP +#define DEVICE_XLIKE_GC_CACHE DEVICE_GTK_GC_CACHE +#define XLIKE_COLOR_TO_PIXCOLOR(ci) (ci) +#define XLIKE_SET_PIXCOLOR_COPY(lval, rval) ((lval) = *(rval)) +#define XLIKE_SET_PIXCOLOR_NUM(lval, rval) ((lval).pixel = (rval)) +#define XLIKE_FONT_NUM(val) (val) + +#define XLIKE_OUTPUT_XLIKE_PIXMAP gtk_output_gdk_pixmap + +static void gtk_output_pixmap (struct window *w, + Lisp_Object image_instance, + struct display_box *db, + struct display_glyph_area *dga, + face_index findex, + int cursor_start, + int cursor_width, + int cursor_height, + int bgpixmap); +static void gtk_clear_region (Lisp_Object locale, struct device* d, + struct frame* f, face_index findex, int x, int y, + int width, int height, Lisp_Object fcolor, + Lisp_Object bcolor, + Lisp_Object background_pixmap); +static void gtk_bevel_modeline (struct window *w, struct display_line *dl); + +#if 0 +static void __describe_gc (GdkGC *); +#endif + +/************ End GTK flavor of XLIKE **********/ + +#endif /* (not) THIS_IS_X */ + + + +/***************************************************************************/ +/* Common definitions */ +/***************************************************************************/ + +#define XCOLOR_INSTANCE_XLIKE_COLOR(x) \ + COLOR_INSTANCE_XLIKE_COLOR (XCOLOR_INSTANCE (x)) + +#define XLIKE_PASTE_1(a,b) a##_##b +#define XLIKE_PASTE(a,b) XLIKE_PASTE_1(a,b) +#define XLIKE_CONSOLE_HAS_METHOD_1(xlike, name) CONSOLE_HAS_METHOD (xlike, name) +#define XLIKE_CONSOLE_HAS_METHOD(name) \ + XLIKE_CONSOLE_HAS_METHOD_1 (XLIKE_NAME, name) + +/* Device methods */ + +#define XLIKE_text_width XLIKE_PASTE (XLIKE_NAME, text_width) +#define XLIKE_output_display_block XLIKE_PASTE (XLIKE_NAME, output_display_block) +#define XLIKE_divider_height XLIKE_PASTE (XLIKE_NAME, divider_height) +#define XLIKE_eol_cursor_width XLIKE_PASTE (XLIKE_NAME, eol_cursor_width) +#define XLIKE_output_vertical_divider XLIKE_PASTE (XLIKE_NAME, output_vertical_divider) +#define XLIKE_clear_region XLIKE_PASTE (XLIKE_NAME, clear_region) +#define XLIKE_clear_frame XLIKE_PASTE (XLIKE_NAME, clear_frame) +#define XLIKE_flash XLIKE_PASTE (XLIKE_NAME, flash) +#define XLIKE_ring_bell XLIKE_PASTE (XLIKE_NAME, ring_bell) +#define XLIKE_bevel_area XLIKE_PASTE (XLIKE_NAME, bevel_area) +#define XLIKE_output_string XLIKE_PASTE (XLIKE_NAME, output_string) +#define XLIKE_output_pixmap XLIKE_PASTE (XLIKE_NAME, output_pixmap) +#define XLIKE_window_output_begin XLIKE_PASTE (XLIKE_NAME, window_output_begin) +#define XLIKE_window_output_end XLIKE_PASTE (XLIKE_NAME, window_output_end) + +/* Miscellaneous split functions */ + +#define console_type_create_redisplay_XLIKE XLIKE_PASTE (console_type_create_redisplay, XLIKE_NAME) +#define XLIKE_get_gc XLIKE_PASTE (XLIKE_NAME, get_gc) +#define XLIKE_output_blank XLIKE_PASTE (XLIKE_NAME, output_blank) +#define XLIKE_text_width_single_run XLIKE_PASTE (XLIKE_NAME, text_width_single_run) + +static void XLIKE_output_blank (struct window *w, struct display_line *dl, + struct rune *rb, int start_pixpos, + int cursor_start, int cursor_width); +static void XLIKE_output_horizontal_line (struct window *w, + struct display_line *dl, + struct rune *rb); + +static void XLIKE_output_vertical_divider (struct window *w, int clear); + +static void XLIKE_output_eol_cursor (struct window *w, + struct display_line *dl, + int xpos, face_index findex); +static void XLIKE_clear_frame (struct frame *f); +static void XLIKE_clear_frame_windows (Lisp_Object window); +static void XLIKE_window_output_begin (struct window *w); +static void XLIKE_window_output_end (struct window *w); +static void XLIKE_bevel_area (struct window *w, face_index findex, + int x, int y, int width, int height, + int shadow_thickness, int edges, + enum edge_style style); +static void XLIKE_ring_bell (struct device *d, int volume, int pitch, + int duration); + +/****************************************************************************/ +/* */ +/* Separate textual runs */ +/* */ +/****************************************************************************/ + + + /* Note: We do not use the Xmb*() functions and XFontSets, nor the + Motif XFontLists and CompoundStrings. + Those functions are generally losing for a number of reasons. + Most important, they only support one locale (e.g. you could + display Japanese and ASCII text, but not mixed Japanese/Chinese + text). You could maybe call setlocale() frequently to try to deal + with this, but that would generally fail because an XFontSet is + tied to one locale and won't have the other character sets in it. + + fontconfig (the font database for Xft) has some specifier-like + properties, but it's not sufficient (witness the existence of + Pango). Pango might do the trick, but it's not a cross-platform + solution; it would need significant advantages to be worth the + effort. + */ + +struct textual_run +{ + Lisp_Object charset; + unsigned char *ptr; + int len; + int dimension; +}; + +/* Separate out the text in STR (an array of Ichars, not a string + representation) of length LEN into a series of runs, stored in + RUN_STORAGE. RUN_STORAGE is guaranteed to hold enough space for all + runs that could be generated from this text. Each run points to the a + stretch of text given simply by the position codes TEXT_STORAGE into a + series of textual runs of a particular charset. Also convert the + characters as necessary into the format needed by XDrawImageString(), + XDrawImageString16(), et al. This means converting to one or two byte + format, possibly tweaking the high bits, and possibly running a CCL + program. You must pre-allocate the space used and pass it in. (This is + done so you can ALLOCA () the space.) (2 * len) bytes must be allocated + for TEXT_STORAGE and (len * sizeof (struct textual_run)) bytes of + RUN_STORAGE, where LEN is the length of the dynarr. + + bufchar might not be fixed width (in the case of UTF-8). + + Returns the number of runs actually used. */ + +/* Notes on Xft implementation + + - With Unicode, we're no longer going to have repertoires reified as + charsets. (Not that we ever really did, what with corporate variants, + and so on.) So we really should be querying the face for the desired + font, rather than the character for the charset, and that's what would + determine the separation into runs. + - The widechar versions of fontconfig (and therefore Xft) functions + seem to be just bigendian Unicode. So there's actually no need to use + the 8-bit versions in computing runs and runes, it would seem. +*/ + +#if !defined(USE_XFT) && !defined(MULE) +static int +separate_textual_runs_nomule (unsigned char *text_storage, + struct textual_run *run_storage, + const Ichar *str, Charcount len, + struct face_cachel *UNUSED(cachel)) +{ + if (!len) + return 0; + + run_storage[0].ptr = text_storage; + run_storage[0].len = len; + run_storage[0].dimension = 1; + run_storage[0].charset = Qnil; + + while (len--) + *text_storage++ = *str++; + return 1; +} +#endif + +#if defined(USE_XFT) && !defined(MULE) +/* + Note that in this configuration the "Croatian hack" of using an 8-bit, + non-Latin-1 font to get localized display without Mule simply isn't + available. That's by design -- Unicode does not aid or abet that kind + of punning. + This means that the cast to XftChar16 gives the correct "conversion" to + UCS-2. + #### Is there an alignment issue with text_storage? +*/ +static int +separate_textual_runs_xft_nomule (unsigned char *text_storage, + struct textual_run *run_storage, + const Ichar *str, Charcount len, + struct face_cachel *UNUSED(cachel)) +{ + int i; + if (!len) + return 0; + + run_storage[0].ptr = text_storage; + run_storage[0].len = len; + run_storage[0].dimension = 2; + run_storage[0].charset = Qnil; + + for (i = 0; i < len; i++) + { + *(XftChar16 *)text_storage = str[i]; + text_storage += sizeof(XftChar16); + } + return 1; +} +#endif + +#if defined(USE_XFT) && defined(MULE) +static int +separate_textual_runs_xft_mule (unsigned char *text_storage, + struct textual_run *run_storage, + const Ichar *str, Charcount len, + struct face_cachel *UNUSED(cachel)) +{ + Lisp_Object prev_charset = Qunbound; + int runs_so_far = 0, i; + + run_storage[0].ptr = text_storage; + run_storage[0].len = len; + run_storage[0].dimension = 2; + run_storage[0].charset = Qnil; + + for (i = 0; i < len; i++) + { + Ichar ch = str[i]; + Lisp_Object charset = ichar_charset(ch); + int ucs = ichar_to_unicode(ch); + + /* If UCS is less than zero or greater than 0xFFFF, set ucs2 to + REPLACMENT CHARACTER. */ + /* That means we can't handle characters outside of the BMP for now */ + ucs = (ucs & ~0xFFFF) ? 0xFFFD : ucs; + + if (!EQ (charset, prev_charset)) + { + if (runs_so_far) + run_storage[runs_so_far-1].len = (text_storage - run_storage[runs_so_far-1].ptr) >> 1; + run_storage[runs_so_far].ptr = text_storage; + run_storage[runs_so_far].dimension = 2; + run_storage[runs_so_far].charset = charset; + prev_charset = charset; + runs_so_far++; + } + + *(XftChar16 *)text_storage = ucs; + text_storage += sizeof(XftChar16); + } + + if (runs_so_far) + run_storage[runs_so_far-1].len = (text_storage - run_storage[runs_so_far-1].ptr) >> 1; + return runs_so_far; +} +#endif + +#if !defined(USE_XFT) && defined(MULE) +/* + This is the most complex function of this group, due to the various + indexing schemes used by different fonts. For our purposes, they + fall into three classes. Some fonts are indexed compatibly with ISO + 2022; those fonts just use the Mule internal representation directly + (typically the high bit must be reset; this is determined by the `graphic' + flag). Some fonts are indexed by Unicode, specifically by UCS-2. These + are all translated using `ichar_to_unicode'. Finally some fonts have + irregular indexes, and must be translated ad hoc. In XEmacs ad hoc + translations are accomplished with CCL programs. */ +static int +separate_textual_runs_mule (unsigned char *text_storage, + struct textual_run *run_storage, + const Ichar *str, Charcount len, + struct face_cachel *cachel) +{ + Lisp_Object prev_charset = Qunbound; + int runs_so_far = 0, i; + Ibyte charset_leading_byte = LEADING_BYTE_ASCII; + int dimension = 1, graphic = 0, need_ccl_conversion = 0; + Lisp_Object ccl_prog; + struct ccl_program char_converter; + + int translate_to_ucs_2 = 0; + + for (i = 0; i < len; i++) + { + Ichar ch = str[i]; + Lisp_Object charset; + int byte1, byte2; /* BREAKUP_ICHAR dereferences the addresses + of its arguments as pointer to int. */ + BREAKUP_ICHAR (ch, charset, byte1, byte2); + + if (!EQ (charset, prev_charset)) + { + /* At this point, dimension' and `prev_charset' refer to just- + completed run. `runs_so_far' and `text_storage' refer to the + run about to start. */ + if (runs_so_far) + { + /* Update metadata for previous run. */ + run_storage[runs_so_far - 1].len = + text_storage - run_storage[runs_so_far - 1].ptr; + if (2 == dimension) run_storage[runs_so_far - 1].len >>= 1; + } + + /* Compute metadata for current run. + First, classify font. + If the font is indexed by UCS-2, set `translate_to_ucs_2'. + Else if the charset has a CCL program, set `need_ccl_conversion'. + Else if the font is indexed by an ISO 2022 "graphic register", + set `graphic'. + These flags are almost mutually exclusive, but we're sloppy + about resetting "shadowed" flags. So the flags must be checked + in the proper order in computing byte1 and byte2, below. */ + charset_leading_byte = XCHARSET_LEADING_BYTE(charset); + translate_to_ucs_2 = + bit_vector_bit (FACE_CACHEL_FONT_FINAL_STAGE (cachel), + charset_leading_byte - MIN_LEADING_BYTE); + if (translate_to_ucs_2) + { + dimension = 2; + } + else + { + dimension = XCHARSET_DIMENSION (charset); + + /* Check for CCL charset. + If setup_ccl_program fails, we'll get a garbaged display. + This should never happen, and even if it does, it should + be harmless (unless the X server has buggy handling of + characters undefined in the font). It may be marginally + more useful to users and debuggers than substituting a + fixed replacement character. */ + ccl_prog = XCHARSET_CCL_PROGRAM (charset); + if ((!NILP (ccl_prog)) + && (setup_ccl_program (&char_converter, ccl_prog) >= 0)) + { + need_ccl_conversion = 1; + } + else + { + /* The charset must have an ISO 2022-compatible font index. + There are 2 "registers" (what such fonts use as index). + GL (graphic == 0) has the high bit of each octet reset, + GR (graphic == 1) has it set. */ + graphic = XCHARSET_GRAPHIC (charset); + need_ccl_conversion = 0; + } + } + + /* Initialize metadata for current run. */ + run_storage[runs_so_far].ptr = text_storage; + run_storage[runs_so_far].charset = charset; + run_storage[runs_so_far].dimension = dimension; + + /* Update loop variables. */ + prev_charset = charset; + runs_so_far++; + } + + /* Must check flags in this order. See comment above. */ + if (translate_to_ucs_2) + { + int ucs = ichar_to_unicode(ch); + /* If UCS is less than zero or greater than 0xFFFF, set ucs2 to + REPLACMENT CHARACTER. */ + ucs = (ucs & ~0xFFFF) ? 0xFFFD : ucs; + + byte1 = ucs >> 8; + byte2 = ucs; + } + else if (need_ccl_conversion) + { + char_converter.reg[0] = charset_leading_byte; + char_converter.reg[1] = byte1; + char_converter.reg[2] = byte2; + ccl_driver (&char_converter, 0, 0, 0, 0, CCL_MODE_ENCODING); + byte1 = char_converter.reg[1]; + byte2 = char_converter.reg[2]; + } + else if (graphic == 0) + { + byte1 &= 0x7F; + byte2 &= 0x7F; + } + else + { + byte1 |= 0x80; + byte2 |= 0x80; + } + + *text_storage++ = (unsigned char)byte1; + + if (2 == dimension) *text_storage++ = (unsigned char)byte2; + } + + if (runs_so_far) + { + run_storage[runs_so_far - 1].len = + text_storage - run_storage[runs_so_far - 1].ptr; + /* Dimension retains the relevant value for the run before it. */ + if (2 == dimension) + run_storage[runs_so_far - 1].len >>= 1; + } + + return runs_so_far; +} +#endif + +static int +separate_textual_runs (unsigned char *text_storage, + struct textual_run *run_storage, + const Ichar *str, Charcount len, + struct face_cachel *cachel) +{ +#if defined(USE_XFT) && defined(MULE) + return separate_textual_runs_xft_mule (text_storage, run_storage, + str, len, cachel); +#endif +#if defined(USE_XFT) && !defined(MULE) + return separate_textual_runs_xft_nomule (text_storage, run_storage, + str, len, cachel); +#endif +#if !defined(USE_XFT) && defined(MULE) + return separate_textual_runs_mule (text_storage, run_storage, + str, len, cachel); +#endif +#if !defined(USE_XFT) && !defined(MULE) + return separate_textual_runs_nomule (text_storage, run_storage, + str, len, cachel); +#endif +} + +/****************************************************************************/ +/* */ +/* Xlike output routines */ +/* */ +/****************************************************************************/ + +static int +XLIKE_text_width_single_run (struct frame * USED_IF_XFT (f), + struct face_cachel *cachel, + struct textual_run *run) +{ + Lisp_Object font_inst = FACE_CACHEL_FONT (cachel, run->charset); + Lisp_Font_Instance *fi = XFONT_INSTANCE (font_inst); + + if (!fi->proportional_p) + return fi->width * run->len; +#ifdef USE_XFT + else if (FONT_INSTANCE_X_XFTFONT (fi)) + { + static XGlyphInfo glyphinfo; + struct device *d = XDEVICE (f->device); + Display *dpy = DEVICE_X_DISPLAY (d); + + if (run->dimension == 2) + { + XftTextExtents16 (dpy, + FONT_INSTANCE_X_XFTFONT (fi), + (XftChar16 *) run->ptr, run->len, &glyphinfo); + } + else + { + XftTextExtents8 (dpy, + FONT_INSTANCE_X_XFTFONT (fi), + run->ptr, run->len, &glyphinfo); + } + + return glyphinfo.xOff; + } +#endif + else if (FONT_INSTANCE_XLIKE_FONT (fi)) + { + if (run->dimension == 2) + { +#ifdef THIS_IS_X + return XTextWidth16 (FONT_INSTANCE_X_FONT (fi), + (XChar2b *) run->ptr, run->len); +#else /* THIS_IS_GTK */ + /* stderr_out ("Measuring wide characters\n"); */ + return gdk_text_width_wc (FONT_INSTANCE_GTK_FONT (fi), + (GdkWChar *) run->ptr, run->len); +#endif /* THIS_IS_GTK */ + } + else + { +#ifdef THIS_IS_X + return XTextWidth (FONT_INSTANCE_X_FONT (fi), + (char *) run->ptr, run->len); +#else /* THIS_IS_GTK */ + return gdk_text_width (FONT_INSTANCE_GTK_FONT (fi), + (char *) run->ptr, run->len); +#endif /* THIS_IS_GTK */ + } + } + else + abort(); + return 0; /* shut up GCC */ +} + +/* + XLIKE_text_width + + Given a string and a merged face, return the string's length in pixels + when displayed in the fonts associated with the face. + */ + +static int +XLIKE_text_width (struct window *w, struct face_cachel *cachel, + const Ichar *str, Charcount len) +{ + /* !!#### Needs review */ + int width_so_far = 0; + unsigned char *text_storage = (unsigned char *) ALLOCA (2 * len); + struct textual_run *runs = alloca_array (struct textual_run, len); + struct frame *f = WINDOW_XFRAME (w); + int nruns; + int i; + + nruns = separate_textual_runs (text_storage, runs, str, len, + cachel); + + for (i = 0; i < nruns; i++) + width_so_far += XLIKE_text_width_single_run (f, cachel, runs + i); + + return width_so_far; +} + +/***************************************************************************** + XLIKE_divider_height + + Return the height of the horizontal divider. This is a function because + divider_height is a device method. + + #### If we add etched horizontal divider lines this will have to get + smarter. + ****************************************************************************/ +static int +XLIKE_divider_height (void) +{ +#ifdef THIS_IS_X + return 1; +#else /* THIS_IS_GTK */ + return 2; +#endif /* THIS_IS_GTK */ +} + +/***************************************************************************** + XLIKE_eol_cursor_width + + Return the width of the end-of-line cursor. This is a function + because eol_cursor_width is a device method. + ****************************************************************************/ +static int +XLIKE_eol_cursor_width (void) +{ + return EOL_CURSOR_WIDTH; +} + +/***************************************************************************** + XLIKE_output_display_block + + Given a display line, a block number for that start line, output all + runes between start and end in the specified display block. + ****************************************************************************/ +static void +XLIKE_output_display_block (struct window *w, struct display_line *dl, + int block, int start, int end, int start_pixpos, + int cursor_start, int cursor_width, + int cursor_height) +{ +#ifndef USE_XFT + struct frame *f = XFRAME (w->frame); +#endif + Ichar_dynarr *buf; + Lisp_Object window; + + struct display_block *db = Dynarr_atp (dl->display_blocks, block); + rune_dynarr *rba = db->runes; + struct rune *rb; + + int elt = start; + face_index findex; + int xpos, width = 0; + Lisp_Object charset = Qunbound; /* Qnil is a valid charset when + MULE is not defined */ + + window = wrap_window (w); + rb = Dynarr_atp (rba, start); + + if (!rb) + /* Nothing to do so don't do anything. */ + return; + + findex = rb->findex; + xpos = rb->xpos; + if (rb->type == RUNE_CHAR) + charset = ichar_charset (rb->object.chr.ch); + + if (end < 0) + end = Dynarr_length (rba); + buf = Dynarr_new (Ichar); + + while (elt < end) + { + rb = Dynarr_atp (rba, elt); + + if (rb->findex == findex && rb->type == RUNE_CHAR + && rb->object.chr.ch != '\n' && rb->cursor_type != CURSOR_ON + && EQ (charset, ichar_charset (rb->object.chr.ch))) + { + Dynarr_add (buf, rb->object.chr.ch); + width += rb->width; + elt++; + } + else + { + if (Dynarr_length (buf)) + { + XLIKE_output_string (w, dl, buf, xpos, 0, start_pixpos, width, + findex, 0, cursor_start, cursor_width, + cursor_height); + xpos = rb->xpos; + width = 0; + } + Dynarr_reset (buf); + width = 0; + + if (rb->type == RUNE_CHAR) + { + findex = rb->findex; + xpos = rb->xpos; + charset = ichar_charset (rb->object.chr.ch); + + if (rb->cursor_type == CURSOR_ON) + { + if (rb->object.chr.ch == '\n') + { + XLIKE_output_eol_cursor (w, dl, xpos, findex); + } + else + { + Dynarr_add (buf, rb->object.chr.ch); + XLIKE_output_string (w, dl, buf, xpos, 0, start_pixpos, + rb->width, findex, 1, + cursor_start, cursor_width, + cursor_height); + Dynarr_reset (buf); + } + + xpos += rb->width; + elt++; + } + else if (rb->object.chr.ch == '\n') + { + /* Clear in case a cursor was formerly here. */ + redisplay_clear_region (window, findex, xpos, + XLIKE_DISPLAY_LINE_YPOS (dl), + rb->width, + XLIKE_DISPLAY_LINE_HEIGHT (dl)); + elt++; + } + } + else if (rb->type == RUNE_BLANK || rb->type == RUNE_HLINE) + { + if (rb->type == RUNE_BLANK) + XLIKE_output_blank (w, dl, rb, start_pixpos, cursor_start, + cursor_width); + else + { + /* #### Our flagging of when we need to redraw the + modeline shadows sucks. Since RUNE_HLINE is only used + by the modeline at the moment it is a good bet + that if it gets redrawn then we should also + redraw the shadows. This won't be true forever. + We borrow the shadow_thickness_changed flag for + now. */ + w->shadow_thickness_changed = 1; + XLIKE_output_horizontal_line (w, dl, rb); + } + + elt++; + if (elt < end) + { + rb = Dynarr_atp (rba, elt); + + findex = rb->findex; + xpos = rb->xpos; + } + } + else if (rb->type == RUNE_DGLYPH) + { + Lisp_Object instance; + struct display_box dbox; + struct display_glyph_area dga; + + redisplay_calculate_display_boxes (dl, rb->xpos, rb->object.dglyph.xoffset, + rb->object.dglyph.yoffset, start_pixpos, + rb->width, &dbox, &dga); + + window = wrap_window (w); + instance = glyph_image_instance (rb->object.dglyph.glyph, + window, ERROR_ME_DEBUG_WARN, 1); + findex = rb->findex; + + if (IMAGE_INSTANCEP (instance)) + { + switch (XIMAGE_INSTANCE_TYPE (instance)) + { + case IMAGE_TEXT: +#ifdef THIS_IS_GTK + { + /* !!#### Examine for Mule-izing */ + /* #### This is way losing. See the comment in + add_glyph_rune(). */ + Lisp_Object string = + XIMAGE_INSTANCE_TEXT_STRING (instance); + convert_ibyte_string_into_ichar_dynarr + (XSTRING_DATA (string), XSTRING_LENGTH (string), + buf); + + gtk_output_string (w, dl, buf, xpos, + rb->object.dglyph.xoffset, + start_pixpos, -1, findex, + (rb->cursor_type == CURSOR_ON), + cursor_start, cursor_width, + cursor_height); + Dynarr_reset (buf); + } + break; +#else + ABORT (); +#endif /* THIS_IS_GTK */ + case IMAGE_MONO_PIXMAP: + case IMAGE_COLOR_PIXMAP: + redisplay_output_pixmap (w, instance, &dbox, &dga, + findex, cursor_start, + cursor_width, + cursor_height, 0); + break; + + case IMAGE_WIDGET: + if (EQ (XIMAGE_INSTANCE_WIDGET_TYPE (instance), + Qlayout)) + { + redisplay_output_layout (window, instance, &dbox, + &dga, findex, + cursor_start, cursor_width, + cursor_height); + break; + } + + case IMAGE_SUBWINDOW: + redisplay_output_subwindow (w, instance, &dbox, &dga, + findex, cursor_start, + cursor_width, cursor_height); + break; + + case IMAGE_NOTHING: + /* nothing is as nothing does */ + break; + + case IMAGE_POINTER: + default: + ABORT (); + } + IMAGE_INSTANCE_OPTIMIZE_OUTPUT + (XIMAGE_INSTANCE (instance)) = 0; + } + + xpos += rb->width; + elt++; + } + else + ABORT (); + } + } + + if (Dynarr_length (buf)) + XLIKE_output_string (w, dl, buf, xpos, 0, start_pixpos, width, findex, + 0, cursor_start, cursor_width, cursor_height); + + if (dl->modeline + && !EQ (Qzero, w->modeline_shadow_thickness) +#ifndef USE_XFT + /* This optimization doesn't work right with some Xft fonts, which + leave antialiasing turds at the boundary. I don't know if this + is an Xft bug or not, but I think it is. See x_output_string. */ + && (f->clear + || f->windows_structure_changed + || w->shadow_thickness_changed) +#endif + ) + bevel_modeline (w, dl); + + Dynarr_free (buf); +} + +/***************************************************************************** + XLIKE_get_gc + + Given a number of parameters return a GC with those properties. + ****************************************************************************/ +static XLIKE_GC +XLIKE_get_gc (struct device *d, Lisp_Object font, Lisp_Object fg, + Lisp_Object bg, Lisp_Object bg_pmap, Lisp_Object lwidth) +{ + XLIKE_GCVALUES gcv; + unsigned long mask; + + memset (&gcv, ~0, sizeof (gcv)); + gcv.graphics_exposures = XLIKE_FALSE; + /* Make absolutely sure that we don't pick up a clipping region in + the GC returned by this function. */ + gcv.clip_mask = XLIKE_NONE; + gcv.clip_x_origin = 0; + gcv.clip_y_origin = 0; + gcv.XLIKE_FILL_MEMBER = XLIKE_FILL_SOLID; + mask = XLIKE_GC_EXPOSURES | XLIKE_GC_CLIP_MASK | XLIKE_GC_CLIP_X_ORIGIN | XLIKE_GC_CLIP_Y_ORIGIN; + mask |= XLIKE_GC_FILL; + + if (!NILP (font) +#ifdef USE_XFT + /* Only set the font if it's a core font */ + /* the renderfont will be set elsewhere (not part of gc) */ + && !FONT_INSTANCE_X_XFTFONT (XFONT_INSTANCE (font)) +#endif + ) + { + gcv.font = + XLIKE_FONT_NUM (FONT_INSTANCE_XLIKE_FONT (XFONT_INSTANCE (font))); + mask |= XLIKE_GC_FONT; + } + + /* evil kludge! */ + if (!NILP (fg) && !COLOR_INSTANCEP (fg) && !INTP (fg)) + { + /* #### I fixed one case where this was getting hit. It was a + bad macro expansion (compiler bug). */ + stderr_out ("Help! x_get_gc got a bogus fg value! fg = "); + debug_print (fg); + fg = Qnil; + } + + if (!NILP (fg)) + { + if (COLOR_INSTANCEP (fg)) + XLIKE_SET_PIXCOLOR_COPY + (gcv.foreground, + XLIKE_COLOR_TO_PIXCOLOR (XCOLOR_INSTANCE_XLIKE_COLOR (fg))); + else + XLIKE_SET_PIXCOLOR_NUM (gcv.foreground, XINT (fg)); + mask |= XLIKE_GC_FOREGROUND; + } + + if (!NILP (bg)) + { + if (COLOR_INSTANCEP (bg)) + XLIKE_SET_PIXCOLOR_COPY + (gcv.background, + XLIKE_COLOR_TO_PIXCOLOR (XCOLOR_INSTANCE_XLIKE_COLOR (bg))); + else + XLIKE_SET_PIXCOLOR_NUM (gcv.background, XINT (bg)); + mask |= XLIKE_GC_BACKGROUND; + } + + /* This special case comes from a request to draw text with a face which has + the dim property. We'll use a stippled foreground GC. */ + if (EQ (bg_pmap, Qdim)) + { + assert (DEVICE_XLIKE_GRAY_PIXMAP (d) != XLIKE_NONE); + + gcv.XLIKE_FILL_MEMBER = XLIKE_FILL_STIPPLED; + gcv.stipple = DEVICE_XLIKE_GRAY_PIXMAP (d); + mask |= (XLIKE_GC_FILL | XLIKE_GC_STIPPLE); + } + else if (IMAGE_INSTANCEP (bg_pmap) + && IMAGE_INSTANCE_PIXMAP_TYPE_P (XIMAGE_INSTANCE (bg_pmap))) + { + if (XIMAGE_INSTANCE_PIXMAP_DEPTH (bg_pmap) == 0) + { + gcv.XLIKE_FILL_MEMBER = XLIKE_FILL_OPAQUE_STIPPLED; + gcv.stipple = XIMAGE_INSTANCE_XLIKE_PIXMAP (bg_pmap); + mask |= (XLIKE_GC_STIPPLE | XLIKE_GC_FILL); + } + else + { + gcv.XLIKE_FILL_MEMBER = XLIKE_FILL_TILED; + gcv.tile = XIMAGE_INSTANCE_XLIKE_PIXMAP (bg_pmap); + mask |= (XLIKE_GC_TILE | XLIKE_GC_FILL); + } + } + + if (!NILP (lwidth)) + { + gcv.line_width = XINT (lwidth); + mask |= XLIKE_GC_LINE_WIDTH; + } + +#if 0 + debug_out ("\nx_get_gc: calling gc_cache_lookup\n"); +#endif + return gc_cache_lookup (DEVICE_XLIKE_GC_CACHE (d), &gcv, mask); +} + +/***************************************************************************** + XLIKE_output_string + + Given a string and a starting position, output that string in the + given face. If cursor is true, draw a cursor around the string. + Correctly handles multiple charsets in the string. + + The meaning of the parameters is something like this: + + W Window that the text is to be displayed in. + DL Display line that this text is on. The values in the + structure are used to determine the vertical position and + clipping range of the text. + BUF Dynamic array of Ichars specifying what is actually to be + drawn. + XPOS X position in pixels where the text should start being drawn. + XOFFSET Number of pixels to be chopped off the left side of the + text. The effect is as if the text were shifted to the + left this many pixels and clipped at XPOS. + CLIP_START Clip everything left of this X position. + WIDTH Clip everything right of XPOS + WIDTH. + FINDEX Index for the face cache element describing how to display + the text. + CURSOR #### I don't understand this. There's something + strange and overcomplexified with this variable. + Chuck, explain please? + CURSOR_START Starting X position of cursor. + CURSOR_WIDTH Width of cursor in pixels. + CURSOR_HEIGHT Height of cursor in pixels. + + Starting Y position of cursor is the top of the text line. + The cursor is drawn sometimes whether or not CURSOR is set. ??? + ****************************************************************************/ +#ifdef THIS_IS_GTK +static +void gdk_draw_text_image (GdkDrawable *drawable, + GdkFont *font, + GdkGC *gc, + gint x, + gint y, + const gchar *text, + gint text_length); + +#endif /* THIS_IS_GTK */ +void +XLIKE_output_string (struct window *w, struct display_line *dl, + Ichar_dynarr *buf, int xpos, int xoffset, int clip_start, + int width, face_index findex, int cursor, + int cursor_start, int cursor_width, int cursor_height) +{ + /* General variables */ + struct frame *f = XFRAME (w->frame); + struct device *d = XDEVICE (f->device); + XLIKE_DISPLAY dpy = GET_XLIKE_DISPLAY (d); + XLIKE_WINDOW x_win = GET_XLIKE_WINDOW (f); + Lisp_Object window = wrap_window (w); + + int clip_end; + + /* Cursor-related variables */ + int focus = EQ (w->frame, DEVICE_FRAME_WITH_FOCUS_REAL (d)); + int cursor_clip; + Lisp_Object bar_cursor_value = symbol_value_in_buffer (Qbar_cursor, + WINDOW_BUFFER (w)); + struct face_cachel *cursor_cachel = 0; + + /* Text-related variables */ + Lisp_Object bg_pmap; + XLIKE_GC bgc, gc; + int height = XLIKE_DISPLAY_LINE_HEIGHT (dl); + int ypos = XLIKE_DISPLAY_LINE_YPOS (dl); + int len = Dynarr_length (buf); + unsigned char *text_storage = (unsigned char *) ALLOCA (2 * len); + struct textual_run *runs = alloca_array (struct textual_run, len); + int nruns; + int i; + struct face_cachel *cachel = WINDOW_FACE_CACHEL (w, findex); + +#ifdef THIS_IS_X + int use_x_font = 1; /* #### bogus!! + The logic of this function needs review! */ +#endif +#ifdef USE_XFT + Colormap cmap = DEVICE_X_COLORMAP (d); + Visual *visual = DEVICE_X_VISUAL (d); + static XftColor fg, bg; + XftDraw *xftDraw; + + /* Lazily initialize frame's xftDraw member. */ + if (!FRAME_X_XFTDRAW (f)) { + FRAME_X_XFTDRAW (f) = XftDrawCreate (dpy, x_win, visual, cmap); + } + xftDraw = FRAME_X_XFTDRAW (f); + + /* #### This will probably cause asserts when passed a Lisp integer for a + color. See ca. line 759 this file. + #### Maybe xft_convert_color should take an XColor, not a pixel. */ +#define XFT_FROB_LISP_COLOR(color, dim) \ + xft_convert_color (dpy, cmap, visual, \ + COLOR_INSTANCE_X_COLOR (XCOLOR_INSTANCE (color)).pixel, \ + (dim)) +#endif /* USE_XFT */ + + if (width < 0) + width = XLIKE_text_width (w, cachel, Dynarr_atp (buf, 0), + Dynarr_length (buf)); + + /* Regularize the variables passed in. */ + + if (clip_start < xpos) + clip_start = xpos; + clip_end = xpos + width; + if (clip_start >= clip_end) + /* It's all clipped out. */ + return; + + xpos -= xoffset; + + /* make sure the area we are about to display is subwindow free. */ + redisplay_unmap_subwindows_maybe (f, clip_start, ypos, + clip_end - clip_start, height); + + cursor_clip = (cursor_start >= clip_start && + cursor_start < clip_end); + + /* This cursor code is really a mess. */ + if (!NILP (w->text_cursor_visible_p) + && (cursor + || cursor_clip + || (cursor_width + && (cursor_start + cursor_width >= clip_start) + && !NILP (bar_cursor_value)))) + { + /* These have to be in separate statements in order to avoid a + compiler bug. */ + face_index sucks = get_builtin_face_cache_index (w, Vtext_cursor_face); + cursor_cachel = WINDOW_FACE_CACHEL (w, sucks); + + /* We have to reset this since any call to WINDOW_FACE_CACHEL + may cause the cache to resize and any pointers to it to + become invalid. */ + cachel = WINDOW_FACE_CACHEL (w, findex); + } + +#ifdef HAVE_XIM + if (cursor && focus && (cursor_start == clip_start) && cursor_height) + XIM_SetSpotLocation (f, xpos - 2, dl->ypos + dl->descent - 2); +#endif /* HAVE_XIM */ + + bg_pmap = cachel->background_pixmap; + if (!IMAGE_INSTANCEP (bg_pmap) + || !IMAGE_INSTANCE_PIXMAP_TYPE_P (XIMAGE_INSTANCE (bg_pmap))) + bg_pmap = Qnil; + + if ((cursor && focus && NILP (bar_cursor_value) + && !NILP (w->text_cursor_visible_p)) || NILP (bg_pmap)) + bgc = 0; + else + bgc = XLIKE_get_gc (d, Qnil, cachel->foreground, cachel->background, + bg_pmap, Qnil); + + if (bgc) + { + XLIKE_FILL_RECTANGLE (dpy, x_win, bgc, clip_start, + ypos, clip_end - clip_start, + height); + } + + nruns = separate_textual_runs (text_storage, runs, Dynarr_atp (buf, 0), + Dynarr_length (buf), cachel); + + for (i = 0; i < nruns; i++) + { + Lisp_Object font = FACE_CACHEL_FONT (cachel, runs[i].charset); + Lisp_Font_Instance *fi = XFONT_INSTANCE (font); + int this_width; + int need_clipping; + + if (EQ (font, Vthe_null_font_instance)) + continue; + + this_width = XLIKE_text_width_single_run (f, cachel, runs + i); + need_clipping = (dl->clip || clip_start > xpos || + clip_end < xpos + this_width); + + /* XDrawImageString only clears the area equal to the height of + the given font. It is possible that a font is being displayed + on a line taller than it is, so this would cause us to fail to + clear some areas. */ + if ((int) fi->height < (int) (height + dl->clip + + XLIKE_DISPLAY_LINE_TOP_CLIP (dl))) + { + int clear_start = max (xpos, clip_start); + int clear_end = min (xpos + this_width, clip_end); + + if (cursor) + { + int ypos1_line, ypos1_string, ypos2_line, ypos2_string; + + ypos1_string = dl->ypos - fi->ascent; + ypos2_string = dl->ypos + fi->descent; + ypos1_line = ypos; + ypos2_line = ypos1_line + height; + + /* Make sure we don't clear below the real bottom of the + line. */ + if (ypos1_string > ypos2_line) + ypos1_string = ypos2_line; + if (ypos2_string > ypos2_line) + ypos2_string = ypos2_line; + + if (ypos1_line < ypos1_string) + { + redisplay_clear_region (window, findex, clear_start, ypos1_line, + clear_end - clear_start, + ypos1_string - ypos1_line); + } + + if (ypos2_line > ypos2_string) + { + redisplay_clear_region (window, findex, clear_start, ypos2_string, + clear_end - clear_start, + ypos2_line - ypos2_string); + } + } + else + { + redisplay_clear_region (window, findex, clear_start, + ypos, clear_end - clear_start, + height); + } + } + + if (cursor && cursor_cachel && focus && NILP (bar_cursor_value)) + { +#ifdef USE_XFT + fg = XFT_FROB_LISP_COLOR (cursor_cachel->foreground, 0); + bg = XFT_FROB_LISP_COLOR (cursor_cachel->background, 0); +#endif + gc = XLIKE_get_gc (d, font, cursor_cachel->foreground, + cursor_cachel->background, Qnil, Qnil); + } + else if (cachel->dim) + { + /* Ensure the gray bitmap exists */ + if (DEVICE_XLIKE_GRAY_PIXMAP (d) == XLIKE_NONE) + DEVICE_XLIKE_GRAY_PIXMAP (d) = +#ifdef THIS_IS_X + XCreateBitmapFromData (dpy, x_win, (char *)gray_bits, + gray_width, gray_height) +#else + /* #### FIXME! Implement me! */ + XLIKE_NONE +#endif + ; + + /* Request a GC with the gray stipple pixmap to draw dimmed text */ +#ifdef USE_XFT + fg = XFT_FROB_LISP_COLOR (cachel->foreground, 1); + bg = XFT_FROB_LISP_COLOR (cachel->background, 0); +#endif + gc = XLIKE_get_gc (d, font, cachel->foreground, cachel->background, + Qdim, Qnil); + } + else + { +#ifdef USE_XFT + fg = XFT_FROB_LISP_COLOR (cachel->foreground, 0); + bg = XFT_FROB_LISP_COLOR (cachel->background, 0); +#endif + gc = XLIKE_get_gc (d, font, cachel->foreground, cachel->background, + Qnil, Qnil); + } +#ifdef USE_XFT + { + XftFont *rf = FONT_INSTANCE_X_XFTFONT (fi); + + if (rf) + { + use_x_font = 0; + if (need_clipping) + { + Region clip_reg = XCreateRegion(); + XRectangle clip_box = { clip_start, ypos, + clip_end - clip_start, height }; + + XUnionRectWithRegion (&clip_box, clip_reg, clip_reg); + XftDrawSetClip(xftDraw, clip_reg); + XDestroyRegion(clip_reg); + } + + if (!bgc) + { + /* #### Neither rect_height nor XftTextExtents as computed + below handles the vertical space taken up by antialiasing, + which for some fonts (eg, Bitstream Vera Sans Mono-16 on + my Mac PowerBook G4) leaves behind orphaned dots on + insertion or deletion earlier in the line, especially in + the case of the underscore character. + Interestingly, insertion or deletion of a single character + immediately after a refresh does not leave any droppings, + but any further insertions or deletions do. + While adding a pixel to rect_height (mostly) takes care of + this, it trashes aggressively laid-out elements like the + modeline (overwriting part of the bevel). + OK, unconditionally redraw the bevel, and increment + rect_height by 1. See x_output_display_block. -- sjt */ + struct textual_run *run = &runs[i]; + int rect_width = x_text_width_single_run (f, cachel, run); +#ifndef USE_XFTTEXTENTS_TO_AVOID_FONT_DROPPINGS + int rect_height = FONT_INSTANCE_ASCENT(fi) + + FONT_INSTANCE_DESCENT(fi) + 1; +#else + int rect_height = FONT_INSTANCE_ASCENT(fi) + + FONT_INSTANCE_DESCENT(fi); + XGlyphInfo gi; + if (run->dimension == 2) { + XftTextExtents16 (dpy, + FONT_INSTANCE_X_XFTFONT(fi), + (XftChar16 *) run->ptr, run->len, &gi); + } else { + XftTextExtents8 (dpy, + FONT_INSTANCE_X_XFTFONT(fi), + run->ptr, run->len, &gi); + } + rect_height = rect_height > gi.height + ? rect_height : gi.height; +#endif + + XftDrawRect (xftDraw, &bg, + xpos, ypos, rect_width, rect_height); + } + + if (runs[i].dimension == 1) + XftDrawString8 (xftDraw, &fg, rf, xpos, dl->ypos, + runs[i].ptr, runs[i].len); + else + XftDrawString16 (xftDraw, &fg, rf, xpos, dl->ypos, + (XftChar16 *) runs[i].ptr, runs[i].len); + } + } +#endif /* USE_XFT */ + +#ifdef THIS_IS_X + if (use_x_font) +#endif + { + if (need_clipping) + { + XLIKE_RECTANGLE clip_box; + + clip_box.x = 0; + clip_box.y = 0; + clip_box.width = clip_end - clip_start; + clip_box.height = height; + + XLIKE_SET_CLIP_RECTANGLE (dpy, gc, clip_start, ypos, &clip_box); + } + +#ifdef THIS_IS_X + if (runs[i].dimension == 1) + (bgc ? XDrawString : XDrawImageString) + (dpy, x_win, gc, xpos, dl->ypos, + (char *) runs[i].ptr, runs[i].len); + else + (bgc ? XDrawString16 : XDrawImageString16) + (dpy, x_win, gc, xpos, dl->ypos, + (XChar2b *) runs[i].ptr, runs[i].len); +#else /* THIS_IS_GTK */ + + /* The X specific called different functions (XDraw*String + vs. XDraw*String16), but apparently gdk_draw_text takes care + of that for us. + + BUT, gdk_draw_text also does too much, by dividing the length + by 2. So we fake them out my multiplying the length by the + dimension of the text. This will do the right thing for + single-dimension runs as well of course. + */ + (bgc ? gdk_draw_text : gdk_draw_text_image) + (GDK_DRAWABLE (x_win), FONT_INSTANCE_GTK_FONT (fi), gc, xpos, + dl->ypos, (char *) runs[i].ptr, runs[i].len * runs[i].dimension); +#endif /* (not) THIS_IS_X */ + } + + /* We draw underlines in the same color as the text. */ + if (cachel->underline) + { + int upos, uthick; +#ifdef THIS_IS_X + unsigned long upos_ext, uthick_ext; + XFontStruct *fs = + use_x_font ? FONT_INSTANCE_X_FONT (XFONT_INSTANCE (font)) : 0; + /* #### the logic of the next two may be suboptimal: we may want + to use the POSITION and/or THICKNESS information with Xft */ + if (fs && XGetFontProperty (fs, XA_UNDERLINE_POSITION, &upos_ext)) + upos = (int) upos_ext; + else +#else /* THIS_IS_GTK */ + /* Cannot get at font properties in Gtk, so we resort to + guessing */ +#endif /* THIS_IS_GTK */ + upos = dl->descent / 2; +#ifdef THIS_IS_X + if (fs && XGetFontProperty (fs, XA_UNDERLINE_THICKNESS, &uthick_ext)) + uthick = (int) uthick_ext; + else +#endif /* THIS_IS_X */ + uthick = 1; + if (dl->ypos + upos < dl->ypos + dl->descent - dl->clip) + { + if (dl->ypos + upos + uthick > dl->ypos + dl->descent - dl->clip) + uthick = dl->descent - dl->clip - upos; + + if (uthick == 1) + { + XLIKE_DRAW_LINE (dpy, x_win, gc, xpos, dl->ypos + upos, + xpos + this_width, dl->ypos + upos); + } + else if (uthick > 1) + { + XLIKE_FILL_RECTANGLE (dpy, x_win, gc, xpos, + dl->ypos + upos, this_width, uthick); + } + } + } + + if (cachel->strikethru) + { +#ifdef THIS_IS_X + int ascent, descent, upos, uthick; + unsigned long ascent_ext, descent_ext, uthick_ext; + XFontStruct *fs = FONT_INSTANCE_X_FONT (fi); +#else /* THIS_IS_GTK */ + gint ascent, descent, upos, uthick; + GdkFont *gfont = FONT_INSTANCE_GTK_FONT (fi); +#endif /* THIS_IS_GTK */ + +#ifdef THIS_IS_X + if (!use_x_font) + { + ascent = dl->ascent; + descent = dl->descent; + uthick = 1; + } + else + { + if (!XGetFontProperty (fs, XA_STRIKEOUT_ASCENT, &ascent_ext)) + ascent = fs->ascent; + else + ascent = (int) ascent_ext; + if (!XGetFontProperty (fs, XA_STRIKEOUT_DESCENT, &descent_ext)) + descent = fs->descent; + else + descent = (int) descent_ext; + if (!XGetFontProperty (fs, XA_UNDERLINE_THICKNESS, &uthick_ext)) + uthick = 1; + else + uthick = (int) uthick_ext; + } +#else /* THIS_IS_GTK */ + /* Cannot get at font properties in Gtk, so we resort to + guessing */ + + ascent = gfont->ascent; + descent = gfont->descent; + uthick = 1; +#endif /* THIS_IS_GTK */ + + upos = ascent - ((ascent + descent) / 2) + 1; + + /* Generally, upos will be positive (above the baseline),so + subtract */ + if (dl->ypos - upos < dl->ypos + dl->descent - dl->clip) + { + if (dl->ypos - upos + uthick > dl->ypos + dl->descent - dl->clip) + uthick = dl->descent - dl->clip + upos; + + if (uthick == 1) + XLIKE_DRAW_LINE (dpy, x_win, gc, xpos, dl->ypos - upos, + xpos + this_width, dl->ypos - upos); + else if (uthick > 1) + XLIKE_FILL_RECTANGLE (dpy, x_win, gc, xpos, dl->ypos + upos, + this_width, uthick); + } + } + + /* Restore the GC */ + if (need_clipping) + { +#ifdef USE_XFT + if (!use_x_font) + { + XftDrawSetClip (xftDraw, 0); + } + else +#endif + XLIKE_CLEAR_CLIP_MASK (dpy, gc); + } + + /* If we are actually superimposing the cursor then redraw with just + the appropriate section highlighted. */ + if (cursor_clip && !cursor && focus && cursor_cachel) + { +#ifdef USE_XFT + if (!use_x_font) /* Xft */ + { + XftFont *rf = FONT_INSTANCE_X_XFTFONT (fi); + + { /* set up clipping */ + Region clip_reg = XCreateRegion(); + XRectangle clip_box = { cursor_start, ypos, + cursor_width, height }; + + XUnionRectWithRegion (&clip_box, clip_reg, clip_reg); + XftDrawSetClip(xftDraw, clip_reg); + XDestroyRegion(clip_reg); + } + { /* draw background rectangle & draw text */ + int rect_height = FONT_INSTANCE_ASCENT(fi) + + FONT_INSTANCE_DESCENT(fi); + int rect_width = x_text_width_single_run(f, cachel, &runs[i]); + XftColor xft_color; + + xft_color = XFT_FROB_LISP_COLOR (cursor_cachel->background, 0); + XftDrawRect (xftDraw, &xft_color, + xpos, ypos, rect_width, rect_height); + + xft_color = XFT_FROB_LISP_COLOR (cursor_cachel->foreground, 0); + if (runs[i].dimension == 1) + XftDrawString8 (xftDraw, &xft_color, rf, xpos, dl->ypos, + runs[i].ptr, runs[i].len); + else + XftDrawString16 (xftDraw, &xft_color, rf, xpos, dl->ypos, + (XftChar16 *) runs[i].ptr, runs[i].len); + } + + XftDrawSetClip(xftDraw, 0); + } + else /* core font, not Xft */ +#endif /* USE_XFT */ + { + XLIKE_RECTANGLE clip_box; + XLIKE_GC cgc; + cgc = XLIKE_get_gc (d, font, cursor_cachel->foreground, + cursor_cachel->background, Qnil, Qnil); + + clip_box.x = 0; + clip_box.y = 0; + clip_box.width = cursor_width; + clip_box.height = height; + + XLIKE_SET_CLIP_RECTANGLE (dpy, cgc, cursor_start, ypos, + &clip_box); +#ifdef THIS_IS_X + if (runs[i].dimension == 1) + XDrawImageString (dpy, x_win, cgc, xpos, dl->ypos, + (char *) runs[i].ptr, runs[i].len); + else + XDrawImageString16 (dpy, x_win, cgc, xpos, dl->ypos, + (XChar2b *) runs[i].ptr, runs[i].len); +#else + /* The X specific called different functions (XDraw*String + vs. XDraw*String16), but apparently gdk_draw_text takes care + of that for us. + + BUT, gdk_draw_text also does too much, by dividing the + length by 2. So we fake them out my multiplying the + length by the dimension of the text. This will do the + right thing for single-dimension runs as well of course. + */ + gdk_draw_text_image (GDK_DRAWABLE (x_win), + FONT_INSTANCE_GTK_FONT (fi), cgc, xpos, + dl->ypos, (char *) runs[i].ptr, + runs[i].len * runs[i].dimension); +#endif /* (not) THIS_IS_X */ + + XLIKE_CLEAR_CLIP_MASK (dpy, cgc); + } + } + + xpos += this_width; + } + + /* Draw the non-focus box or bar-cursor as needed. */ + /* Can't this logic be simplified? */ + if (cursor_cachel + && ((cursor && !focus && NILP (bar_cursor_value)) + || (cursor_width + && (cursor_start + cursor_width >= clip_start) + && !NILP (bar_cursor_value)))) + { + int tmp_height, tmp_y; + int bar_width = EQ (bar_cursor_value, Qt) ? 1 : 2; + int need_clipping = (cursor_start < clip_start + || clip_end < cursor_start + cursor_width); + + /* #### This value is correct (as far as I know) because + all of the times we need to draw this cursor, we will + be called with exactly one character, so we know we + can always use runs[0]. + + This is bogus as all hell, however. The cursor handling in + this function is way bogus and desperately needs to be + cleaned up. (In particular, the drawing of the cursor should + really really be separated out of this function. This may be + a bit tricky now because this function itself does way too + much stuff, a lot of which needs to be moved into + redisplay.c.) This is the only way to be able to easily add + new cursor types or (e.g.) make the bar cursor be able to + span two characters instead of overlaying just one. */ + int bogusly_obtained_ascent_value = + XFONT_INSTANCE (FACE_CACHEL_FONT (cachel, runs[0].charset))->ascent; + + if (!NILP (bar_cursor_value)) + { + gc = XLIKE_get_gc (d, Qnil, cursor_cachel->background, Qnil, Qnil, + make_int (bar_width)); + } + else + { + gc = XLIKE_get_gc (d, Qnil, cursor_cachel->background, + Qnil, Qnil, Qnil); + } + + tmp_y = dl->ypos - bogusly_obtained_ascent_value; + tmp_height = cursor_height; + if (tmp_y + tmp_height > (int) (ypos + height)) + { + tmp_y = ypos + height - tmp_height; + if (tmp_y < (int) ypos) + tmp_y = ypos; + tmp_height = ypos + height - tmp_y; + } + + if (need_clipping) + { + XLIKE_RECTANGLE clip_box; + clip_box.x = 0; + clip_box.y = 0; + clip_box.width = clip_end - clip_start; + clip_box.height = tmp_height; + XLIKE_SET_CLIP_RECTANGLE (dpy, gc, clip_start, tmp_y, &clip_box); + } + + if (!focus && NILP (bar_cursor_value)) + { + XLIKE_DRAW_RECTANGLE (dpy, x_win, gc, cursor_start, tmp_y, + cursor_width - 1, tmp_height - 1); + } + else if (focus && !NILP (bar_cursor_value)) + { + XLIKE_DRAW_LINE (dpy, x_win, gc, cursor_start + bar_width - 1, tmp_y, + cursor_start + bar_width - 1, + tmp_y + tmp_height - 1); + } + + /* Restore the GC */ + if (need_clipping) + { + XLIKE_CLEAR_CLIP_MASK (dpy, gc); + } + } + +#ifdef USE_XFT +#undef XFT_FROB_LISP_COLOR +#endif +} + +#ifdef THIS_IS_GTK +static void +our_draw_bitmap (GdkDrawable *drawable, + GdkGC *gc, + GdkPixmap *src, + gint xsrc, + gint ysrc, + gint xdest, + gint ydest, + gint width, + gint height); +#endif /* THIS_IS_GTK */ + + +void +XLIKE_OUTPUT_XLIKE_PIXMAP (struct frame *f, Lisp_Image_Instance *p, int x, + int y, int xoffset, int yoffset, + int width, int height, + XLIKE_PIXCOLOR fg, XLIKE_PIXCOLOR bg, + XLIKE_GC override_gc) +{ + struct device *d = XDEVICE (f->device); + XLIKE_DISPLAY dpy = GET_XLIKE_DISPLAY (d); + XLIKE_WINDOW x_win = GET_XLIKE_WINDOW (f); + XLIKE_GC gc; + XLIKE_GCVALUES gcv; + unsigned long pixmap_mask; + + if (!override_gc) + { + memset (&gcv, ~0, sizeof (gcv)); + gcv.graphics_exposures = XLIKE_FALSE; + XLIKE_SET_PIXCOLOR_COPY (gcv.foreground, fg); + XLIKE_SET_PIXCOLOR_COPY (gcv.background, bg); + pixmap_mask = XLIKE_GC_FOREGROUND | XLIKE_GC_BACKGROUND | XLIKE_GC_EXPOSURES; + + if (IMAGE_INSTANCE_XLIKE_MASK (p)) + { + gcv.function = XLIKE_GX_COPY; + gcv.clip_mask = IMAGE_INSTANCE_XLIKE_MASK (p); + gcv.clip_x_origin = x - xoffset; + gcv.clip_y_origin = y - yoffset; + pixmap_mask |= (XLIKE_GC_FUNCTION | XLIKE_GC_CLIP_MASK | + XLIKE_GC_CLIP_X_ORIGIN | + XLIKE_GC_CLIP_Y_ORIGIN); + /* Can't set a clip rectangle below because we already have a mask. + We could conceivably create a new clipmask by zeroing out + everything outside the clip region. Is it worth it? + Is it possible to get an equivalent effect by changing the + args to XCopyArea below rather than messing with a clip box? + - dkindred@cs.cmu.edu + Yes. We don't clip at all now - andy@xemacs.org + */ + } + + gc = gc_cache_lookup (DEVICE_XLIKE_GC_CACHE (d), &gcv, pixmap_mask); + } + else + { + gc = override_gc; + /* override_gc might have a mask already--we don't want to nuke it. + Maybe we can insist that override_gc have no mask, or use + one of the suggestions above. */ + } + +#ifdef THIS_IS_X + /* depth of 0 means it's a bitmap, not a pixmap, and we should use + XCopyPlane (1 = current foreground color, 0 = background) instead + of XCopyArea, which means that the bits in the pixmap are actual + pixel values, instead of symbolic of fg/bg. */ +#endif /* THIS_IS_X */ + if (IMAGE_INSTANCE_PIXMAP_DEPTH (p) > 0) + { +#ifdef THIS_IS_X + XCopyArea (dpy, + IMAGE_INSTANCE_X_PIXMAP_SLICE + (p, IMAGE_INSTANCE_PIXMAP_SLICE (p)), x_win, gc, xoffset, + yoffset, width, + height, x, y); +#else /* THIS_IS_GTK */ + gdk_draw_pixmap (GDK_DRAWABLE (x_win), gc, + IMAGE_INSTANCE_GTK_PIXMAP (p), + xoffset, yoffset, x, y, width, height); +#endif /* THIS_IS_GTK */ + } + else + { +#ifdef THIS_IS_X + XCopyPlane (dpy, IMAGE_INSTANCE_X_PIXMAP_SLICE + (p, IMAGE_INSTANCE_PIXMAP_SLICE (p)), x_win, gc, + xoffset, yoffset, width, height, x, y, 1L); +#else /* THIS_IS_GTK */ + our_draw_bitmap (GDK_DRAWABLE (x_win), gc, + IMAGE_INSTANCE_GTK_PIXMAP (p), + xoffset, yoffset, x, y, width, height); +#endif /* THIS_IS_GTK */ + } +} + +static void +XLIKE_output_pixmap (struct window *w, Lisp_Object image_instance, + struct display_box *db, struct display_glyph_area *dga, + face_index findex, int cursor_start, int cursor_width, + int cursor_height, int UNUSED (bg_pixmap)) +{ + struct frame *f = XFRAME (w->frame); + struct device *d = XDEVICE (f->device); + Lisp_Image_Instance *p = XIMAGE_INSTANCE (image_instance); + XLIKE_DISPLAY dpy = GET_XLIKE_DISPLAY (d); + XLIKE_WINDOW x_win = GET_XLIKE_WINDOW (f); + + /* Output the pixmap. */ + { + Lisp_Object tmp_pixel; + XLIKE_COLOR tmp_bcolor, tmp_fcolor; + + tmp_pixel = WINDOW_FACE_CACHEL_FOREGROUND (w, findex); + tmp_fcolor = XCOLOR_INSTANCE_XLIKE_COLOR (tmp_pixel); + tmp_pixel = WINDOW_FACE_CACHEL_BACKGROUND (w, findex); + tmp_bcolor = XCOLOR_INSTANCE_XLIKE_COLOR (tmp_pixel); + + XLIKE_OUTPUT_XLIKE_PIXMAP (f, p, db->xpos, db->ypos, + dga->xoffset, dga->yoffset, + dga->width, dga->height, + XLIKE_COLOR_TO_PIXCOLOR (tmp_fcolor), + XLIKE_COLOR_TO_PIXCOLOR (tmp_bcolor), 0); + } + + /* Draw a cursor over top of the pixmap. */ + if (cursor_width && cursor_height && (cursor_start >= db->xpos) + && !NILP (w->text_cursor_visible_p) + && (cursor_start < db->xpos + dga->width)) + { + XLIKE_GC gc; + int focus = EQ (w->frame, DEVICE_FRAME_WITH_FOCUS_REAL (d)); + struct face_cachel *cursor_cachel = + WINDOW_FACE_CACHEL (w, + get_builtin_face_cache_index + (w, Vtext_cursor_face)); + + gc = XLIKE_get_gc (d, Qnil, cursor_cachel->background, Qnil, Qnil, Qnil); + + if (cursor_width > db->xpos + dga->width - cursor_start) + cursor_width = db->xpos + dga->width - cursor_start; + + if (focus) + XLIKE_FILL_RECTANGLE (dpy, x_win, gc, cursor_start, db->ypos, + cursor_width, cursor_height); + else + { + XLIKE_DRAW_RECTANGLE (dpy, x_win, gc, cursor_start, db->ypos, + cursor_width, cursor_height); + } + } +} + +/***************************************************************************** + XLIKE_output_vertical_divider + + Draw a vertical divider down the right side of the given window. + ****************************************************************************/ +static void +XLIKE_output_vertical_divider (struct window *w, int USED_IF_X(clear)) +{ + struct frame *f = XFRAME (w->frame); + struct device *d = XDEVICE (f->device); + + XLIKE_DISPLAY dpy = GET_XLIKE_DISPLAY (d); + XLIKE_WINDOW x_win = GET_XLIKE_WINDOW (f); + Lisp_Object tmp_pixel; + XLIKE_GCVALUES gcv; + XLIKE_GC background_gc; +#ifdef THIS_IS_X + enum edge_style style; +#endif /* THIS_IS_X */ + unsigned long mask; + int x, y1, y2, width, shadow_thickness, spacing, line_width; + face_index div_face = + get_builtin_face_cache_index (w, Vvertical_divider_face); + + width = window_divider_width (w); + shadow_thickness = XINT (w->vertical_divider_shadow_thickness); + spacing = XINT (w->vertical_divider_spacing); + line_width = XINT (w->vertical_divider_line_width); + x = WINDOW_RIGHT (w) - width; + y1 = WINDOW_TOP (w); + y2 = WINDOW_BOTTOM (w); + + memset (&gcv, ~0, sizeof (gcv)); + + tmp_pixel = WINDOW_FACE_CACHEL_BACKGROUND (w, div_face); + + /* First, get the GC's. */ + XLIKE_SET_PIXCOLOR_COPY + (gcv.background, + XLIKE_COLOR_TO_PIXCOLOR (XCOLOR_INSTANCE_XLIKE_COLOR (tmp_pixel))); + gcv.foreground = gcv.background; + gcv.graphics_exposures = XLIKE_FALSE; + mask = XLIKE_GC_FOREGROUND | XLIKE_GC_BACKGROUND | XLIKE_GC_EXPOSURES; + + background_gc = gc_cache_lookup (DEVICE_XLIKE_GC_CACHE (d), &gcv, mask); + + /* Clear the divider area first. This needs to be done when a + window split occurs. */ +#ifdef THIS_IS_X + if (clear) + XClearArea (dpy, x_win, x, y1, width, y2 - y1, False); +#else /* THIS_IS_GTK */ + /* if (clear) */ + gdk_draw_rectangle (GDK_DRAWABLE (x_win), background_gc, TRUE, + x, y1, width, y2 - y1); +#endif /* THIS_IS_GTK */ + +#ifndef THIS_IS_GTK + /* #### FIXME Why not? Formerly '#if 0' in the GDK code */ + /* Draw the divider line. */ + XLIKE_FILL_RECTANGLE (dpy, x_win, background_gc, + x + spacing + shadow_thickness, y1, + line_width, y2 - y1); + + /* This code not formerly present in GTK version, maybe the omittal + is intentional? */ + if (shadow_thickness < 0) + { + shadow_thickness = -shadow_thickness; + style = EDGE_BEVEL_IN; + } + else + { + style = EDGE_BEVEL_OUT; + } +#endif /* not THIS_IS_GTK */ + + /* Draw the shadows around the divider line */ +#ifdef THIS_IS_X + x_bevel_area (w, div_face, x + spacing, y1, + width - 2 * spacing, y2 - y1, + shadow_thickness, EDGE_ALL, style); +#else /* THIS_IS_GTK */ + gtk_output_shadows (f, x + spacing, y1, + width - 2 * spacing, y2 - y1, + shadow_thickness); +#endif /* THIS_IS_GTK */ +} + +/***************************************************************************** + XLIKE_output_blank + + Output a blank by clearing the area it covers in the foreground color + of its face. + ****************************************************************************/ +static void +XLIKE_output_blank (struct window *w, struct display_line *dl, struct rune *rb, + int start_pixpos, int cursor_start, int cursor_width) +{ + struct frame *f = XFRAME (w->frame); + struct device *d = XDEVICE (f->device); + + XLIKE_DISPLAY dpy = GET_XLIKE_DISPLAY (d); + XLIKE_WINDOW x_win = GET_XLIKE_WINDOW (f); + XLIKE_GC gc; + struct face_cachel *cursor_cachel = + WINDOW_FACE_CACHEL (w, + get_builtin_face_cache_index + (w, Vtext_cursor_face)); + Lisp_Object bg_pmap; + Lisp_Object buffer = WINDOW_BUFFER (w); + Lisp_Object bar_cursor_value = symbol_value_in_buffer (Qbar_cursor, + buffer); + + int x = rb->xpos; + int y = XLIKE_DISPLAY_LINE_YPOS (dl); + int height = XLIKE_DISPLAY_LINE_HEIGHT (dl); + int width = rb->width; + + /* Unmap all subwindows in the area we are going to blank. */ + redisplay_unmap_subwindows_maybe (f, x, y, width, height); + + if (start_pixpos > x) + { + if (start_pixpos >= (x + width)) + return; + else + { + width -= (start_pixpos - x); + x = start_pixpos; + } + } + + bg_pmap = WINDOW_FACE_CACHEL_BACKGROUND_PIXMAP (w, rb->findex); + if (!IMAGE_INSTANCEP (bg_pmap) + || !IMAGE_INSTANCE_PIXMAP_TYPE_P (XIMAGE_INSTANCE (bg_pmap))) + bg_pmap = Qnil; + + if (NILP (bg_pmap)) + gc = XLIKE_get_gc (d, Qnil, WINDOW_FACE_CACHEL_BACKGROUND (w, rb->findex), + Qnil, Qnil, Qnil); + else + gc = XLIKE_get_gc (d, Qnil, WINDOW_FACE_CACHEL_FOREGROUND (w, rb->findex), + WINDOW_FACE_CACHEL_BACKGROUND (w, rb->findex), bg_pmap, + Qnil); + + XLIKE_FILL_RECTANGLE (dpy, x_win, gc, x, y, width, height); + + /* If this rune is marked as having the cursor, then it is actually + representing a tab. */ + if (!NILP (w->text_cursor_visible_p) + && (rb->cursor_type == CURSOR_ON + || (cursor_width + && (cursor_start + cursor_width > x) + && cursor_start < (x + width)))) + { + int cursor_height, cursor_y; + int focus = EQ (w->frame, DEVICE_FRAME_WITH_FOCUS_REAL (d)); + Lisp_Font_Instance *fi; + + fi = XFONT_INSTANCE (FACE_CACHEL_FONT + (WINDOW_FACE_CACHEL (w, rb->findex), + Vcharset_ascii)); + + gc = XLIKE_get_gc (d, Qnil, cursor_cachel->background, Qnil, Qnil, Qnil); + + cursor_y = dl->ypos - fi->ascent; + cursor_height = fi->height; + if (cursor_y + cursor_height > y + height) + cursor_height = y + height - cursor_y; + + if (focus) + { + if (NILP (bar_cursor_value)) + { + XLIKE_FILL_RECTANGLE (dpy, x_win, gc, cursor_start, cursor_y, + fi->width, cursor_height); + } + else + { + int bar_width = EQ (bar_cursor_value, Qt) ? 1 : 2; + + gc = XLIKE_get_gc (d, Qnil, cursor_cachel->background, + Qnil, Qnil, make_int (bar_width)); + XLIKE_DRAW_LINE (dpy, x_win, gc, cursor_start + bar_width - 1, + cursor_y, cursor_start + bar_width - 1, + cursor_y + cursor_height - 1); + } + } + else if (NILP (bar_cursor_value)) + { + XLIKE_DRAW_RECTANGLE (dpy, x_win, gc, cursor_start, cursor_y, + fi->width - 1, cursor_height - 1); + } + } +} + +/***************************************************************************** + XLIKE_output_horizontal_line + + Output a horizontal line in the foreground of its face. + ****************************************************************************/ +static void +XLIKE_output_horizontal_line (struct window *w, struct display_line *dl, + struct rune *rb) +{ + struct frame *f = XFRAME (w->frame); + struct device *d = XDEVICE (f->device); + + XLIKE_DISPLAY dpy = GET_XLIKE_DISPLAY (d); + XLIKE_WINDOW x_win = GET_XLIKE_WINDOW (f); + XLIKE_GC gc; + + int x = rb->xpos; + int width = rb->width; + int height = XLIKE_DISPLAY_LINE_HEIGHT (dl); + int ypos1, ypos2, ypos3, ypos4; + + ypos1 = XLIKE_DISPLAY_LINE_YPOS (dl); + ypos2 = ypos1 + rb->object.hline.yoffset; + ypos3 = ypos2 + rb->object.hline.thickness; + ypos4 = dl->ypos + dl->descent - dl->clip; + + /* First clear the area not covered by the line. */ + if (height - rb->object.hline.thickness > 0) + { + gc = XLIKE_get_gc (d, Qnil, + WINDOW_FACE_CACHEL_FOREGROUND (w, rb->findex), + Qnil, Qnil, Qnil); + + if (ypos2 - ypos1 > 0) + XLIKE_FILL_RECTANGLE (dpy, x_win, gc, x, ypos1, width, ypos2 - ypos1); + if (ypos4 - ypos3 > 0) + XLIKE_FILL_RECTANGLE (dpy, x_win, gc, x, ypos1, width, ypos2 - ypos1); + } + +#ifdef THIS_IS_GTK + { + GtkStyle *style = FRAME_GTK_TEXT_WIDGET (f)->style; + gtk_paint_hline (style, x_win, GTK_STATE_NORMAL, NULL, + FRAME_GTK_TEXT_WIDGET (f), "hline", x, x + width, ypos2); + } +#else /* THIS_IS_X */ + /* Now draw the line. */ + gc = XLIKE_get_gc (d, Qnil, WINDOW_FACE_CACHEL_BACKGROUND (w, rb->findex), + Qnil, Qnil, Qnil); + + if (ypos2 < ypos1) + ypos2 = ypos1; + if (ypos3 > ypos4) + ypos3 = ypos4; + + if (ypos3 - ypos2 > 0) + XLIKE_FILL_RECTANGLE (dpy, x_win, gc, x, ypos2, width, ypos3 - ypos2); +#endif /* THIS_IS_X */ +} + +/**************************************************************************** + XLIKE_clear_region + + Clear the area in the box defined by the given parameters using the + given face. + ****************************************************************************/ +static void +XLIKE_clear_region (Lisp_Object UNUSED (locale), struct device* d, + struct frame* f, face_index UNUSED (findex), int x, int y, + int width, int height, Lisp_Object fcolor, + Lisp_Object bcolor, Lisp_Object background_pixmap) +{ + XLIKE_DISPLAY dpy = GET_XLIKE_DISPLAY (d); + XLIKE_WINDOW x_win = GET_XLIKE_WINDOW (f); + XLIKE_GC gc = NULL; + + if (!UNBOUNDP (background_pixmap)) + { + gc = XLIKE_get_gc (d, Qnil, fcolor, bcolor, background_pixmap, Qnil); + } + + if (gc) + XLIKE_FILL_RECTANGLE (dpy, x_win, gc, x, y, width, height); + else + XLIKE_CLEAR_AREA (dpy, x_win, x, y, width, height); +} + +/***************************************************************************** + xlike_output_eol_cursor + + Draw a cursor at the end of a line. The end-of-line cursor is + narrower than the normal cursor. + ****************************************************************************/ +static void +XLIKE_output_eol_cursor (struct window *w, struct display_line *dl, int xpos, + face_index findex) +{ + struct frame *f = XFRAME (w->frame); + struct device *d = XDEVICE (f->device); + Lisp_Object window; + + XLIKE_DISPLAY dpy = GET_XLIKE_DISPLAY (d); + XLIKE_WINDOW x_win = GET_XLIKE_WINDOW (f); + XLIKE_GC gc = NULL; + face_index elt = get_builtin_face_cache_index (w, Vtext_cursor_face); + struct face_cachel *cursor_cachel = WINDOW_FACE_CACHEL (w, elt); + + int focus = EQ (w->frame, DEVICE_FRAME_WITH_FOCUS_REAL (d)); + Lisp_Object bar_cursor_value = symbol_value_in_buffer (Qbar_cursor, + WINDOW_BUFFER (w)); + + int x = xpos; + int y = XLIKE_DISPLAY_LINE_YPOS (dl); + int width = EOL_CURSOR_WIDTH; + int height = XLIKE_DISPLAY_LINE_HEIGHT (dl); + int cursor_height, cursor_y; + int defheight, defascent; + + window = wrap_window (w); + redisplay_clear_region (window, findex, x, y, width, height); + + if (NILP (w->text_cursor_visible_p)) + return; + + gc = XLIKE_get_gc (d, Qnil, cursor_cachel->background, Qnil, Qnil, Qnil); + + default_face_font_info (window, &defascent, 0, &defheight, 0, 0); + + /* make sure the cursor is entirely contained between y and y+height */ + cursor_height = min (defheight, height); + cursor_y = max (y, min (y + height - cursor_height, + dl->ypos - defascent)); + + if (focus) + { +#ifdef HAVE_XIM + XIM_SetSpotLocation (f, x - 2 , cursor_y + cursor_height - 2); +#endif /* HAVE_XIM */ + + if (NILP (bar_cursor_value)) + { + XLIKE_FILL_RECTANGLE (dpy, x_win, gc, x, cursor_y, width, + cursor_height); + } + else + { + int bar_width = EQ (bar_cursor_value, Qt) ? 1 : 2; + + gc = XLIKE_get_gc (d, Qnil, cursor_cachel->background, Qnil, Qnil, + make_int (bar_width)); + XLIKE_DRAW_LINE (dpy, x_win, gc, x + bar_width - 1, cursor_y, + x + bar_width - 1, cursor_y + cursor_height - 1); + } + } + else if (NILP (bar_cursor_value)) + { + XLIKE_DRAW_RECTANGLE (dpy, x_win, gc, x, cursor_y, width - 1, + cursor_height - 1); + } +} + +static void +XLIKE_clear_frame_window (Lisp_Object window) +{ + struct window *w = XWINDOW (window); + + if (!NILP (w->vchild)) + { + XLIKE_clear_frame_windows (w->vchild); + return; + } + + if (!NILP (w->hchild)) + { + XLIKE_clear_frame_windows (w->hchild); + return; + } + + redisplay_clear_to_window_end (w, WINDOW_TEXT_TOP (w), + WINDOW_TEXT_BOTTOM (w)); +} + +static void +XLIKE_clear_frame_windows (Lisp_Object window) +{ + for (; !NILP (window); window = XWINDOW (window)->next) + XLIKE_clear_frame_window (window); +} + +static void +XLIKE_clear_frame (struct frame *f) +{ + XLIKE_DISPLAY dpy = GET_XLIKE_DISPLAY (XDEVICE (f->device)); + XLIKE_WINDOW x_win = GET_XLIKE_WINDOW (f); + int x, y, width, height; + Lisp_Object frame; + + x = FRAME_LEFT_BORDER_START (f); + width = (FRAME_PIXWIDTH (f) - FRAME_REAL_LEFT_TOOLBAR_WIDTH (f) - + FRAME_REAL_RIGHT_TOOLBAR_WIDTH (f) - + 2 * FRAME_REAL_LEFT_TOOLBAR_BORDER_WIDTH (f) - + 2 * FRAME_REAL_RIGHT_TOOLBAR_BORDER_WIDTH (f)); + /* #### This adjustment by 1 should be being done in the macros. + There is some small differences between when the menubar is on + and off that we still need to deal with. */ + y = FRAME_TOP_BORDER_START (f) - 1; + height = (FRAME_PIXHEIGHT (f) - FRAME_REAL_TOP_TOOLBAR_HEIGHT (f) - + FRAME_REAL_BOTTOM_TOOLBAR_HEIGHT (f) - + 2 * FRAME_REAL_TOP_TOOLBAR_BORDER_WIDTH (f) - + 2 * FRAME_REAL_BOTTOM_TOOLBAR_BORDER_WIDTH (f)) + 1; + + XLIKE_CLEAR_AREA (dpy, x_win, x, y, width, height); + + frame = wrap_frame (f); + + if (!UNBOUNDP (FACE_BACKGROUND_PIXMAP (Vdefault_face, frame)) + || !UNBOUNDP (FACE_BACKGROUND_PIXMAP (Vleft_margin_face, frame)) + || !UNBOUNDP (FACE_BACKGROUND_PIXMAP (Vright_margin_face, frame))) + { + XLIKE_clear_frame_windows (f->root_window); + } +#ifdef THIS_IS_X + { + struct device *d = XDEVICE (f->device); + if (!(check_if_pending_expose_event (d))) + XFlush (DEVICE_X_DISPLAY (d)); + } +#endif /* THIS_IS_X */ +} + +/* briefly swap the foreground and background colors. + */ + +static int +XLIKE_flash (struct device *d) +{ + struct frame *f = device_selected_frame (d); + XLIKE_DISPLAY dpy = GET_XLIKE_DISPLAY (d); + XLIKE_WINDOW win = GET_XLIKE_WINDOW (f); + XLIKE_GC gc = NULL; + XLIKE_GCVALUES gcv; + XLIKE_COLOR tmp_fcolor, tmp_bcolor; + Lisp_Object tmp_pixel, frame; + struct window *w = XWINDOW (FRAME_ROOT_WINDOW (f)); + int flash_height; + + frame = wrap_frame (f); + + tmp_pixel = FACE_FOREGROUND (Vdefault_face, frame); + XLIKE_SET_PIXCOLOR_COPY (tmp_fcolor, + XCOLOR_INSTANCE_XLIKE_COLOR (tmp_pixel)); + tmp_pixel = FACE_BACKGROUND (Vdefault_face, frame); + XLIKE_SET_PIXCOLOR_COPY (tmp_bcolor, + XCOLOR_INSTANCE_XLIKE_COLOR (tmp_pixel)); + memset (&gcv, ~0, sizeof (gcv)); /* initialize all slots to ~0 */ + XLIKE_SET_PIXCOLOR_NUM (gcv.foreground, + (tmp_fcolor.pixel ^ tmp_bcolor.pixel)); + gcv.function = XLIKE_GX_XOR; + gcv.graphics_exposures = XLIKE_FALSE; + gc = gc_cache_lookup (DEVICE_XLIKE_GC_CACHE (XDEVICE (f->device)), &gcv, + XLIKE_GC_FOREGROUND | XLIKE_GC_FUNCTION | XLIKE_GC_EXPOSURES); + default_face_height_and_width (frame, &flash_height, 0); + + /* If window is tall, flash top and bottom line. */ + if (EQ (Vvisible_bell, Qtop_bottom) && w->pixel_height > 3 * flash_height) + { + XLIKE_FILL_RECTANGLE (dpy, win, gc, w->pixel_left, w->pixel_top, + w->pixel_width, flash_height); + XLIKE_FILL_RECTANGLE (dpy, win, gc, w->pixel_left, + w->pixel_top + w->pixel_height - flash_height, + w->pixel_width, flash_height); + } + else + /* If it is short, flash it all. */ + XLIKE_FILL_RECTANGLE (dpy, win, gc, w->pixel_left, w->pixel_top, + w->pixel_width, w->pixel_height); + + XLIKE_FLUSH (dpy); + +#ifdef HAVE_SELECT + { + int usecs = 100000; + struct timeval tv; + tv.tv_sec = usecs / 1000000L; + tv.tv_usec = usecs % 1000000L; + /* I'm sure someone is going to complain about this... */ + select (0, 0, 0, 0, &tv); + } +#else +#ifdef HAVE_POLL + poll (0, 0, 100); +#else /* !HAVE_POLL */ +#error bite me +#endif /* HAVE_POLL */ +#endif /* HAVE_SELECT */ + + /* If window is tall, flash top and bottom line. */ + if (EQ (Vvisible_bell, Qtop_bottom) && w->pixel_height > 3 * flash_height) + { + XLIKE_FILL_RECTANGLE (dpy, win, gc, w->pixel_left, w->pixel_top, + w->pixel_width, flash_height); + XLIKE_FILL_RECTANGLE (dpy, win, gc, w->pixel_left, + w->pixel_top + w->pixel_height - flash_height, + w->pixel_width, flash_height); + } + else + /* If it is short, flash it all. */ + XLIKE_FILL_RECTANGLE (dpy, win, gc, w->pixel_left, w->pixel_top, + w->pixel_width, w->pixel_height); + + XLIKE_FLUSH (dpy); + + return 1; +} + + +/************************************************************************/ +/* initialization */ +/************************************************************************/ + +void +console_type_create_redisplay_XLIKE (void) +{ + /* redisplay methods */ + XLIKE_CONSOLE_HAS_METHOD (text_width); + XLIKE_CONSOLE_HAS_METHOD (output_display_block); + XLIKE_CONSOLE_HAS_METHOD (divider_height); + XLIKE_CONSOLE_HAS_METHOD (eol_cursor_width); + XLIKE_CONSOLE_HAS_METHOD (output_vertical_divider); + XLIKE_CONSOLE_HAS_METHOD (clear_region); + XLIKE_CONSOLE_HAS_METHOD (clear_frame); + XLIKE_CONSOLE_HAS_METHOD (flash); + XLIKE_CONSOLE_HAS_METHOD (ring_bell); + XLIKE_CONSOLE_HAS_METHOD (bevel_area); + XLIKE_CONSOLE_HAS_METHOD (output_string); + XLIKE_CONSOLE_HAS_METHOD (output_pixmap); + +#ifdef THIS_IS_X + XLIKE_CONSOLE_HAS_METHOD (window_output_begin); + XLIKE_CONSOLE_HAS_METHOD (window_output_end); +#endif +}
--- a/src/redisplay.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/redisplay.c Sun Jan 24 22:06:20 2010 -0600 @@ -1,7 +1,7 @@ /* Display generation from window structure and buffer text. Copyright (C) 1994, 1995, 1996 Board of Trustees, University of Illinois. Copyright (C) 1995 Free Software Foundation, Inc. - Copyright (C) 1995, 1996, 2000, 2001, 2002, 2003, 2005 Ben Wing. + Copyright (C) 1995, 1996, 2000, 2001, 2002, 2003, 2005, 2010 Ben Wing. Copyright (C) 1995 Sun Microsystems, Inc. Copyright (C) 1996 Chuck Thompson. @@ -640,9 +640,9 @@ window = wrap_window (w); ensure_face_cachel_complete (WINDOW_FACE_CACHEL (w, findex), window, charsets); - return DEVMETH (XDEVICE (FRAME_DEVICE (XFRAME (WINDOW_FRAME (w)))), - text_width, (XFRAME (WINDOW_FRAME (w)), - WINDOW_FACE_CACHEL (w, findex), str, len)); + return DEVMETH (WINDOW_XDEVICE (w), + text_width, (w, WINDOW_FACE_CACHEL (w, findex), str, + len)); } static Ichar_dynarr *rtw_ichar_dynarr; @@ -690,7 +690,12 @@ NILP (window) ? frame : window, charsets); return DEVMETH (XDEVICE (FRAME_DEVICE (XFRAME (frame))), - text_width, (XFRAME (frame), + /* #### Not clear if we're always passed a window, but + I think so. If not, we will get an abort here, + and then we need to either fix the callers to pass in + a window, or change *text_width() to take a domain + argument. */ + text_width, (XWINDOW (window), &cachel, Dynarr_atp (rtw_ichar_dynarr, 0), Dynarr_length (rtw_ichar_dynarr)));
--- a/src/syswindows.h Sun Jan 24 19:56:31 2010 +0000 +++ b/src/syswindows.h Sun Jan 24 22:06:20 2010 -0600 @@ -1238,7 +1238,7 @@ /* in win32.c */ Extbyte *mswindows_get_module_file_name (void); -void mswindows_output_last_error (char *frob); +void mswindows_output_last_error (const Ascbyte *frob); DECLARE_DOESNT_RETURN (mswindows_report_process_error (const char *string, Lisp_Object data, int errnum));
--- a/src/win32.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/win32.c Sun Jan 24 22:06:20 2010 -0600 @@ -289,7 +289,7 @@ } void -mswindows_output_last_error (char *frob) +mswindows_output_last_error (const Ascbyte *frob) { int errval = GetLastError (); Lisp_Object errmess = mswindows_lisp_error (errval); @@ -418,7 +418,7 @@ static Ibyte * mswindows_read_link_1 (const Ibyte *fname) { -#ifdef NO_CYGWIN_COM_SUPPORT +#if defined (NO_CYGWIN_COM_SUPPORT) || !defined (HAVE_MS_WINDOWS) return NULL; #else Ibyte *retval = NULL;
--- a/src/window.c Sun Jan 24 19:56:31 2010 +0000 +++ b/src/window.c Sun Jan 24 22:06:20 2010 -0600 @@ -1048,7 +1048,7 @@ } int -window_scrollbar_width (struct window *w) +window_scrollbar_width (struct window * USED_IF_SCROLLBARS (w)) { #ifdef HAVE_SCROLLBARS if (!WINDOW_WIN_P (w) @@ -1067,7 +1067,7 @@ /* Horizontal scrollbars are only active on windows with truncation turned on. */ int -window_scrollbar_height (struct window *w) +window_scrollbar_height (struct window * USED_IF_SCROLLBARS (w)) { #ifdef HAVE_SCROLLBARS if (!WINDOW_WIN_P (w) @@ -1274,7 +1274,8 @@ } static int -window_left_window_gutter_width (struct window *w, int modeline) +window_left_window_gutter_width (struct window *w, + int USED_IF_SCROLLBARS (modeline)) { if (!NILP (w->hchild) || !NILP (w->vchild)) return 0; @@ -1294,7 +1295,8 @@ } static int -window_right_window_gutter_width (struct window *w, int modeline) +window_right_window_gutter_width (struct window *w, + int USED_IF_SCROLLBARS (modeline)) { int gutter = 0;